@import '_content/Z.Blazor.Diagrams/Z.Blazor.Diagrams.ezdqu7jd9f.bundle.scp.css';

/* /Components/Layout/ChangePasswordModal.razor.rz.scp.css */
#change-password-modal[b-qyqjrt0vll] {
    background-color: white;
    width: 32rem;
    margin: 12vh auto;
    padding: 1.5rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 6px 18px rgba(0,0,0,0.35);
    opacity: 0;
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
}

#change-password-modal[open][b-qyqjrt0vll] {
    opacity: 1;
    transform: translateY(0);
}

#change-password-modal[b-qyqjrt0vll]::backdrop {
    background-color: rgba(0, 0, 0, 0.45);
}

/* Basic modal-content minor padding adjustments */
#change-password-modal .modal-content[b-qyqjrt0vll] {
    max-width: 100%;
}
/* /Components/Layout/EmptyLayout.razor.rz.scp.css */
/* ===========================
   EmptyLayout - Scoped Styles
   Layout without sidebar: just @Body
   Each page handles its own layout/background
   =========================== */

#blazor-error-ui[b-89tozeakzw] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-89tozeakzw] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-05yy9g4u9y] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-05yy9g4u9y] {
    flex: 1;
}

/* PageToolbar estende il proprio sfondo ai lati con uno pseudo-elemento largo 100vw per parte
   (components.css §PAGE TOOLBAR). `clip` taglia l'eccedenza senza creare un contenitore di
   scroll — `hidden` lo creerebbe e spegnerebbe lo sticky della toolbar, dei totali e della card
   impostazioni. */
article.content[b-05yy9g4u9y] {
    overflow-x: clip;
}

.sidebar[b-05yy9g4u9y] {
    background-color: #0B243E;
    display: flex;
    flex-direction: column;
}

.top-row[b-05yy9g4u9y] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    /* Token e non letterale: PageToolbar e DocumentSettingsCard si agganciano SOTTO questa barra
       e ne leggono l'altezza da design-system.css. */
    height: var(--topbar-height);
    display: flex;
    align-items: center;
}

    .top-row .user-info[b-05yy9g4u9y] {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-size: 0.9rem;
    }

    .top-row[b-05yy9g4u9y]  a, .top-row[b-05yy9g4u9y]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-05yy9g4u9y]  a:hover, .top-row[b-05yy9g4u9y]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-05yy9g4u9y]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-05yy9g4u9y] {
        justify-content: space-between;
    }

    .top-row[b-05yy9g4u9y]  a, .top-row[b-05yy9g4u9y]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-05yy9g4u9y] {
        flex-direction: row;
    }

    .sidebar[b-05yy9g4u9y] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
        transition: width 0.3s ease;
    }

    /* Collapsed sidebar - narrower width */
    .sidebar:has(.nav-scrollable.collapsed)[b-05yy9g4u9y] {
        width: 80px;
    }

    .top-row[b-05yy9g4u9y] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-05yy9g4u9y]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-05yy9g4u9y], article[b-05yy9g4u9y] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-05yy9g4u9y] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-05yy9g4u9y] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-fdyf7lhme5] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0; /* Flat Industrial - no rounded corners */
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-fdyf7lhme5] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-fdyf7lhme5] {
    min-height: 3.5rem;
    background-color: var(--color-primary, #0B243E);
}

.navbar-brand[b-fdyf7lhme5] {
    font-size: 1.1rem;
    color: white !important;
    font-weight: 600;
}

/* Collapse Button Styles */
.btn-collapse[b-fdyf7lhme5] {
    background: transparent;
    border: none;
    color: white;
    cursor: pointer;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease;
    border-radius: 4px;
}

.btn-collapse:hover[b-fdyf7lhme5] {
    background-color: rgba(255, 255, 255, 0.1);
}

/* Hide collapse button on mobile (when hamburger is visible) */
@media (max-width: 640.98px) {
    .btn-collapse[b-fdyf7lhme5] {
        display: none;
    }
}

/* Menu Group Styles */
.menu-group[b-fdyf7lhme5] {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 12px 16px;
    margin: 4px 0;
    background: transparent;
    border: none;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.95rem;
    color: white !important;
    text-align: left;
    transition: all 0.2s ease;
}

.menu-group:hover[b-fdyf7lhme5] {
    background: rgba(255, 255, 255, 0.1);
}

/* Stato attivo del gruppo corrente: stesso idioma di .menu-item (accento a
   sinistra col colore azione), che lo stato attivo lo aveva gia'. Il
   border-left trasparente sulla voce a riposo evita lo scatto di 3px in
   larghezza quando il gruppo diventa attivo. */
.menu-group[b-fdyf7lhme5] {
    border-left: 3px solid transparent;
}

.menu-group.active[b-fdyf7lhme5] {
    background: rgba(255, 255, 255, 0.15);
    border-left-color: var(--color-action, #B22222);
}

/* Menu icon styles - 24x24px (updated) */
.menu-icon[b-fdyf7lhme5] {
    display: inline-flex;
    align-items: center;
    margin-right: 12px;
    width: 24px;
    height: 24px;
}

    .menu-icon svg[b-fdyf7lhme5] {
        width: 24px;
        height: 24px;
        stroke: white;
    }

.menu-text[b-fdyf7lhme5] {
    flex: 1;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Menu Items Container */
.menu-items[b-fdyf7lhme5] {
    margin: 0;
    padding: 0;
}

/* Menu Item Styles */
.menu-item[b-fdyf7lhme5] {
    display: block;
    padding: 10px 16px 10px 48px;
    color: #d7d7d7 !important;
    text-decoration: none;
    font-size: 0.9rem;
    transition: all 0.2s ease;
    border-left: 3px solid transparent;
}

    .menu-item:hover[b-fdyf7lhme5] {
        background-color: rgba(255, 255, 255, 0.1);
        color: white !important;
        border-left-color: var(--color-action, #B22222);
    }

    .menu-item.active[b-fdyf7lhme5] {
        background-color: rgba(255, 255, 255, 0.15);
        color: white !important;
        border-left-color: var(--color-action, #B22222);
        font-weight: 600;
    }

.menu-item-text[b-fdyf7lhme5] {
    display: block;
}

/* Folder Styles */
.menu-folder[b-fdyf7lhme5] {
    margin: 0;
}

.menu-subitems[b-fdyf7lhme5] {
    margin-left: 16px;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.menu-subitem[b-fdyf7lhme5] {
    padding-left: 32px;
    font-size: 0.85rem;
}

/* Loading & Error States */
.spinner-border-sm[b-fdyf7lhme5] {
    width: 1rem;
    height: 1rem;
}

.alert[b-fdyf7lhme5] {
    border-radius: 0; /* Flat Industrial */
    font-size: 0.85rem;
}

/* Navigation Item Base */
.nav-item[b-fdyf7lhme5] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-fdyf7lhme5] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-fdyf7lhme5] {
        padding-bottom: 1rem;
    }

/* Scrollable Container */
.nav-scrollable[b-fdyf7lhme5] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-fdyf7lhme5] {
    display: block;
}

/* Desktop: Handle collapsed state */
@media (min-width: 641px) {
    .navbar-toggler[b-fdyf7lhme5] {
        display: none;
    }

    .nav-scrollable[b-fdyf7lhme5] {
        display: block;
        flex: 1 1 auto;
        height: auto;
        max-height: calc(100vh - 3.5rem - 4rem);
        overflow-y: auto;
        /* Custom scrollbar for modern look */
        scrollbar-width: thin;
        scrollbar-color: rgba(255, 255, 255, 0.3) transparent;
    }

        .nav-scrollable[b-fdyf7lhme5]::-webkit-scrollbar {
            width: 6px;
        }

        .nav-scrollable[b-fdyf7lhme5]::-webkit-scrollbar-track {
            background: transparent;
        }

        .nav-scrollable[b-fdyf7lhme5]::-webkit-scrollbar-thumb {
            background-color: rgba(255, 255, 255, 0.3);
            border-radius: 0; /* Flat Industrial */
        }

            .nav-scrollable[b-fdyf7lhme5]::-webkit-scrollbar-thumb:hover {
                background-color: rgba(255, 255, 255, 0.5);
            }

    /* When collapsed, hide menu text and center icons */
    .nav-scrollable.collapsed .menu-text[b-fdyf7lhme5] {
        display: none;
    }

    .nav-scrollable.collapsed .menu-group[b-fdyf7lhme5] {
        justify-content: center;
    }

    .nav-scrollable.collapsed .menu-icon[b-fdyf7lhme5] {
        margin-right: 0;
    }
}

/* Mobile: Always show menu text regardless of collapsed state */
@media (max-width: 640.98px) {
    .menu-text[b-fdyf7lhme5] {
        display: block !important;
    }
}

/* Sidebar Footer with Logout */
.sidebar-footer[b-fdyf7lhme5] {
    margin-top: auto;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding: 0.5rem;
}

.logout-button[b-fdyf7lhme5] {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 12px 16px;
    background: transparent;
    border: none;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.95rem;
    color: white !important;
    text-align: left;
    transition: all 0.2s ease;
}

    .logout-button:hover[b-fdyf7lhme5] {
        background: rgba(178, 34, 34, 0.2);
        color: #ffb3b3 !important;
    }

        .logout-button:hover .menu-icon svg[b-fdyf7lhme5] {
            stroke: #ffb3b3;
        }

/* Mobile: hide footer if menu toggler is closed */
@media (max-width: 640.98px) {
    .sidebar-footer[b-fdyf7lhme5] {
        display: none;
    }

    .navbar-toggler:checked ~ .sidebar-footer[b-fdyf7lhme5] {
        display: block;
    }
}

/* Desktop collapsed state: hide text, center icon */
@media (min-width: 641px) {
    .sidebar-footer.collapsed .menu-text[b-fdyf7lhme5] {
        display: none;
    }

    .sidebar-footer.collapsed .logout-button[b-fdyf7lhme5] {
        justify-content: center;
    }

    .sidebar-footer.collapsed .menu-icon[b-fdyf7lhme5] {
        margin-right: 0;
    }
}

/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-9qug7801nb],
.components-reconnect-repeated-attempt-visible[b-9qug7801nb],
.components-reconnect-failed-visible[b-9qug7801nb],
.components-pause-visible[b-9qug7801nb],
.components-resume-failed-visible[b-9qug7801nb],
.components-rejoining-animation[b-9qug7801nb] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-9qug7801nb],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-9qug7801nb],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-9qug7801nb],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-9qug7801nb],
#components-reconnect-modal.components-reconnect-retrying[b-9qug7801nb],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-9qug7801nb],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-9qug7801nb],
#components-reconnect-modal.components-reconnect-failed[b-9qug7801nb],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-9qug7801nb] {
    display: block;
}


#components-reconnect-modal[b-9qug7801nb] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-9qug7801nb 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-9qug7801nb 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-9qug7801nb 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-9qug7801nb]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-9qug7801nb 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-9qug7801nb {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-9qug7801nb {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-9qug7801nb {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-9qug7801nb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-9qug7801nb] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-9qug7801nb] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-9qug7801nb] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-9qug7801nb] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-9qug7801nb] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-9qug7801nb] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-9qug7801nb 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-9qug7801nb] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-9qug7801nb {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Common/AgentContactSites.razor.rz.scp.css */
/* ===========================
   AgentContactSites - Scoped Styles
   Flat Industrial Minimal
   Convenzioni allineate a AgentEdit.razor.css (stessa area, stesso idioma
   detail-table): il CSS di Blazor è scoped, quindi ogni classe usata dalla
   pagina va definita qui — non esiste un foglio globale che le fornisca.
   =========================== */

/* Page Container */
.page-container[b-hxmmtx9u8z] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Header */
.page-header[b-hxmmtx9u8z] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.btn-back[b-hxmmtx9u8z] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: none;
    border: var(--border-width-thin) solid var(--border-color-light);
    color: var(--text-muted);
    text-decoration: none;
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
    flex-shrink: 0;
    margin-top: 2px;
}

.btn-back:hover[b-hxmmtx9u8z] {
    color: var(--color-primary);
    border-color: var(--color-primary);
    background-color: var(--color-gray-50);
    text-decoration: none;
}

.page-header-text[b-hxmmtx9u8z] {
    flex: 1;
    min-width: 0;
}

.page-header-actions[b-hxmmtx9u8z] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-shrink: 0;
}

.page-title[b-hxmmtx9u8z] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-hxmmtx9u8z] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-hxmmtx9u8z] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.subtitle-code[b-hxmmtx9u8z] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    background-color: var(--color-gray-100);
    padding: 1px var(--space-2);
    color: var(--color-primary);
    opacity: 0.7;
}

/* Alert Bars */
.alert-bar[b-hxmmtx9u8z] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-hxmmtx9u8z] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-hxmmtx9u8z] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-hxmmtx9u8z] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-hxmmtx9u8z] {
    opacity: 1;
}

/* Loading State */
.loading-state[b-hxmmtx9u8z] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

/* Sections */
.form-section[b-hxmmtx9u8z] {
    margin-bottom: var(--space-6);
    padding: var(--space-6);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* ---------------------------------------------------------------
   Stato "nessun vincolo".
   L'assenza di sedi NON è un elenco vuoto qualunque: è la configurazione di
   default e significa competenza su TUTTE le sedi del cliente. Per questo non
   usa lo stile smorto dell'empty-state generico ma un blocco informativo con
   barra laterale, allo stesso livello visivo del contenuto.
   --------------------------------------------------------------- */
.empty-competence[b-hxmmtx9u8z] {
    padding: var(--space-6);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-left: var(--border-width-thick) solid var(--color-info);
    margin-bottom: var(--space-6);
}

.empty-competence-title[b-hxmmtx9u8z] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-3) 0;
}

.empty-competence-text[b-hxmmtx9u8z] {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    line-height: 1.6;
}

/* Nota sopra l'elenco quando il vincolo è attivo */
.competence-hint[b-hxmmtx9u8z] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    margin: 0 0 var(--space-4) 0;
    padding: var(--space-3) var(--space-4);
    background-color: var(--color-gray-50);
    border-left: var(--border-width-thick) solid var(--color-warning);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    line-height: 1.6;
}

/* Detail Table (idioma condiviso con AgentEdit) */
.detail-table[b-hxmmtx9u8z] {
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
}

.detail-table-header[b-hxmmtx9u8z] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    background-color: var(--color-gray-100);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.detail-table-row[b-hxmmtx9u8z] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    font-size: var(--font-size-sm);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.detail-table-row:hover[b-hxmmtx9u8z] {
    background-color: rgba(11, 36, 62, 0.02);
}

.detail-col[b-hxmmtx9u8z] {
    min-width: 0;
}

.detail-col-code[b-hxmmtx9u8z] {
    flex: 0 0 100px;
}

.detail-col-indicator[b-hxmmtx9u8z] {
    flex: 0 0 90px;
}

.detail-col-name[b-hxmmtx9u8z] {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.detail-col-actions[b-hxmmtx9u8z] {
    flex: 0 0 40px;
    display: flex;
    justify-content: flex-end;
}

.item-code[b-hxmmtx9u8z] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    background-color: var(--color-gray-100);
    padding: 1px var(--space-2);
    color: var(--color-primary);
}

/* Icon Buttons */
.btn-icon[b-hxmmtx9u8z] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover:not(:disabled)[b-hxmmtx9u8z] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
}

.btn-icon-danger:hover:not(:disabled)[b-hxmmtx9u8z] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.btn-icon-sm[b-hxmmtx9u8z] {
    width: 30px;
    height: 30px;
}

.btn-icon:disabled[b-hxmmtx9u8z] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Responsive */
@media (max-width: 768px) {
    .page-header[b-hxmmtx9u8z] {
        flex-wrap: wrap;
    }

    .page-header-actions[b-hxmmtx9u8z] {
        width: 100%;
    }

    .detail-col-indicator[b-hxmmtx9u8z] {
        display: none;
    }
}
/* /Components/Pages/Common/AgentCreate.razor.rz.scp.css */
/* ===========================
   AgentCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-wz2qtrresp] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bars */
.alert-bar[b-wz2qtrresp] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-wz2qtrresp] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-wz2qtrresp] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-wz2qtrresp] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-wz2qtrresp] {
    margin-bottom: var(--space-6);
    padding: var(--space-6);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-wz2qtrresp] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-wz2qtrresp] {
    color: var(--color-primary);
    opacity: 0.6;
}

/* Form Grid */
.form-grid[b-wz2qtrresp] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-4);
}

.form-group[b-wz2qtrresp] {
    display: flex;
    flex-direction: column;
}

.form-label[b-wz2qtrresp] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-wz2qtrresp] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-wz2qtrresp] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

/* Buttons */
.btn-action[b-wz2qtrresp] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-wz2qtrresp] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    box-shadow: var(--shadow-sm);
}

.btn-outline-primary[b-wz2qtrresp] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-wz2qtrresp] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Validation */
[b-wz2qtrresp] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-wz2qtrresp] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Common/AgentEdit.razor.rz.scp.css */
/* ===========================
   AgentEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-iec80r7zdx] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-iec80r7zdx] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    background-color: var(--color-gray-100);
    padding: 1px var(--space-2);
    color: var(--color-primary);
    opacity: 0.7;
}

/* Alert Bars */
.alert-bar[b-iec80r7zdx] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-iec80r7zdx] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-iec80r7zdx] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-iec80r7zdx] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-iec80r7zdx] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-iec80r7zdx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-iec80r7zdx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-iec80r7zdx] {
    opacity: 0.4;
}

.empty-state-text[b-iec80r7zdx] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-iec80r7zdx] {
    margin-bottom: var(--space-6);
    padding: var(--space-6);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-header[b-iec80r7zdx] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-4);
}

.section-title[b-iec80r7zdx] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-header .section-title[b-iec80r7zdx] {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.section-title svg[b-iec80r7zdx] {
    color: var(--color-primary);
    opacity: 0.6;
}

/* Form Grid */
.form-grid[b-iec80r7zdx] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-4);
}

.form-group[b-iec80r7zdx] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-iec80r7zdx] {
    grid-column: 1 / -1;
}

.form-label[b-iec80r7zdx] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-iec80r7zdx] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-iec80r7zdx] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control-static[b-iec80r7zdx] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-weight: var(--font-weight-medium);
}

/* Buttons */
.btn-action[b-iec80r7zdx] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-iec80r7zdx] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    box-shadow: var(--shadow-sm);
}

.btn-sm[b-iec80r7zdx] {
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
}

.btn-outline-primary[b-iec80r7zdx] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-iec80r7zdx] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* ─── Detail Table (AgentContacts) ─────────────────────── */

.detail-loading[b-iec80r7zdx] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-4) 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.detail-empty[b-iec80r7zdx] {
    padding: var(--space-4) 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    text-align: center;
}

.detail-table[b-iec80r7zdx] {
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
}

.detail-table-header[b-iec80r7zdx] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    background-color: var(--color-gray-100);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.detail-table-row[b-iec80r7zdx] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    font-size: var(--font-size-sm);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.detail-table-row:hover[b-iec80r7zdx] {
    background-color: rgba(11, 36, 62, 0.02);
}

.detail-col[b-iec80r7zdx] {
    min-width: 0;
}

.detail-col-indicator[b-iec80r7zdx] {
    flex: 0 0 90px;
}

.detail-col-code[b-iec80r7zdx] {
    flex: 0 0 140px;
}

.detail-col-name[b-iec80r7zdx] {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.detail-col-actions[b-iec80r7zdx] {
    flex: 0 0 40px;
    display: flex;
    justify-content: flex-end;
}

/* Visibilità prezzo (flg_prezzo_ord) */
.detail-col-prices[b-iec80r7zdx] {
    flex: 0 0 70px;
    display: flex;
    align-items: center;
}

/* Sedi di competenza: "Tutte" = nessun vincolo */
.detail-col-sites[b-iec80r7zdx] {
    flex: 0 0 90px;
    display: flex;
    align-items: center;
}

.sites-link[b-iec80r7zdx] {
    color: var(--color-primary, #2563eb);
    text-decoration: none;
    font-size: .8125rem;
}

.sites-link:hover[b-iec80r7zdx] {
    text-decoration: underline;
}

/* Nessun vincolo: tono neutro, non è uno stato "configurato" */
.sites-link-all[b-iec80r7zdx] {
    color: var(--color-text-muted, #6b7280);
    font-style: italic;
}

/* Toggle compatto per la riga della tabella */
.toggle-switch-sm[b-iec80r7zdx] {
    position: relative;
    display: inline-block;
    width: 34px;
    height: 18px;
    cursor: pointer;
}

.toggle-switch-sm input[b-iec80r7zdx] {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-slider-sm[b-iec80r7zdx] {
    position: absolute;
    inset: 0;
    background-color: var(--color-border, #cbd5e1);
    transition: background-color .15s ease;
}

.toggle-slider-sm[b-iec80r7zdx]::before {
    content: "";
    position: absolute;
    height: 14px;
    width: 14px;
    left: 2px;
    top: 2px;
    background-color: #fff;
    transition: transform .15s ease;
}

.toggle-switch-sm input:checked + .toggle-slider-sm[b-iec80r7zdx] {
    background-color: var(--color-primary, #2563eb);
}

.toggle-switch-sm input:checked + .toggle-slider-sm[b-iec80r7zdx]::before {
    transform: translateX(16px);
}

.toggle-switch-sm input:disabled + .toggle-slider-sm[b-iec80r7zdx] {
    opacity: .5;
    cursor: not-allowed;
}

.item-code[b-iec80r7zdx] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

/* Badge Indicator */
.badge-indicator[b-iec80r7zdx] {
    display: inline-block;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.3px;
}

.badge-cliente[b-iec80r7zdx] {
    background-color: #e3f2fd;
    color: #1565c0;
}

.badge-fornitore[b-iec80r7zdx] {
    background-color: #fff3e0;
    color: #e65100;
}

/* Icon Buttons */
.btn-icon[b-iec80r7zdx] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-iec80r7zdx] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
}

.btn-icon-danger:hover[b-iec80r7zdx] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.btn-icon-sm[b-iec80r7zdx] {
    width: 30px;
    height: 30px;
}

/* Overlay & Dialog */
.overlay[b-iec80r7zdx] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-iec80r7zdx] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.dialog-wide[b-iec80r7zdx] {
    max-width: 500px;
    text-align: left;
}

.confirm-icon[b-iec80r7zdx] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-iec80r7zdx] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-iec80r7zdx] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-iec80r7zdx] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-iec80r7zdx] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-iec80r7zdx] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Dialog Form */
.dialog-form[b-iec80r7zdx] {
    display: flex;
    gap: var(--space-4);
    margin-top: var(--space-4);
}

.dialog-form .form-group[b-iec80r7zdx] {
    flex: 1;
}

/* Validation */
[b-iec80r7zdx] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-iec80r7zdx] {
        grid-template-columns: 1fr;
    }
    .detail-table-header[b-iec80r7zdx],
    .detail-table-row[b-iec80r7zdx] {
        flex-wrap: wrap;
    }

    .dialog-form[b-iec80r7zdx] {
        flex-direction: column;
    }
}
/* /Components/Pages/Common/AgentList.razor.rz.scp.css */
/* ===========================
   AgentList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-86al26voqr] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-86al26voqr] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-86al26voqr] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-86al26voqr] {
    background-color: var(--color-action-active);
}

.btn-sm[b-86al26voqr] {
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
}

/* Alert Bars */
.alert-bar[b-86al26voqr] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-86al26voqr] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-86al26voqr] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-86al26voqr] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-86al26voqr] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-86al26voqr] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-86al26voqr] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-86al26voqr] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-86al26voqr] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-86al26voqr]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-86al26voqr] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-86al26voqr] {
    color: var(--color-primary);
}

.search-count[b-86al26voqr] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-86al26voqr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-86al26voqr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-86al26voqr] {
    opacity: 0.4;
}

.empty-state-text[b-86al26voqr] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-86al26voqr] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Block (row + detail panel) */
.item-block[b-86al26voqr] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.item-block:last-child[b-86al26voqr] {
    border-bottom: none;
}

/* Item Row */
.item-row[b-86al26voqr] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:hover[b-86al26voqr] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Expand Button */
.btn-expand[b-86al26voqr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: none;
    border: var(--border-width-thin) solid var(--border-color-light);
    cursor: pointer;
    color: var(--text-muted);
    flex-shrink: 0;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-expand:hover[b-86al26voqr] {
    color: var(--color-primary);
    border-color: var(--color-primary);
    background-color: var(--color-gray-50);
}

.btn-expand svg[b-86al26voqr] {
    transition: transform var(--transition-fast) var(--transition-ease);
}

.chevron-rotated[b-86al26voqr] {
    transform: rotate(90deg);
}

/* Avatar */
.item-avatar[b-86al26voqr] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-86al26voqr] {
    flex: 1;
    min-width: 0;
}

.item-name[b-86al26voqr] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-86al26voqr] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-86al26voqr] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-86al26voqr] {
    color: var(--color-gray-300);
}

/* Action Buttons */
.item-actions[b-86al26voqr] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-86al26voqr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-86al26voqr] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-86al26voqr] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.btn-icon-sm[b-86al26voqr] {
    width: 30px;
    height: 30px;
}

/* ─── Detail Panel (AgentContacts) ─────────────────────── */

.detail-panel[b-86al26voqr] {
    padding: 0 var(--space-4) var(--space-4) var(--space-4);
    margin-left: calc(28px + var(--space-4));
    border-top: var(--border-width-thin) dashed var(--border-color-light);
    background-color: var(--color-gray-50);
}

.detail-header[b-86al26voqr] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-3) 0;
}

.detail-title[b-86al26voqr] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0;
}

.detail-title svg[b-86al26voqr] {
    color: var(--color-primary);
    opacity: 0.6;
}

.detail-loading[b-86al26voqr] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-4) 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.detail-empty[b-86al26voqr] {
    padding: var(--space-4) 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    text-align: center;
}

/* Detail Table */
.detail-table[b-86al26voqr] {
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
}

.detail-table-header[b-86al26voqr] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    background-color: var(--color-gray-100);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.detail-table-row[b-86al26voqr] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    font-size: var(--font-size-sm);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.detail-table-row:hover[b-86al26voqr] {
    background-color: rgba(11, 36, 62, 0.02);
}

.detail-col[b-86al26voqr] {
    min-width: 0;
}

.detail-col-indicator[b-86al26voqr] {
    flex: 0 0 90px;
}

.detail-col-code[b-86al26voqr] {
    flex: 0 0 140px;
}

.detail-col-name[b-86al26voqr] {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.detail-col-actions[b-86al26voqr] {
    flex: 0 0 40px;
    display: flex;
    justify-content: flex-end;
}

/* Badge Indicator */
.badge-indicator[b-86al26voqr] {
    display: inline-block;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.3px;
}

.badge-cliente[b-86al26voqr] {
    background-color: #e3f2fd;
    color: #1565c0;
}

.badge-fornitore[b-86al26voqr] {
    background-color: #fff3e0;
    color: #e65100;
}

/* Overlay & Dialog */
.overlay[b-86al26voqr] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-86al26voqr] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.dialog-wide[b-86al26voqr] {
    max-width: 500px;
    text-align: left;
}

.confirm-icon[b-86al26voqr] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-86al26voqr] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-86al26voqr] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-86al26voqr] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-86al26voqr] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-86al26voqr] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Dialog Form */
.dialog-form[b-86al26voqr] {
    display: flex;
    gap: var(--space-4);
    margin-top: var(--space-4);
}

.dialog-form .form-group[b-86al26voqr] {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.form-label[b-86al26voqr] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-86al26voqr] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-86al26voqr] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

/* Outline Primary Button */
.btn-outline-primary[b-86al26voqr] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-86al26voqr] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Validation */
[b-86al26voqr] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-86al26voqr] {
        flex-wrap: wrap;
    }

    .item-actions[b-86al26voqr] {
        order: 6;
        margin-left: auto;
    }

    .detail-panel[b-86al26voqr] {
        margin-left: 0;
    }

    .detail-table-header[b-86al26voqr],
    .detail-table-row[b-86al26voqr] {
        flex-wrap: wrap;
    }

    .dialog-form[b-86al26voqr] {
        flex-direction: column;
    }
}

/* /Components/Pages/Common/AllergenCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-veb16r6zxy] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-veb16r6zxy] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-veb16r6zxy] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-veb16r6zxy] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-veb16r6zxy] { opacity: 1; }

.form-section[b-veb16r6zxy] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-veb16r6zxy] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-veb16r6zxy] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-veb16r6zxy] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-veb16r6zxy] { display: flex; flex-direction: column; }
.form-group-wide[b-veb16r6zxy] { grid-column: span 2; }
.form-label[b-veb16r6zxy] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-veb16r6zxy] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-veb16r6zxy] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-veb16r6zxy]::placeholder { color: var(--color-gray-400); }
.btn-action[b-veb16r6zxy] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-veb16r6zxy] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-veb16r6zxy] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-veb16r6zxy] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-veb16r6zxy] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-veb16r6zxy] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-veb16r6zxy] { grid-template-columns: 1fr; }
    .form-group-wide[b-veb16r6zxy] { grid-column: span 1; }
}
/* /Components/Pages/Common/AllergenEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-47nxds433w] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-47nxds433w] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-47nxds433w] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-47nxds433w] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-47nxds433w] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-47nxds433w] { opacity: 1; }

.loading-state[b-47nxds433w] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-47nxds433w] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-47nxds433w] { opacity: 0.4; }
.empty-state-text[b-47nxds433w] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-47nxds433w] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-47nxds433w] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-47nxds433w] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-47nxds433w] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-47nxds433w] { display: flex; flex-direction: column; }
.form-group-wide[b-47nxds433w] { grid-column: span 2; }
.form-label[b-47nxds433w] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-47nxds433w] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-47nxds433w] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-47nxds433w]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-47nxds433w] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-47nxds433w] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-47nxds433w] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-47nxds433w] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-47nxds433w] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-47nxds433w] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-47nxds433w] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-47nxds433w] { grid-template-columns: 1fr; }
    .form-group-wide[b-47nxds433w] { grid-column: span 1; }
}
/* /Components/Pages/Common/AllergenList.razor.rz.scp.css */
/* ===========================
   ProductGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-avqu36xm12] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-avqu36xm12] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-avqu36xm12] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-avqu36xm12] { background-color: var(--color-action-active); }

.alert-bar[b-avqu36xm12] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-avqu36xm12] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-avqu36xm12] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-avqu36xm12] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-avqu36xm12] { opacity: 1; }

.search-bar[b-avqu36xm12] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-avqu36xm12] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-avqu36xm12] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-avqu36xm12] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-avqu36xm12]::placeholder { color: var(--text-muted); }
.search-clear[b-avqu36xm12] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-avqu36xm12] { color: var(--color-primary); }
.search-count[b-avqu36xm12] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-avqu36xm12] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-avqu36xm12] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-avqu36xm12] { opacity: 0.4; }
.empty-state-text[b-avqu36xm12] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-avqu36xm12] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-avqu36xm12] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-avqu36xm12] { border-bottom: none; }
.item-row:hover[b-avqu36xm12] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-avqu36xm12] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-avqu36xm12] { flex: 1; min-width: 0; }
.item-name[b-avqu36xm12] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-avqu36xm12] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-avqu36xm12] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-avqu36xm12] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-avqu36xm12] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-avqu36xm12] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-avqu36xm12] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-avqu36xm12] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-avqu36xm12] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-avqu36xm12] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-avqu36xm12] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-avqu36xm12] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-avqu36xm12] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-avqu36xm12] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-avqu36xm12] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-avqu36xm12] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-avqu36xm12] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-avqu36xm12] { flex-wrap: wrap; }
    .item-actions[b-avqu36xm12] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Common/AreaCreate.razor.rz.scp.css */
/* ===========================
   AreaCreate - Scoped Styles (Flat Industrial Minimal)
   =========================== */

.page-container[b-9b7uxur2vn] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-9b7uxur2vn] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-9b7uxur2vn] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-9b7uxur2vn] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-9b7uxur2vn] { opacity: 1; }

.loading-state[b-9b7uxur2vn], .empty-state[b-9b7uxur2vn] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state-text[b-9b7uxur2vn] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-9b7uxur2vn] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-9b7uxur2vn] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }

.form-grid[b-9b7uxur2vn] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-9b7uxur2vn] { display: flex; flex-direction: column; }
.form-group-wide[b-9b7uxur2vn] { grid-column: span 2; }
.form-label[b-9b7uxur2vn] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-9b7uxur2vn] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-9b7uxur2vn] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-9b7uxur2vn]::placeholder { color: var(--color-gray-400); }
.form-hint[b-9b7uxur2vn] { font-size: var(--font-size-xs); color: var(--text-muted); margin-top: var(--space-2); }
.btn[b-9b7uxur2vn] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-5); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; text-decoration: none; border: var(--border-width-thin) solid transparent; }
.btn-action[b-9b7uxur2vn] { background-color: var(--color-action); color: var(--text-on-action); border-color: var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-9b7uxur2vn] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-9b7uxur2vn] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-9b7uxur2vn] { background: transparent; color: var(--color-primary); border-color: var(--color-primary); }
.btn-outline-primary:hover[b-9b7uxur2vn] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-9b7uxur2vn] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-9b7uxur2vn] { grid-template-columns: 1fr; }
    .form-group-wide[b-9b7uxur2vn] { grid-column: span 1; }
}
/* /Components/Pages/Common/AreaEdit.razor.rz.scp.css */
/* ===========================
   AreaEdit - Scoped Styles (Flat Industrial Minimal)
   =========================== */

.page-container[b-r9s6h50e4q] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-r9s6h50e4q] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-r9s6h50e4q] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-r9s6h50e4q] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-r9s6h50e4q] { opacity: 1; }

.loading-state[b-r9s6h50e4q], .empty-state[b-r9s6h50e4q] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state-text[b-r9s6h50e4q] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-r9s6h50e4q] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-r9s6h50e4q] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }

.form-grid[b-r9s6h50e4q] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-r9s6h50e4q] { display: flex; flex-direction: column; }
.form-group-wide[b-r9s6h50e4q] { grid-column: span 2; }
.form-label[b-r9s6h50e4q] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-r9s6h50e4q] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-r9s6h50e4q] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-r9s6h50e4q]::placeholder { color: var(--color-gray-400); }
.form-hint[b-r9s6h50e4q] { font-size: var(--font-size-xs); color: var(--text-muted); margin-top: var(--space-2); }
.btn[b-r9s6h50e4q] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-5); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; text-decoration: none; border: var(--border-width-thin) solid transparent; }
.btn-action[b-r9s6h50e4q] { background-color: var(--color-action); color: var(--text-on-action); border-color: var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-r9s6h50e4q] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-r9s6h50e4q] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-r9s6h50e4q] { background: transparent; color: var(--color-primary); border-color: var(--color-primary); }
.btn-outline-primary:hover[b-r9s6h50e4q] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-r9s6h50e4q] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-r9s6h50e4q] { grid-template-columns: 1fr; }
    .form-group-wide[b-r9s6h50e4q] { grid-column: span 1; }
}
/* /Components/Pages/Common/AreaList.razor.rz.scp.css */
/* ===========================
   AreaList - Scoped Styles (Flat Industrial Minimal)
   =========================== */

.page-container[b-e4t2ojx7o2] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn[b-e4t2ojx7o2] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; text-decoration: none; border: var(--border-width-thin) solid transparent; }
.btn-sm[b-e4t2ojx7o2] { padding: var(--space-1) var(--space-3); font-size: var(--font-size-xs); }
.btn-action[b-e4t2ojx7o2] { background-color: var(--color-action); color: var(--text-on-action); border-color: var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-e4t2ojx7o2] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-outline-primary[b-e4t2ojx7o2] { background: transparent; color: var(--color-primary); border-color: var(--color-primary); }
.btn-outline-primary:hover[b-e4t2ojx7o2] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

.alert-bar[b-e4t2ojx7o2] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-e4t2ojx7o2] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-e4t2ojx7o2] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-e4t2ojx7o2] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-e4t2ojx7o2] { opacity: 1; }

.search-bar[b-e4t2ojx7o2] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-e4t2ojx7o2] { display: flex; align-items: center; flex: 1; position: relative; }
.search-input[b-e4t2ojx7o2] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-e4t2ojx7o2]::placeholder { color: var(--text-muted); }
.search-clear[b-e4t2ojx7o2] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-e4t2ojx7o2] { color: var(--color-primary); }
.search-count[b-e4t2ojx7o2] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-e4t2ojx7o2] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-e4t2ojx7o2] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state-text[b-e4t2ojx7o2] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-e4t2ojx7o2] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-e4t2ojx7o2] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-e4t2ojx7o2] { border-bottom: none; }
.item-row:hover[b-e4t2ojx7o2] { background-color: rgba(11, 36, 62, 0.03); }
.item-info[b-e4t2ojx7o2] { flex: 1; min-width: 0; }
.item-name[b-e4t2ojx7o2] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-e4t2ojx7o2] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-e4t2ojx7o2] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }
.item-detail[b-e4t2ojx7o2] { color: var(--text-secondary); }
.item-actions[b-e4t2ojx7o2] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-e4t2ojx7o2] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-e4t2ojx7o2] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-e4t2ojx7o2] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-e4t2ojx7o2] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-e4t2ojx7o2] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-dialog h3[b-e4t2ojx7o2] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-e4t2ojx7o2] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-e4t2ojx7o2] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-e4t2ojx7o2] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-e4t2ojx7o2] { min-width: 100px; justify-content: center; }

@media (max-width: 768px) {
    .item-row[b-e4t2ojx7o2] { flex-wrap: wrap; }
    .item-actions[b-e4t2ojx7o2] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Common/AreaLotCreate.razor.rz.scp.css */
/* ===========================
   AreaLotCreate - Scoped Styles (Flat Industrial Minimal)
   =========================== */

.page-container[b-a71pq8ukpt] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-a71pq8ukpt] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-a71pq8ukpt] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-a71pq8ukpt] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-a71pq8ukpt] { opacity: 1; }

.loading-state[b-a71pq8ukpt], .empty-state[b-a71pq8ukpt] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state-text[b-a71pq8ukpt] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-a71pq8ukpt] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-a71pq8ukpt] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }

.form-grid[b-a71pq8ukpt] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-a71pq8ukpt] { display: flex; flex-direction: column; }
.form-group-wide[b-a71pq8ukpt] { grid-column: span 2; }
.form-label[b-a71pq8ukpt] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-a71pq8ukpt] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-a71pq8ukpt] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-a71pq8ukpt]::placeholder { color: var(--color-gray-400); }
.form-hint[b-a71pq8ukpt] { font-size: var(--font-size-xs); color: var(--text-muted); margin-top: var(--space-2); }
.btn[b-a71pq8ukpt] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-5); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; text-decoration: none; border: var(--border-width-thin) solid transparent; }
.btn-action[b-a71pq8ukpt] { background-color: var(--color-action); color: var(--text-on-action); border-color: var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-a71pq8ukpt] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-a71pq8ukpt] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-a71pq8ukpt] { background: transparent; color: var(--color-primary); border-color: var(--color-primary); }
.btn-outline-primary:hover[b-a71pq8ukpt] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-a71pq8ukpt] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-a71pq8ukpt] { grid-template-columns: 1fr; }
    .form-group-wide[b-a71pq8ukpt] { grid-column: span 1; }
}
/* /Components/Pages/Common/AreaLotEdit.razor.rz.scp.css */
/* ===========================
   AreaLotEdit - Scoped Styles (Flat Industrial Minimal)
   =========================== */

.page-container[b-plrv6udqdh] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-plrv6udqdh] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-plrv6udqdh] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-plrv6udqdh] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-plrv6udqdh] { opacity: 1; }

.loading-state[b-plrv6udqdh], .empty-state[b-plrv6udqdh] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state-text[b-plrv6udqdh] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-plrv6udqdh] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-plrv6udqdh] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }

.form-grid[b-plrv6udqdh] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-plrv6udqdh] { display: flex; flex-direction: column; }
.form-group-wide[b-plrv6udqdh] { grid-column: span 2; }
.form-label[b-plrv6udqdh] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-plrv6udqdh] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-plrv6udqdh] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-plrv6udqdh]::placeholder { color: var(--color-gray-400); }
.form-hint[b-plrv6udqdh] { font-size: var(--font-size-xs); color: var(--text-muted); margin-top: var(--space-2); }
.btn[b-plrv6udqdh] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-5); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; text-decoration: none; border: var(--border-width-thin) solid transparent; }
.btn-action[b-plrv6udqdh] { background-color: var(--color-action); color: var(--text-on-action); border-color: var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-plrv6udqdh] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-plrv6udqdh] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-plrv6udqdh] { background: transparent; color: var(--color-primary); border-color: var(--color-primary); }
.btn-outline-primary:hover[b-plrv6udqdh] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-plrv6udqdh] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-plrv6udqdh] { grid-template-columns: 1fr; }
    .form-group-wide[b-plrv6udqdh] { grid-column: span 1; }
}
/* /Components/Pages/Common/AreaLotList.razor.rz.scp.css */
/* ===========================
   AreaLotList - Scoped Styles (Flat Industrial Minimal)
   =========================== */

.page-container[b-4masp5uauw] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn[b-4masp5uauw] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; text-decoration: none; border: var(--border-width-thin) solid transparent; }
.btn-sm[b-4masp5uauw] { padding: var(--space-1) var(--space-3); font-size: var(--font-size-xs); }
.btn-action[b-4masp5uauw] { background-color: var(--color-action); color: var(--text-on-action); border-color: var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-4masp5uauw] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-outline-primary[b-4masp5uauw] { background: transparent; color: var(--color-primary); border-color: var(--color-primary); }
.btn-outline-primary:hover[b-4masp5uauw] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

.alert-bar[b-4masp5uauw] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-4masp5uauw] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-4masp5uauw] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-4masp5uauw] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-4masp5uauw] { opacity: 1; }

.loading-state[b-4masp5uauw] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-4masp5uauw] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state-text[b-4masp5uauw] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-4masp5uauw] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-4masp5uauw] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-4masp5uauw] { border-bottom: none; }
.item-row:hover[b-4masp5uauw] { background-color: rgba(11, 36, 62, 0.03); }
.item-info[b-4masp5uauw] { flex: 1; min-width: 0; }
.item-name[b-4masp5uauw] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-4masp5uauw] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-detail[b-4masp5uauw] { color: var(--text-secondary); }
.item-actions[b-4masp5uauw] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-4masp5uauw] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-4masp5uauw] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-4masp5uauw] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-4masp5uauw] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-4masp5uauw] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-dialog h3[b-4masp5uauw] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-4masp5uauw] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-4masp5uauw] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-4masp5uauw] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-4masp5uauw] { min-width: 100px; justify-content: center; }

@media (max-width: 768px) {
    .item-row[b-4masp5uauw] { flex-wrap: wrap; }
    .item-actions[b-4masp5uauw] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Common/AreaLotsMap.razor.rz.scp.css */
/* AreaLotsMap - scoped styles */

.lots-map-page[b-0kr2hpekak] { max-width: 1400px; margin: 0 auto; padding: var(--space-4); }
.lots-map-header[b-0kr2hpekak] { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-3); }
.lots-map-header h3[b-0kr2hpekak] { font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); color: var(--color-primary); margin: 0; }
.lots-map-msg[b-0kr2hpekak] { font-size: var(--font-size-sm); color: var(--text-muted); margin: var(--space-2) 0; }

.btn[b-0kr2hpekak] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-1) var(--space-3); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; text-decoration: none; border: var(--border-width-thin) solid transparent; }
.btn-outline-secondary[b-0kr2hpekak] { background: transparent; color: var(--color-primary); border-color: var(--border-color-light); }
.btn-outline-secondary:hover[b-0kr2hpekak] { background-color: var(--color-gray-100); text-decoration: none; }
/* /Components/Pages/Common/BankBranchCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-iwr9orwpjx] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-iwr9orwpjx] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-iwr9orwpjx] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-iwr9orwpjx] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-iwr9orwpjx] { opacity: 1; }

.form-section[b-iwr9orwpjx] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-iwr9orwpjx] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-iwr9orwpjx] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-iwr9orwpjx] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-iwr9orwpjx] { display: flex; flex-direction: column; }
.form-group-wide[b-iwr9orwpjx] { grid-column: span 2; }
.form-label[b-iwr9orwpjx] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-iwr9orwpjx] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-iwr9orwpjx] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-iwr9orwpjx]::placeholder { color: var(--color-gray-400); }
.btn-action[b-iwr9orwpjx] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-iwr9orwpjx] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-iwr9orwpjx] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-iwr9orwpjx] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-iwr9orwpjx] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-iwr9orwpjx] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-iwr9orwpjx] { grid-template-columns: 1fr; }
    .form-group-wide[b-iwr9orwpjx] { grid-column: span 1; }
}
/* /Components/Pages/Common/BankBranchEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-5qdwtmlhjw] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-5qdwtmlhjw] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-5qdwtmlhjw] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-5qdwtmlhjw] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-5qdwtmlhjw] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-5qdwtmlhjw] { opacity: 1; }

.loading-state[b-5qdwtmlhjw] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-5qdwtmlhjw] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-5qdwtmlhjw] { opacity: 0.4; }
.empty-state-text[b-5qdwtmlhjw] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-5qdwtmlhjw] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-5qdwtmlhjw] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-5qdwtmlhjw] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-5qdwtmlhjw] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-5qdwtmlhjw] { display: flex; flex-direction: column; }
.form-group-wide[b-5qdwtmlhjw] { grid-column: span 2; }
.form-label[b-5qdwtmlhjw] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-5qdwtmlhjw] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-5qdwtmlhjw] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-5qdwtmlhjw]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-5qdwtmlhjw] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-5qdwtmlhjw] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-5qdwtmlhjw] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-5qdwtmlhjw] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-5qdwtmlhjw] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-5qdwtmlhjw] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-5qdwtmlhjw] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-5qdwtmlhjw] { grid-template-columns: 1fr; }
    .form-group-wide[b-5qdwtmlhjw] { grid-column: span 1; }
}
/* /Components/Pages/Common/BankCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-mfa7kd4w84] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-mfa7kd4w84] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-mfa7kd4w84] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-mfa7kd4w84] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-mfa7kd4w84] { opacity: 1; }

.form-section[b-mfa7kd4w84] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-mfa7kd4w84] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-mfa7kd4w84] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-mfa7kd4w84] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-mfa7kd4w84] { display: flex; flex-direction: column; }
.form-group-wide[b-mfa7kd4w84] { grid-column: span 2; }
.form-label[b-mfa7kd4w84] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-mfa7kd4w84] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-mfa7kd4w84] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-mfa7kd4w84]::placeholder { color: var(--color-gray-400); }
.btn-action[b-mfa7kd4w84] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-mfa7kd4w84] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-mfa7kd4w84] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-mfa7kd4w84] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-mfa7kd4w84] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-mfa7kd4w84] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-mfa7kd4w84] { grid-template-columns: 1fr; }
    .form-group-wide[b-mfa7kd4w84] { grid-column: span 1; }
}
/* /Components/Pages/Common/BankEdit.razor.rz.scp.css */
/* ===========================
   AgentEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-aajo8h4vgl] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-aajo8h4vgl] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    background-color: var(--color-gray-100);
    padding: 1px var(--space-2);
    color: var(--color-primary);
    opacity: 0.7;
}

/* Alert Bars */
.alert-bar[b-aajo8h4vgl] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-aajo8h4vgl] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-aajo8h4vgl] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-aajo8h4vgl] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-aajo8h4vgl] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-aajo8h4vgl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-aajo8h4vgl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-aajo8h4vgl] {
    opacity: 0.4;
}

.empty-state-text[b-aajo8h4vgl] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-aajo8h4vgl] {
    margin-bottom: var(--space-6);
    padding: var(--space-6);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-header[b-aajo8h4vgl] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-4);
}

.section-title[b-aajo8h4vgl] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-header .section-title[b-aajo8h4vgl] {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.section-title svg[b-aajo8h4vgl] {
    color: var(--color-primary);
    opacity: 0.6;
}

/* Form Grid */
.form-grid[b-aajo8h4vgl] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-4);
}

.form-group[b-aajo8h4vgl] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-aajo8h4vgl] {
    grid-column: 1 / -1;
}

.form-label[b-aajo8h4vgl] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-aajo8h4vgl] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-aajo8h4vgl] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control-static[b-aajo8h4vgl] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-weight: var(--font-weight-medium);
}

/* Buttons */
.btn-action[b-aajo8h4vgl] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-aajo8h4vgl] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    box-shadow: var(--shadow-sm);
}

.btn-sm[b-aajo8h4vgl] {
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
}

.btn-outline-primary[b-aajo8h4vgl] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-aajo8h4vgl] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* ─── Detail Table (AgentContacts) ─────────────────────── */

.detail-loading[b-aajo8h4vgl] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-4) 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.detail-empty[b-aajo8h4vgl] {
    padding: var(--space-4) 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    text-align: center;
}

.detail-table[b-aajo8h4vgl] {
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
}

.detail-table-header[b-aajo8h4vgl] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    background-color: var(--color-gray-100);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.detail-table-row[b-aajo8h4vgl] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    font-size: var(--font-size-sm);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.detail-table-row:hover[b-aajo8h4vgl] {
    background-color: rgba(11, 36, 62, 0.02);
}

.detail-col[b-aajo8h4vgl] {
    min-width: 0;
}

.detail-col-indicator[b-aajo8h4vgl] {
    flex: 0 0 90px;
}

.detail-col-code[b-aajo8h4vgl] {
    flex: 0 0 140px;
}

.detail-col-name[b-aajo8h4vgl] {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.detail-col-actions[b-aajo8h4vgl] {
    flex: 0 0 40px;
    display: flex;
    justify-content: flex-end;
}

.item-code[b-aajo8h4vgl] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

/* Badge Indicator */
.badge-indicator[b-aajo8h4vgl] {
    display: inline-block;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.3px;
}

.badge-cliente[b-aajo8h4vgl] {
    background-color: #e3f2fd;
    color: #1565c0;
}

.badge-fornitore[b-aajo8h4vgl] {
    background-color: #fff3e0;
    color: #e65100;
}

/* Icon Buttons */
.btn-icon[b-aajo8h4vgl] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-aajo8h4vgl] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
}

.btn-icon-danger:hover[b-aajo8h4vgl] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.btn-icon-sm[b-aajo8h4vgl] {
    width: 30px;
    height: 30px;
}

/* Overlay & Dialog */
.overlay[b-aajo8h4vgl] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-aajo8h4vgl] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.dialog-wide[b-aajo8h4vgl] {
    max-width: 500px;
    text-align: left;
}

.confirm-icon[b-aajo8h4vgl] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-aajo8h4vgl] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-aajo8h4vgl] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-aajo8h4vgl] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-aajo8h4vgl] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-aajo8h4vgl] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Dialog Form */
.dialog-form[b-aajo8h4vgl] {
    display: flex;
    gap: var(--space-4);
    margin-top: var(--space-4);
}

.dialog-form .form-group[b-aajo8h4vgl] {
    flex: 1;
}

/* Validation */
[b-aajo8h4vgl] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-aajo8h4vgl] {
        grid-template-columns: 1fr;
    }
    .detail-table-header[b-aajo8h4vgl],
    .detail-table-row[b-aajo8h4vgl] {
        flex-wrap: wrap;
    }

    .dialog-form[b-aajo8h4vgl] {
        flex-direction: column;
    }
}
/* /Components/Pages/Common/BankList.razor.rz.scp.css */
/* ===========================
   ProductGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-z8deabdv2g] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-z8deabdv2g] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-z8deabdv2g] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-z8deabdv2g] { background-color: var(--color-action-active); }

.alert-bar[b-z8deabdv2g] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-z8deabdv2g] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-z8deabdv2g] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-z8deabdv2g] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-z8deabdv2g] { opacity: 1; }

.search-bar[b-z8deabdv2g] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-z8deabdv2g] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-z8deabdv2g] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-z8deabdv2g] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-z8deabdv2g]::placeholder { color: var(--text-muted); }
.search-clear[b-z8deabdv2g] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-z8deabdv2g] { color: var(--color-primary); }
.search-count[b-z8deabdv2g] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-z8deabdv2g] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-z8deabdv2g] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-z8deabdv2g] { opacity: 0.4; }
.empty-state-text[b-z8deabdv2g] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-z8deabdv2g] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-z8deabdv2g] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-z8deabdv2g] { border-bottom: none; }
.item-row:hover[b-z8deabdv2g] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-z8deabdv2g] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-z8deabdv2g] { flex: 1; min-width: 0; }
.item-name[b-z8deabdv2g] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-z8deabdv2g] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-z8deabdv2g] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-z8deabdv2g] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-z8deabdv2g] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-z8deabdv2g] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-z8deabdv2g] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-z8deabdv2g] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-z8deabdv2g] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-z8deabdv2g] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-z8deabdv2g] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-z8deabdv2g] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-z8deabdv2g] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-z8deabdv2g] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-z8deabdv2g] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-z8deabdv2g] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-z8deabdv2g] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-z8deabdv2g] { flex-wrap: wrap; }
    .item-actions[b-z8deabdv2g] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Common/CalibreCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-1sotorv867] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-1sotorv867] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-1sotorv867] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-1sotorv867] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-1sotorv867] { opacity: 1; }

.form-section[b-1sotorv867] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-1sotorv867] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-1sotorv867] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-1sotorv867] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-1sotorv867] { display: flex; flex-direction: column; }
.form-group-wide[b-1sotorv867] { grid-column: span 2; }
.form-label[b-1sotorv867] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-1sotorv867] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-1sotorv867] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-1sotorv867]::placeholder { color: var(--color-gray-400); }
.btn-action[b-1sotorv867] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-1sotorv867] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-1sotorv867] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-1sotorv867] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-1sotorv867] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-1sotorv867] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-1sotorv867] { grid-template-columns: 1fr; }
    .form-group-wide[b-1sotorv867] { grid-column: span 1; }
}
/* /Components/Pages/Common/CalibreEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-gia6tits4v] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-gia6tits4v] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-gia6tits4v] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-gia6tits4v] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-gia6tits4v] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-gia6tits4v] { opacity: 1; }

.loading-state[b-gia6tits4v] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-gia6tits4v] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-gia6tits4v] { opacity: 0.4; }
.empty-state-text[b-gia6tits4v] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-gia6tits4v] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-gia6tits4v] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-gia6tits4v] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-gia6tits4v] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-gia6tits4v] { display: flex; flex-direction: column; }
.form-group-wide[b-gia6tits4v] { grid-column: span 2; }
.form-label[b-gia6tits4v] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-gia6tits4v] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-gia6tits4v] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-gia6tits4v]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-gia6tits4v] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-gia6tits4v] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-gia6tits4v] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-gia6tits4v] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-gia6tits4v] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-gia6tits4v] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-gia6tits4v] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-gia6tits4v] { grid-template-columns: 1fr; }
    .form-group-wide[b-gia6tits4v] { grid-column: span 1; }
}
/* /Components/Pages/Common/CalibreList.razor.rz.scp.css */
/* ===========================
   ProductGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-e00r2nra51] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-e00r2nra51] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-e00r2nra51] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-e00r2nra51] { background-color: var(--color-action-active); }

.alert-bar[b-e00r2nra51] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-e00r2nra51] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-e00r2nra51] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-e00r2nra51] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-e00r2nra51] { opacity: 1; }

.search-bar[b-e00r2nra51] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-e00r2nra51] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-e00r2nra51] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-e00r2nra51] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-e00r2nra51]::placeholder { color: var(--text-muted); }
.search-clear[b-e00r2nra51] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-e00r2nra51] { color: var(--color-primary); }
.search-count[b-e00r2nra51] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-e00r2nra51] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-e00r2nra51] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-e00r2nra51] { opacity: 0.4; }
.empty-state-text[b-e00r2nra51] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-e00r2nra51] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-e00r2nra51] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-e00r2nra51] { border-bottom: none; }
.item-row:hover[b-e00r2nra51] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-e00r2nra51] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-e00r2nra51] { flex: 1; min-width: 0; }
.item-name[b-e00r2nra51] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-e00r2nra51] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-e00r2nra51] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-e00r2nra51] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-e00r2nra51] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-e00r2nra51] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-e00r2nra51] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-e00r2nra51] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-e00r2nra51] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-e00r2nra51] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-e00r2nra51] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-e00r2nra51] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-e00r2nra51] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-e00r2nra51] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-e00r2nra51] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-e00r2nra51] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-e00r2nra51] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-e00r2nra51] { flex-wrap: wrap; }
    .item-actions[b-e00r2nra51] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Common/CompanyLocationCreate.razor.rz.scp.css */
/* ===========================
   CompanyLocationCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-gcisa4fzzh] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-gcisa4fzzh] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-gcisa4fzzh] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-gcisa4fzzh] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-gcisa4fzzh] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-gcisa4fzzh] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-gcisa4fzzh] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-gcisa4fzzh] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-gcisa4fzzh] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

/* Griglia a 2 colonne (es. parte superiore di Zone e Consegne) */
.form-grid-2col[b-gcisa4fzzh] {
    grid-template-columns: repeat(2, 1fr);
}

.form-group[b-gcisa4fzzh] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-gcisa4fzzh] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-gcisa4fzzh] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-label-check[b-gcisa4fzzh] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    text-transform: none;
    cursor: pointer;
    padding-top: var(--space-4);
}

.form-control[b-gcisa4fzzh] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-gcisa4fzzh] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-gcisa4fzzh]::placeholder {
    color: var(--color-gray-400);
}

/* Campo di sola lettura (es. Numero Sede assegnato dal server) */
.form-control-readonly[b-gcisa4fzzh] {
    background-color: var(--color-gray-50);
    color: var(--text-muted);
    cursor: not-allowed;
}

/* Input stretti per codici brevi (come nella pagina Contatto) */
.form-control-province[b-gcisa4fzzh] {
    max-width: 5rem;
    text-transform: uppercase;
}

.form-control-cap[b-gcisa4fzzh] {
    max-width: 7rem;
}

.text-end[b-gcisa4fzzh] {
    text-align: right;
}

.btn-action[b-gcisa4fzzh] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-gcisa4fzzh] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-gcisa4fzzh] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-gcisa4fzzh] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-gcisa4fzzh] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-gcisa4fzzh] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-gcisa4fzzh] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-gcisa4fzzh] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/CompanyLocationEdit.razor.rz.scp.css */
/* ===========================
   CompanyLocationEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-y660vyhjwd] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-y660vyhjwd] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-y660vyhjwd] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-y660vyhjwd] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-y660vyhjwd] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-y660vyhjwd] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-y660vyhjwd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-y660vyhjwd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-y660vyhjwd] {
    opacity: 0.4;
}

.empty-state-text[b-y660vyhjwd] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-y660vyhjwd] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-y660vyhjwd] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-y660vyhjwd] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-y660vyhjwd] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

/* Griglia a 2 colonne (es. parte superiore di Zone e Consegne) */
.form-grid-2col[b-y660vyhjwd] {
    grid-template-columns: repeat(2, 1fr);
}

.form-group[b-y660vyhjwd] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-y660vyhjwd] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-y660vyhjwd] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-label-check[b-y660vyhjwd] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    text-transform: none;
    cursor: pointer;
    padding-top: var(--space-4);
}

.form-control[b-y660vyhjwd] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-y660vyhjwd] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-y660vyhjwd]::placeholder {
    color: var(--color-gray-400);
}

/* Input stretti per codici brevi (come nella pagina Contatto) */
.form-control-province[b-y660vyhjwd] {
    max-width: 5rem;
    text-transform: uppercase;
}

.form-control-cap[b-y660vyhjwd] {
    max-width: 7rem;
}

.form-control-static[b-y660vyhjwd] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.text-end[b-y660vyhjwd] {
    text-align: right;
}

.btn-action[b-y660vyhjwd] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-y660vyhjwd] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-y660vyhjwd] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-y660vyhjwd] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-y660vyhjwd] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-y660vyhjwd] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-y660vyhjwd] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-y660vyhjwd] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/CompanyLocationList.razor.rz.scp.css */
/* ===========================
   CompanyLocationList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-2hdwxkm96y] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-2hdwxkm96y] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-2hdwxkm96y] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-2hdwxkm96y] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-2hdwxkm96y] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-2hdwxkm96y] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-2hdwxkm96y] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-2hdwxkm96y] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-2hdwxkm96y] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-2hdwxkm96y] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-2hdwxkm96y] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-2hdwxkm96y] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-2hdwxkm96y] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-2hdwxkm96y]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-2hdwxkm96y] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-2hdwxkm96y] {
    color: var(--color-primary);
}

.search-count[b-2hdwxkm96y] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-2hdwxkm96y] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-2hdwxkm96y] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-2hdwxkm96y] {
    opacity: 0.4;
}

.empty-state-text[b-2hdwxkm96y] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Contact List (stesse regole di CustomerList: le due liste devono leggersi uguali) */
.contact-list[b-2hdwxkm96y] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Contact Row */
.contact-row[b-2hdwxkm96y] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.contact-row:last-child[b-2hdwxkm96y] {
    border-bottom: none;
}

.contact-row:hover[b-2hdwxkm96y] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.contact-avatar[b-2hdwxkm96y] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Contact Info */
.contact-info[b-2hdwxkm96y] {
    flex: 1;
    min-width: 0;
}

.contact-name[b-2hdwxkm96y] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.contact-meta[b-2hdwxkm96y] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.contact-code[b-2hdwxkm96y] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-2hdwxkm96y] {
    color: var(--color-gray-300);
}

.contact-details[b-2hdwxkm96y] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-top: var(--space-1);
}

.contact-detail-item[b-2hdwxkm96y] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.contact-detail-item svg[b-2hdwxkm96y] {
    flex-shrink: 0;
}

/* Badges */
.contact-badges[b-2hdwxkm96y] {
    flex-shrink: 0;
    display: flex;
    gap: var(--space-2);
}

.badge[b-2hdwxkm96y] {
    display: inline-flex;
    align-items: center;
    padding: 3px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.badge-primary[b-2hdwxkm96y] {
    background-color: rgba(11, 36, 62, 0.1);
    color: var(--color-primary);
}

.badge-success[b-2hdwxkm96y] {
    background-color: rgba(40, 167, 69, 0.1);
    color: var(--color-success);
}

/* Action Buttons */
.contact-actions[b-2hdwxkm96y] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-2hdwxkm96y] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-2hdwxkm96y] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-2hdwxkm96y] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-2hdwxkm96y] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-2hdwxkm96y] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-2hdwxkm96y] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-2hdwxkm96y] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-2hdwxkm96y] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-2hdwxkm96y] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-2hdwxkm96y] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-2hdwxkm96y] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-2hdwxkm96y] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-2hdwxkm96y] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .contact-row[b-2hdwxkm96y] {
        flex-wrap: wrap;
    }

    .contact-badges[b-2hdwxkm96y] {
        order: 5;
    }

    .contact-actions[b-2hdwxkm96y] {
        order: 6;
        margin-left: auto;
    }

    .contact-details[b-2hdwxkm96y] {
        flex-wrap: wrap;
    }
}

/* /Components/Pages/Common/CompanyProfileEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-9cyana4knv] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-9cyana4knv] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-9cyana4knv] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-9cyana4knv] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-9cyana4knv] { opacity: 1; }

.form-section[b-9cyana4knv] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-9cyana4knv] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-9cyana4knv] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-9cyana4knv] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-9cyana4knv] { display: flex; flex-direction: column; }
.form-group-wide[b-9cyana4knv] { grid-column: span 2; }
.form-label[b-9cyana4knv] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-9cyana4knv] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-9cyana4knv] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-9cyana4knv]::placeholder { color: var(--color-gray-400); }

/* Campi password: l'input e' renderizzato dal componente condiviso PasswordInput,
   che ha un proprio scope CSS -> serve ::deep perche' lo stile qui sopra lo raggiunga.
   Il padding-right lascia spazio al pulsante "occhio" (vedi css/components.css). */
[b-9cyana4knv] .password-field .form-control { padding: var(--space-2) var(--space-3); padding-right: 2.75rem; font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
[b-9cyana4knv] .password-field .form-control:focus { border-color: var(--color-primary); outline: none; box-shadow: none; }
[b-9cyana4knv] .password-field .form-control::placeholder { color: var(--color-gray-400); }

.form-actions[b-9cyana4knv] { display: flex; justify-content: flex-end; gap: var(--space-3); padding-top: var(--space-4); border-top: var(--border-width-thin) solid var(--border-color-light); }
.form-actions .btn[b-9cyana4knv] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-5); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; text-decoration: none; }
.btn-action[b-9cyana4knv] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-9cyana4knv] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-9cyana4knv] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-9cyana4knv] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-9cyana4knv] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-9cyana4knv] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-9cyana4knv] { grid-template-columns: 1fr; }
    .form-group-wide[b-9cyana4knv] { grid-column: span 1; }
    .form-actions[b-9cyana4knv] { flex-direction: column-reverse; }
    .form-actions .btn[b-9cyana4knv] { justify-content: center; }
}

/* Tabs (Generale / Magazzino) */
.tab-bar[b-9cyana4knv] {
    display: flex;
    gap: 4px;
    border-bottom: 2px solid var(--border-color, #e5e7eb);
    margin-bottom: 20px;
}
.tab-item[b-9cyana4knv] {
    background: none;
    border: none;
    padding: 10px 20px;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-muted, #6b7280);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
}
.tab-item:hover[b-9cyana4knv] {
    color: var(--text-color, #111827);
}
.tab-item.active[b-9cyana4knv] {
    color: var(--primary-color, #2563eb);
    border-bottom-color: var(--primary-color, #2563eb);
}
.form-checkbox label[b-9cyana4knv] {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}
/* /Components/Pages/Common/ContactCreate.razor.rz.scp.css */
/* ===========================
   ContactCreate / ContactEdit - Shared Form Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-1ih1s65q42] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-1ih1s65q42] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-1ih1s65q42] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-1ih1s65q42] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-1ih1s65q42] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-1ih1s65q42] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-1ih1s65q42] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-1ih1s65q42] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-1ih1s65q42] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-1ih1s65q42] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-1ih1s65q42] {
    grid-column: span 2;
}

.form-group-checkbox[b-1ih1s65q42] {
    display: flex;
    align-items: center;
    padding-top: var(--space-6);
}

.form-group-checkbox .form-check-label[b-1ih1s65q42] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    cursor: pointer;
}

.form-group-checkbox .form-check-input[b-1ih1s65q42] {
    width: 18px;
    height: 18px;
    accent-color: var(--color-primary);
    cursor: pointer;
}

/* Form Controls */
.form-label[b-1ih1s65q42] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-1ih1s65q42] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-1ih1s65q42] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-1ih1s65q42]::placeholder {
    color: var(--color-gray-400);
}

/* Narrow inputs for short codes */
.form-control-province[b-1ih1s65q42] {
    max-width: 5rem;
    text-transform: uppercase;
}

.form-control-cap[b-1ih1s65q42] {
    max-width: 7rem;
}

.btn-action[b-1ih1s65q42] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-1ih1s65q42] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-1ih1s65q42] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-1ih1s65q42] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-1ih1s65q42] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-1ih1s65q42] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-1ih1s65q42] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-1ih1s65q42] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/ContactEdit.razor.rz.scp.css */
/* ===========================
   ContactEdit - Scoped Styles
   Reuses same patterns as ContactCreate
   =========================== */

/* Page Container */
.page-container[b-r958csxctl] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-r958csxctl] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-r958csxctl] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-r958csxctl] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-r958csxctl] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-r958csxctl] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-r958csxctl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-r958csxctl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-r958csxctl] {
    opacity: 0.4;
}

.empty-state-text[b-r958csxctl] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-r958csxctl] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-r958csxctl] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-r958csxctl] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-r958csxctl] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-r958csxctl] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-r958csxctl] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-r958csxctl] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-r958csxctl] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-r958csxctl] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-r958csxctl]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-r958csxctl] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-r958csxctl] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-r958csxctl] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-r958csxctl] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-r958csxctl] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-r958csxctl] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-r958csxctl] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-r958csxctl] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-r958csxctl] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/ContactList.razor.rz.scp.css */
/* ===========================
   ContactList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-fv8g4mgwr1] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-fv8g4mgwr1] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-fv8g4mgwr1] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-fv8g4mgwr1] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-fv8g4mgwr1] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-fv8g4mgwr1] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-fv8g4mgwr1] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-fv8g4mgwr1] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-fv8g4mgwr1] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-fv8g4mgwr1] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-fv8g4mgwr1] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-fv8g4mgwr1] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-fv8g4mgwr1] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-fv8g4mgwr1]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-fv8g4mgwr1] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-fv8g4mgwr1] {
    color: var(--color-primary);
}

.search-count[b-fv8g4mgwr1] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Paginazione — stessa forma di ProductList e WebsContactList, le altre liste con
   paginazione lato server. Il markup vive nella pagina, quindi la regola sta nello scoped. */
.pagination-bar[b-fv8g4mgwr1] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    margin-top: var(--space-4);
}

.pagination-info[b-fv8g4mgwr1] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.btn-outline-primary:disabled[b-fv8g4mgwr1] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Loading / Empty States */
.loading-state[b-fv8g4mgwr1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-fv8g4mgwr1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-fv8g4mgwr1] {
    opacity: 0.4;
}

.empty-state-text[b-fv8g4mgwr1] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Contact List */
.contact-list[b-fv8g4mgwr1] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Contact Row */
.contact-row[b-fv8g4mgwr1] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.contact-row:last-child[b-fv8g4mgwr1] {
    border-bottom: none;
}

.contact-row:hover[b-fv8g4mgwr1] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.contact-avatar[b-fv8g4mgwr1] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Contact Info */
.contact-info[b-fv8g4mgwr1] {
    flex: 1;
    min-width: 0;
}

.contact-name[b-fv8g4mgwr1] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.contact-meta[b-fv8g4mgwr1] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.contact-code[b-fv8g4mgwr1] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-fv8g4mgwr1] {
    color: var(--color-gray-300);
}

.contact-details[b-fv8g4mgwr1] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-top: var(--space-1);
}

.contact-detail-item[b-fv8g4mgwr1] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.contact-detail-item svg[b-fv8g4mgwr1] {
    flex-shrink: 0;
}

/* Badges */
.contact-badges[b-fv8g4mgwr1] {
    flex-shrink: 0;
    display: flex;
    gap: var(--space-2);
}

.badge[b-fv8g4mgwr1] {
    display: inline-flex;
    align-items: center;
    padding: 3px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.badge-primary[b-fv8g4mgwr1] {
    background-color: rgba(11, 36, 62, 0.1);
    color: var(--color-primary);
}

.badge-info[b-fv8g4mgwr1] {
    background-color: rgba(23, 162, 184, 0.1);
    color: var(--color-info);
}

/* Action Buttons */
.contact-actions[b-fv8g4mgwr1] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-fv8g4mgwr1] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-fv8g4mgwr1] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-fv8g4mgwr1] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-fv8g4mgwr1] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-fv8g4mgwr1] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-fv8g4mgwr1] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-fv8g4mgwr1] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-fv8g4mgwr1] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-fv8g4mgwr1] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-fv8g4mgwr1] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-fv8g4mgwr1] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button (used in confirm dialog) */
.btn-outline-primary[b-fv8g4mgwr1] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-fv8g4mgwr1] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .contact-row[b-fv8g4mgwr1] {
        flex-wrap: wrap;
    }

    .contact-badges[b-fv8g4mgwr1] {
        order: 5;
    }

    .contact-actions[b-fv8g4mgwr1] {
        order: 6;
        margin-left: auto;
    }

    .contact-details[b-fv8g4mgwr1] {
        flex-wrap: wrap;
    }
}

/* /Components/Pages/Common/CountryCreate.razor.rz.scp.css */
/* ===========================
   CountryCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-hh7821j9oe] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-hh7821j9oe] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-hh7821j9oe] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-hh7821j9oe] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-hh7821j9oe] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-hh7821j9oe] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-hh7821j9oe] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-hh7821j9oe] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-hh7821j9oe] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-hh7821j9oe] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-hh7821j9oe] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-hh7821j9oe] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-hh7821j9oe] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-hh7821j9oe] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-hh7821j9oe]::placeholder {
    color: var(--color-gray-400);
}

.btn-action[b-hh7821j9oe] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-hh7821j9oe] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-hh7821j9oe] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-hh7821j9oe] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-hh7821j9oe] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-hh7821j9oe] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-hh7821j9oe] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-hh7821j9oe] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/CountryEdit.razor.rz.scp.css */
/* ===========================
   CountryEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-mj1r8rcu88] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-mj1r8rcu88] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-mj1r8rcu88] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-mj1r8rcu88] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-mj1r8rcu88] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-mj1r8rcu88] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-mj1r8rcu88] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-mj1r8rcu88] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-mj1r8rcu88] {
    opacity: 0.4;
}

.empty-state-text[b-mj1r8rcu88] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-mj1r8rcu88] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-mj1r8rcu88] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-mj1r8rcu88] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-mj1r8rcu88] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-mj1r8rcu88] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-mj1r8rcu88] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-mj1r8rcu88] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-mj1r8rcu88] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-mj1r8rcu88] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-mj1r8rcu88]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-mj1r8rcu88] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-mj1r8rcu88] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-mj1r8rcu88] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-mj1r8rcu88] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-mj1r8rcu88] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-mj1r8rcu88] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-mj1r8rcu88] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-mj1r8rcu88] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-mj1r8rcu88] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/CountryList.razor.rz.scp.css */
/* ===========================
   CountryList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-0tnhm7v24q] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-0tnhm7v24q] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-0tnhm7v24q] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-0tnhm7v24q] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-0tnhm7v24q] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-0tnhm7v24q] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-0tnhm7v24q] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-0tnhm7v24q] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-0tnhm7v24q] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-0tnhm7v24q] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-0tnhm7v24q] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-0tnhm7v24q] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-0tnhm7v24q] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-0tnhm7v24q]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-0tnhm7v24q] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-0tnhm7v24q] {
    color: var(--color-primary);
}

.search-count[b-0tnhm7v24q] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-0tnhm7v24q] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-0tnhm7v24q] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-0tnhm7v24q] {
    opacity: 0.4;
}

.empty-state-text[b-0tnhm7v24q] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-0tnhm7v24q] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-0tnhm7v24q] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-0tnhm7v24q] {
    border-bottom: none;
}

.item-row:hover[b-0tnhm7v24q] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-0tnhm7v24q] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-0tnhm7v24q] {
    flex: 1;
    min-width: 0;
}

.item-name[b-0tnhm7v24q] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-0tnhm7v24q] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-0tnhm7v24q] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-0tnhm7v24q] {
    color: var(--color-gray-300);
}

/* Action Buttons */
.item-actions[b-0tnhm7v24q] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-0tnhm7v24q] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-0tnhm7v24q] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-0tnhm7v24q] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-0tnhm7v24q] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-0tnhm7v24q] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-0tnhm7v24q] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-0tnhm7v24q] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-0tnhm7v24q] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-0tnhm7v24q] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-0tnhm7v24q] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-0tnhm7v24q] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-0tnhm7v24q] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-0tnhm7v24q] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-0tnhm7v24q] {
        flex-wrap: wrap;
    }

    .item-actions[b-0tnhm7v24q] {
        order: 6;
        margin-left: auto;
    }
}

/* /Components/Pages/Common/CountryRegionCreate.razor.rz.scp.css */
/* ===========================
   CountryRegionCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-vf7a72g7m3] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-vf7a72g7m3] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-vf7a72g7m3] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-vf7a72g7m3] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-vf7a72g7m3] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-vf7a72g7m3] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-vf7a72g7m3] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-vf7a72g7m3] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-vf7a72g7m3] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-vf7a72g7m3] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-vf7a72g7m3] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-vf7a72g7m3] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-vf7a72g7m3] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-vf7a72g7m3] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-vf7a72g7m3]::placeholder {
    color: var(--color-gray-400);
}

.btn-action[b-vf7a72g7m3] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-vf7a72g7m3] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-vf7a72g7m3] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-vf7a72g7m3] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-vf7a72g7m3] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-vf7a72g7m3] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-vf7a72g7m3] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-vf7a72g7m3] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/CountryRegionEdit.razor.rz.scp.css */
/* ===========================
   CountryRegionEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-tbh06ri6zt] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-tbh06ri6zt] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-tbh06ri6zt] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-tbh06ri6zt] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-tbh06ri6zt] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-tbh06ri6zt] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-tbh06ri6zt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-tbh06ri6zt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-tbh06ri6zt] {
    opacity: 0.4;
}

.empty-state-text[b-tbh06ri6zt] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-tbh06ri6zt] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-tbh06ri6zt] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-tbh06ri6zt] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-tbh06ri6zt] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-tbh06ri6zt] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-tbh06ri6zt] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-tbh06ri6zt] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-tbh06ri6zt] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-tbh06ri6zt] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-tbh06ri6zt]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-tbh06ri6zt] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-tbh06ri6zt] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-tbh06ri6zt] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-tbh06ri6zt] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-tbh06ri6zt] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-tbh06ri6zt] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-tbh06ri6zt] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-tbh06ri6zt] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-tbh06ri6zt] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/CountryRegionList.razor.rz.scp.css */
/* ===========================
   CountryRegionList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-1cp24zz9hq] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-1cp24zz9hq] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-1cp24zz9hq] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-1cp24zz9hq] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-1cp24zz9hq] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-1cp24zz9hq] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-1cp24zz9hq] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-1cp24zz9hq] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-1cp24zz9hq] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-1cp24zz9hq] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-1cp24zz9hq] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-1cp24zz9hq] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-1cp24zz9hq] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-1cp24zz9hq]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-1cp24zz9hq] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-1cp24zz9hq] {
    color: var(--color-primary);
}

.search-count[b-1cp24zz9hq] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-1cp24zz9hq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-1cp24zz9hq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-1cp24zz9hq] {
    opacity: 0.4;
}

.empty-state-text[b-1cp24zz9hq] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-1cp24zz9hq] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-1cp24zz9hq] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-1cp24zz9hq] {
    border-bottom: none;
}

.item-row:hover[b-1cp24zz9hq] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-1cp24zz9hq] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-1cp24zz9hq] {
    flex: 1;
    min-width: 0;
}

.item-name[b-1cp24zz9hq] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-1cp24zz9hq] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-1cp24zz9hq] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-1cp24zz9hq] {
    color: var(--color-gray-300);
}

/* Action Buttons */
.item-actions[b-1cp24zz9hq] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-1cp24zz9hq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-1cp24zz9hq] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-1cp24zz9hq] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-1cp24zz9hq] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-1cp24zz9hq] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-1cp24zz9hq] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-1cp24zz9hq] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-1cp24zz9hq] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-1cp24zz9hq] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-1cp24zz9hq] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-1cp24zz9hq] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-1cp24zz9hq] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-1cp24zz9hq] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-1cp24zz9hq] {
        flex-wrap: wrap;
    }

    .item-actions[b-1cp24zz9hq] {
        order: 6;
        margin-left: auto;
    }
}

/* /Components/Pages/Common/CurrencyCreate.razor.rz.scp.css */
/* ===========================
   CurrencyCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-eanl1817dm] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-eanl1817dm] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-eanl1817dm] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-eanl1817dm] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-eanl1817dm] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-eanl1817dm] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-eanl1817dm] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-eanl1817dm] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-eanl1817dm] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-eanl1817dm] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-eanl1817dm] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-eanl1817dm] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-eanl1817dm] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-eanl1817dm] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-eanl1817dm]::placeholder {
    color: var(--color-gray-400);
}

.btn-action[b-eanl1817dm] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-eanl1817dm] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-eanl1817dm] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-eanl1817dm] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-eanl1817dm] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-eanl1817dm] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-eanl1817dm] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-eanl1817dm] {
        grid-column: span 1;
    }
}

/* Valore in sola lettura (i due separatori, derivati dalla cultura). Il CSS di Blazor è isolato
   per componente, quindi la classe va definita qui anche se esiste identica in CurrencyEdit. */
.form-control-static[b-eanl1817dm] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}
/* /Components/Pages/Common/CurrencyEdit.razor.rz.scp.css */
/* ===========================
   CurrencyEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-j67jsmbtqe] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-j67jsmbtqe] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-j67jsmbtqe] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-j67jsmbtqe] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-j67jsmbtqe] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-j67jsmbtqe] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-j67jsmbtqe] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-j67jsmbtqe] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-j67jsmbtqe] {
    opacity: 0.4;
}

.empty-state-text[b-j67jsmbtqe] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-j67jsmbtqe] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-j67jsmbtqe] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-j67jsmbtqe] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-j67jsmbtqe] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-j67jsmbtqe] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-j67jsmbtqe] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-j67jsmbtqe] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-j67jsmbtqe] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-j67jsmbtqe] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-j67jsmbtqe]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-j67jsmbtqe] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-j67jsmbtqe] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-j67jsmbtqe] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-j67jsmbtqe] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-j67jsmbtqe] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-j67jsmbtqe] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-j67jsmbtqe] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-j67jsmbtqe] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-j67jsmbtqe] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/CurrencyList.razor.rz.scp.css */
/* ===========================
   CurrencyList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-0yspmw985d] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-0yspmw985d] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-0yspmw985d] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-0yspmw985d] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-0yspmw985d] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-0yspmw985d] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-0yspmw985d] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-0yspmw985d] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-0yspmw985d] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-0yspmw985d] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-0yspmw985d] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-0yspmw985d] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-0yspmw985d] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-0yspmw985d]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-0yspmw985d] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-0yspmw985d] {
    color: var(--color-primary);
}

.search-count[b-0yspmw985d] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-0yspmw985d] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-0yspmw985d] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-0yspmw985d] {
    opacity: 0.4;
}

.empty-state-text[b-0yspmw985d] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-0yspmw985d] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-0yspmw985d] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-0yspmw985d] {
    border-bottom: none;
}

.item-row:hover[b-0yspmw985d] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-0yspmw985d] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-0yspmw985d] {
    flex: 1;
    min-width: 0;
}

.item-name[b-0yspmw985d] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-0yspmw985d] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-0yspmw985d] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-0yspmw985d] {
    color: var(--color-gray-300);
}

/* Action Buttons */
.item-actions[b-0yspmw985d] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-0yspmw985d] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-0yspmw985d] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-0yspmw985d] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-0yspmw985d] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-0yspmw985d] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-0yspmw985d] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-0yspmw985d] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-0yspmw985d] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-0yspmw985d] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-0yspmw985d] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-0yspmw985d] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-0yspmw985d] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-0yspmw985d] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-0yspmw985d] {
        flex-wrap: wrap;
    }

    .item-actions[b-0yspmw985d] {
        order: 6;
        margin-left: auto;
    }
}

/* /Components/Pages/Common/CustomerCreate.razor.rz.scp.css */
/* ===========================
   ContactCreate / ContactEdit - Shared Form Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-bhzq71ftei] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-bhzq71ftei] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-bhzq71ftei] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-bhzq71ftei] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-bhzq71ftei] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-bhzq71ftei] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-bhzq71ftei] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-bhzq71ftei] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-bhzq71ftei] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-bhzq71ftei] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-bhzq71ftei] {
    grid-column: span 2;
}

/* Larghezza estesa anche per i LookupField (componente figlio con CSS isolato) */
.form-grid[b-bhzq71ftei]  .form-group-wide {
    grid-column: span 2;
}

/* Griglia a 2 colonne (es. parte superiore di Zone e Consegne) */
.form-grid-2col[b-bhzq71ftei] {
    grid-template-columns: repeat(2, 1fr);
}

/* Impostazioni Commerciali: 2 campi per riga, con una riga centrale da 3 (col-3up).
   Base a 6 colonne: 2/riga = span 3, 3/riga = span 2. */
.form-grid-commercial[b-bhzq71ftei] {
    grid-template-columns: repeat(6, 1fr);
}

.form-grid-commercial > .form-group[b-bhzq71ftei],
.form-grid-commercial[b-bhzq71ftei]  .form-group {
    grid-column: span 3;
}

.form-grid-commercial > .form-group.col-3up[b-bhzq71ftei],
.form-grid-commercial[b-bhzq71ftei]  .form-group.col-3up {
    grid-column: span 2;
}

@media (max-width: 768px) {
    .form-grid-commercial[b-bhzq71ftei] {
        grid-template-columns: 1fr;
    }

    .form-grid-commercial > .form-group[b-bhzq71ftei],
    .form-grid-commercial[b-bhzq71ftei]  .form-group,
    .form-grid-commercial > .form-group.col-3up[b-bhzq71ftei],
    .form-grid-commercial[b-bhzq71ftei]  .form-group.col-3up {
        grid-column: span 1;
    }
}

.form-group-checkbox[b-bhzq71ftei] {
    display: flex;
    align-items: center;
    padding-top: var(--space-6);
}

.form-group-checkbox .form-check-label[b-bhzq71ftei] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    cursor: pointer;
}

.form-group-checkbox .form-check-input[b-bhzq71ftei] {
    width: 18px;
    height: 18px;
    accent-color: var(--color-primary);
    cursor: pointer;
}

/* Form Controls */
.form-label[b-bhzq71ftei] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-bhzq71ftei] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-bhzq71ftei] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-bhzq71ftei]::placeholder {
    color: var(--color-gray-400);
}

.btn-action[b-bhzq71ftei] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-bhzq71ftei] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-bhzq71ftei] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-bhzq71ftei] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-bhzq71ftei] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-bhzq71ftei] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-bhzq71ftei] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-bhzq71ftei] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/CustomerEdit.razor.rz.scp.css */
/* ===========================
   ContactEdit - Scoped Styles
   Reuses same patterns as ContactCreate
   =========================== */

/* Page Container */
.page-container[b-thp4qcka0q] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-thp4qcka0q] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-thp4qcka0q] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-thp4qcka0q] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-thp4qcka0q] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-thp4qcka0q] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-thp4qcka0q] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-thp4qcka0q] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-thp4qcka0q] {
    opacity: 0.4;
}

.empty-state-text[b-thp4qcka0q] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-thp4qcka0q] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-thp4qcka0q] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-thp4qcka0q] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-thp4qcka0q] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-thp4qcka0q] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-thp4qcka0q] {
    grid-column: span 2;
}

/* Larghezza estesa anche per i LookupField (componente figlio con CSS isolato) */
.form-grid[b-thp4qcka0q]  .form-group-wide {
    grid-column: span 2;
}

/* Griglia a 2 colonne (es. parte superiore di Zone e Consegne) */
.form-grid-2col[b-thp4qcka0q] {
    grid-template-columns: repeat(2, 1fr);
}

/* Impostazioni Commerciali: 2 campi per riga, con una riga centrale da 3 (col-3up).
   Base a 6 colonne: 2/riga = span 3, 3/riga = span 2. */
.form-grid-commercial[b-thp4qcka0q] {
    grid-template-columns: repeat(6, 1fr);
}

.form-grid-commercial > .form-group[b-thp4qcka0q],
.form-grid-commercial[b-thp4qcka0q]  .form-group {
    grid-column: span 3;
}

.form-grid-commercial > .form-group.col-3up[b-thp4qcka0q],
.form-grid-commercial[b-thp4qcka0q]  .form-group.col-3up {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-thp4qcka0q] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-thp4qcka0q] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-thp4qcka0q] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-thp4qcka0q]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-thp4qcka0q] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-thp4qcka0q] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-thp4qcka0q] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-thp4qcka0q] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-thp4qcka0q] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-thp4qcka0q] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-thp4qcka0q] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-thp4qcka0q] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-thp4qcka0q] {
        grid-column: span 1;
    }

    .form-grid-commercial[b-thp4qcka0q] {
        grid-template-columns: 1fr;
    }

    .form-grid-commercial > .form-group[b-thp4qcka0q],
    .form-grid-commercial[b-thp4qcka0q]  .form-group,
    .form-grid-commercial > .form-group.col-3up[b-thp4qcka0q],
    .form-grid-commercial[b-thp4qcka0q]  .form-group.col-3up {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/CustomerList.razor.rz.scp.css */
/* ===========================
   ContactList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-6lqaaq29wf] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-6lqaaq29wf] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-6lqaaq29wf] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-6lqaaq29wf] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-6lqaaq29wf] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-6lqaaq29wf] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-6lqaaq29wf] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-6lqaaq29wf] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-6lqaaq29wf] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-6lqaaq29wf] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-6lqaaq29wf] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-6lqaaq29wf] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-6lqaaq29wf] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-6lqaaq29wf]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-6lqaaq29wf] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-6lqaaq29wf] {
    color: var(--color-primary);
}

.search-count[b-6lqaaq29wf] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-6lqaaq29wf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-6lqaaq29wf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-6lqaaq29wf] {
    opacity: 0.4;
}

.empty-state-text[b-6lqaaq29wf] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Contact List */
.contact-list[b-6lqaaq29wf] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Contact Row */
.contact-row[b-6lqaaq29wf] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.contact-row:last-child[b-6lqaaq29wf] {
    border-bottom: none;
}

.contact-row:hover[b-6lqaaq29wf] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.contact-avatar[b-6lqaaq29wf] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Contact Info */
.contact-info[b-6lqaaq29wf] {
    flex: 1;
    min-width: 0;
}

.contact-name[b-6lqaaq29wf] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.contact-meta[b-6lqaaq29wf] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.contact-code[b-6lqaaq29wf] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-6lqaaq29wf] {
    color: var(--color-gray-300);
}

.contact-details[b-6lqaaq29wf] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-top: var(--space-1);
}

.contact-detail-item[b-6lqaaq29wf] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.contact-detail-item svg[b-6lqaaq29wf] {
    flex-shrink: 0;
}

/* Badges */
.contact-badges[b-6lqaaq29wf] {
    flex-shrink: 0;
    display: flex;
    gap: var(--space-2);
}

.badge[b-6lqaaq29wf] {
    display: inline-flex;
    align-items: center;
    padding: 3px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.badge-primary[b-6lqaaq29wf] {
    background-color: rgba(11, 36, 62, 0.1);
    color: var(--color-primary);
}

.badge-info[b-6lqaaq29wf] {
    background-color: rgba(23, 162, 184, 0.1);
    color: var(--color-info);
}

.badge-danger[b-6lqaaq29wf] {
    background-color: rgba(178, 34, 34, 0.1);
    color: var(--color-action);
}

/* Action Buttons */
.contact-actions[b-6lqaaq29wf] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.actions-separator[b-6lqaaq29wf] {
    width: 1px;
    height: 20px;
    background-color: var(--border-color-light);
    margin: 0 var(--space-1);
}

.btn-icon[b-6lqaaq29wf] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-6lqaaq29wf] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-6lqaaq29wf] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-6lqaaq29wf] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-6lqaaq29wf] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-6lqaaq29wf] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-6lqaaq29wf] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-6lqaaq29wf] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-6lqaaq29wf] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-6lqaaq29wf] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-6lqaaq29wf] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button (used in confirm dialog) */
.btn-outline-primary[b-6lqaaq29wf] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-6lqaaq29wf] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .contact-row[b-6lqaaq29wf] {
        flex-wrap: wrap;
    }

    .contact-badges[b-6lqaaq29wf] {
        order: 5;
    }

    .contact-actions[b-6lqaaq29wf] {
        order: 6;
        margin-left: auto;
    }

    .contact-details[b-6lqaaq29wf] {
        flex-wrap: wrap;
    }
}

/* /Components/Pages/Common/CustomerSupplierGroupCreate.razor.rz.scp.css */
/* ===========================
   CustomerSupplierGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-bebmh38yyt] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-bebmh38yyt] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-bebmh38yyt] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-bebmh38yyt] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-bebmh38yyt] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-bebmh38yyt] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-bebmh38yyt] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-bebmh38yyt] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-bebmh38yyt] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-bebmh38yyt] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-bebmh38yyt] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-bebmh38yyt] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-bebmh38yyt] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-bebmh38yyt] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-bebmh38yyt]::placeholder {
    color: var(--color-gray-400);
}

.btn-action[b-bebmh38yyt] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-bebmh38yyt] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-bebmh38yyt] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-bebmh38yyt] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-bebmh38yyt] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-bebmh38yyt] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-bebmh38yyt] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-bebmh38yyt] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/CustomerSupplierGroupEdit.razor.rz.scp.css */
/* ===========================
   CustomerSupplierGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-dk3ede9ced] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-dk3ede9ced] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-dk3ede9ced] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-dk3ede9ced] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-dk3ede9ced] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-dk3ede9ced] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-dk3ede9ced] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-dk3ede9ced] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-dk3ede9ced] {
    opacity: 0.4;
}

.empty-state-text[b-dk3ede9ced] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-dk3ede9ced] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-dk3ede9ced] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-dk3ede9ced] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-dk3ede9ced] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-dk3ede9ced] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-dk3ede9ced] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-dk3ede9ced] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-dk3ede9ced] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-dk3ede9ced] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-dk3ede9ced]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-dk3ede9ced] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-dk3ede9ced] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-dk3ede9ced] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-dk3ede9ced] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-dk3ede9ced] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-dk3ede9ced] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-dk3ede9ced] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-dk3ede9ced] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-dk3ede9ced] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/CustomerSupplierGroupList.razor.rz.scp.css */
/* ===========================
   CustomerSupplierGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-pq8apyikil] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-pq8apyikil] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-pq8apyikil] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-pq8apyikil] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-pq8apyikil] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-pq8apyikil] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-pq8apyikil] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-pq8apyikil] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-pq8apyikil] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-pq8apyikil] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-pq8apyikil] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-pq8apyikil] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-pq8apyikil] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-pq8apyikil]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-pq8apyikil] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-pq8apyikil] {
    color: var(--color-primary);
}

.search-count[b-pq8apyikil] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-pq8apyikil] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-pq8apyikil] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-pq8apyikil] {
    opacity: 0.4;
}

.empty-state-text[b-pq8apyikil] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-pq8apyikil] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-pq8apyikil] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-pq8apyikil] {
    border-bottom: none;
}

.item-row:hover[b-pq8apyikil] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-pq8apyikil] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-pq8apyikil] {
    flex: 1;
    min-width: 0;
}

.item-name[b-pq8apyikil] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-pq8apyikil] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-pq8apyikil] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-pq8apyikil] {
    color: var(--color-gray-300);
}

/* Action Buttons */
.item-actions[b-pq8apyikil] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-pq8apyikil] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-pq8apyikil] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-pq8apyikil] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-pq8apyikil] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-pq8apyikil] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-pq8apyikil] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-pq8apyikil] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-pq8apyikil] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-pq8apyikil] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-pq8apyikil] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-pq8apyikil] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-pq8apyikil] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-pq8apyikil] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-pq8apyikil] {
        flex-wrap: wrap;
    }

    .item-actions[b-pq8apyikil] {
        order: 6;
        margin-left: auto;
    }
}

/* /Components/Pages/Common/DenominationCreate.razor.rz.scp.css */
/* ===========================
   DenominationCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-4t0dmltwbo] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-4t0dmltwbo] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-4t0dmltwbo] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-4t0dmltwbo] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-4t0dmltwbo] { opacity: 1; }

.form-section[b-4t0dmltwbo] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-4t0dmltwbo] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-4t0dmltwbo] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-4t0dmltwbo] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-4t0dmltwbo] { display: flex; flex-direction: column; }
.form-group-wide[b-4t0dmltwbo] { grid-column: span 2; }
.form-label[b-4t0dmltwbo] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-4t0dmltwbo] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-4t0dmltwbo] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-4t0dmltwbo]::placeholder { color: var(--color-gray-400); }
.btn-action[b-4t0dmltwbo] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-4t0dmltwbo] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-4t0dmltwbo] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-4t0dmltwbo] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-4t0dmltwbo] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-4t0dmltwbo] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-4t0dmltwbo] { grid-template-columns: 1fr; }
    .form-group-wide[b-4t0dmltwbo] { grid-column: span 1; }
}
/* /Components/Pages/Common/DenominationEdit.razor.rz.scp.css */
/* ===========================
   DenominationEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-xxew0a32jo] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-xxew0a32jo] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-xxew0a32jo] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-xxew0a32jo] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-xxew0a32jo] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-xxew0a32jo] { opacity: 1; }

.loading-state[b-xxew0a32jo] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-xxew0a32jo] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-xxew0a32jo] { opacity: 0.4; }
.empty-state-text[b-xxew0a32jo] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-xxew0a32jo] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-xxew0a32jo] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-xxew0a32jo] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-xxew0a32jo] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-xxew0a32jo] { display: flex; flex-direction: column; }
.form-group-wide[b-xxew0a32jo] { grid-column: span 2; }
.form-label[b-xxew0a32jo] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-xxew0a32jo] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-xxew0a32jo] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-xxew0a32jo]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-xxew0a32jo] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-xxew0a32jo] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-xxew0a32jo] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-xxew0a32jo] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-xxew0a32jo] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-xxew0a32jo] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-xxew0a32jo] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-xxew0a32jo] { grid-template-columns: 1fr; }
    .form-group-wide[b-xxew0a32jo] { grid-column: span 1; }
}
/* /Components/Pages/Common/DenominationList.razor.rz.scp.css */
/* ===========================
   DenominationList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-hsmqwdeowg] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-hsmqwdeowg] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-hsmqwdeowg] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-hsmqwdeowg] { background-color: var(--color-action-active); }

.alert-bar[b-hsmqwdeowg] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-hsmqwdeowg] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-hsmqwdeowg] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-hsmqwdeowg] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-hsmqwdeowg] { opacity: 1; }

.search-bar[b-hsmqwdeowg] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-hsmqwdeowg] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-hsmqwdeowg] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-hsmqwdeowg] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-hsmqwdeowg]::placeholder { color: var(--text-muted); }
.search-clear[b-hsmqwdeowg] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-hsmqwdeowg] { color: var(--color-primary); }
.search-count[b-hsmqwdeowg] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-hsmqwdeowg] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-hsmqwdeowg] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-hsmqwdeowg] { opacity: 0.4; }
.empty-state-text[b-hsmqwdeowg] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-hsmqwdeowg] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-hsmqwdeowg] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-hsmqwdeowg] { border-bottom: none; }
.item-row:hover[b-hsmqwdeowg] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-hsmqwdeowg] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-hsmqwdeowg] { flex: 1; min-width: 0; }
.item-name[b-hsmqwdeowg] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-hsmqwdeowg] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-hsmqwdeowg] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-hsmqwdeowg] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-hsmqwdeowg] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-hsmqwdeowg] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-hsmqwdeowg] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-hsmqwdeowg] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-hsmqwdeowg] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-hsmqwdeowg] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-hsmqwdeowg] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-hsmqwdeowg] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-hsmqwdeowg] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-hsmqwdeowg] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-hsmqwdeowg] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-hsmqwdeowg] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-hsmqwdeowg] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-hsmqwdeowg] { flex-wrap: wrap; }
    .item-actions[b-hsmqwdeowg] { order: 6; margin-left: auto; }
}

.meta-separator[b-hsmqwdeowg] { color: var(--color-gray-300); }
/* /Components/Pages/Common/DocumentGroupTypeList.razor.rz.scp.css */
/* ===========================
   DocumentGroupTypeList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-yqlzjnjfyp] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bars */
.alert-bar[b-yqlzjnjfyp] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-yqlzjnjfyp] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-yqlzjnjfyp] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-yqlzjnjfyp] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-yqlzjnjfyp] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-yqlzjnjfyp] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-yqlzjnjfyp] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-yqlzjnjfyp] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-yqlzjnjfyp]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-yqlzjnjfyp] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-yqlzjnjfyp] {
    color: var(--color-primary);
}

.search-count[b-yqlzjnjfyp] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-yqlzjnjfyp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-yqlzjnjfyp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-yqlzjnjfyp] {
    opacity: 0.4;
}

.empty-state-text[b-yqlzjnjfyp] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-yqlzjnjfyp] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-yqlzjnjfyp] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
    cursor: pointer;
}

.item-row:last-child[b-yqlzjnjfyp] {
    border-bottom: none;
}

.item-row:hover[b-yqlzjnjfyp] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-yqlzjnjfyp] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-yqlzjnjfyp] {
    flex: 1;
    min-width: 0;
}

.item-name[b-yqlzjnjfyp] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-yqlzjnjfyp] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-yqlzjnjfyp] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-yqlzjnjfyp] {
    color: var(--color-gray-300);
}

/* Action Buttons */
.item-actions[b-yqlzjnjfyp] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-yqlzjnjfyp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-yqlzjnjfyp] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

/* Detail Panel */
.detail-panel[b-yqlzjnjfyp] {
    padding: var(--space-4) var(--space-6);
    background-color: var(--bg-secondary);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.detail-grid[b-yqlzjnjfyp] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--space-4);
}

.detail-field[b-yqlzjnjfyp] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.detail-label[b-yqlzjnjfyp] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.detail-value[b-yqlzjnjfyp] {
    font-size: var(--font-size-sm);
    color: var(--color-primary);
    font-weight: var(--font-weight-medium);
}

/* Outline Primary Button */
.btn-outline-primary[b-yqlzjnjfyp] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-yqlzjnjfyp] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-yqlzjnjfyp] {
        flex-wrap: wrap;
    }

    .detail-grid[b-yqlzjnjfyp] {
        grid-template-columns: 1fr;
    }
}

/* /Components/Pages/Common/ImageCreate.razor.rz.scp.css */
/* ===========================
   ImageCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-ept18b7y7j] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-ept18b7y7j] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-ept18b7y7j] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-ept18b7y7j] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-ept18b7y7j] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-ept18b7y7j] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-ept18b7y7j] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-ept18b7y7j] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-ept18b7y7j] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-ept18b7y7j] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-ept18b7y7j] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-ept18b7y7j] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-ept18b7y7j] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-ept18b7y7j] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-ept18b7y7j]::placeholder {
    color: var(--color-gray-400);
}

/* Upload Area */
.upload-area[b-ept18b7y7j] {
    position: relative;
    border: 2px dashed var(--border-color-light);
    background-color: var(--bg-secondary);
    transition: all var(--transition-fast) var(--transition-ease);
}

.upload-area-dragover[b-ept18b7y7j] {
    border-color: var(--color-primary);
    background-color: rgba(11, 36, 62, 0.04);
}

.upload-placeholder[b-ept18b7y7j] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-10) var(--space-4);
    gap: var(--space-3);
    color: var(--text-muted);
}

.upload-placeholder svg[b-ept18b7y7j] {
    opacity: 0.4;
}

.upload-text[b-ept18b7y7j] {
    font-size: var(--font-size-sm);
    margin: 0;
}

.upload-hint[b-ept18b7y7j] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    opacity: 0.7;
    margin: 0;
}

.upload-button[b-ept18b7y7j] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

.file-input-hidden[b-ept18b7y7j] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
}

/* Upload Preview */
.upload-preview[b-ept18b7y7j] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
}

.preview-image[b-ept18b7y7j] {
    width: 120px;
    height: 120px;
    object-fit: contain;
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
    padding: var(--space-2);
}

.preview-info[b-ept18b7y7j] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.preview-filename[b-ept18b7y7j] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    word-break: break-all;
}

.preview-size[b-ept18b7y7j] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.preview-remove[b-ept18b7y7j] {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    transition: all var(--transition-fast) var(--transition-ease);
}

.preview-remove:hover[b-ept18b7y7j] {
    color: var(--color-danger);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Field Error */
.field-error[b-ept18b7y7j] {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: var(--space-2);
}

.btn-action[b-ept18b7y7j] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-ept18b7y7j] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-ept18b7y7j] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-ept18b7y7j] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-ept18b7y7j] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-ept18b7y7j] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-ept18b7y7j] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-ept18b7y7j] {
        grid-column: span 1;
    }
    .upload-preview[b-ept18b7y7j] {
        flex-direction: column;
        text-align: center;
    }
}
/* /Components/Pages/Common/ImageEdit.razor.rz.scp.css */
/* ===========================
   ImageEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-pa49zxde9t] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-pa49zxde9t] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.5;
}

/* Alert Bar */
.alert-bar[b-pa49zxde9t] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-pa49zxde9t] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-pa49zxde9t] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-pa49zxde9t] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-pa49zxde9t] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-pa49zxde9t] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-pa49zxde9t] {
    opacity: 0.4;
}

.empty-state-text[b-pa49zxde9t] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-pa49zxde9t] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-pa49zxde9t] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-pa49zxde9t] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-pa49zxde9t] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-pa49zxde9t] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-pa49zxde9t] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-pa49zxde9t] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-pa49zxde9t] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-pa49zxde9t] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control-static[b-pa49zxde9t] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

/* Current Image Preview */
.current-image[b-pa49zxde9t] {
    display: flex;
    justify-content: center;
    padding: var(--space-4);
    margin-bottom: var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.current-image-preview[b-pa49zxde9t] {
    max-width: 100%;
    max-height: 300px;
    object-fit: contain;
}

/* Upload Area */
.upload-area[b-pa49zxde9t] {
    position: relative;
    border: 2px dashed var(--border-color-light);
    background-color: var(--bg-secondary);
    transition: all var(--transition-fast) var(--transition-ease);
}

.upload-area-dragover[b-pa49zxde9t] {
    border-color: var(--color-primary);
    background-color: rgba(11, 36, 62, 0.04);
}

.upload-placeholder[b-pa49zxde9t] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-6) var(--space-4);
    gap: var(--space-2);
    color: var(--text-muted);
}

.upload-placeholder svg[b-pa49zxde9t] {
    opacity: 0.4;
}

.upload-text[b-pa49zxde9t] {
    font-size: var(--font-size-sm);
    margin: 0;
}

.upload-hint[b-pa49zxde9t] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    opacity: 0.7;
    margin: 0;
}

.upload-button[b-pa49zxde9t] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

.file-input-hidden[b-pa49zxde9t] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
}

/* Field Error */
.field-error[b-pa49zxde9t] {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: var(--space-2);
}

/* New File Info */
.new-file-info[b-pa49zxde9t] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-top: var(--space-2);
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-xs);
    color: var(--color-success);
    background-color: #edf7ed;
    border-left: var(--border-width-thick) solid var(--color-success);
}

.btn-action[b-pa49zxde9t] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-pa49zxde9t] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-pa49zxde9t] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-pa49zxde9t] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-pa49zxde9t] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-pa49zxde9t] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-pa49zxde9t] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-pa49zxde9t] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/ImageList.razor.rz.scp.css */
/* ===========================
   ImageList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-rildnx61fj] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-rildnx61fj] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-rildnx61fj] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-rildnx61fj] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-rildnx61fj] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-rildnx61fj] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-rildnx61fj] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-rildnx61fj] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-rildnx61fj] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-rildnx61fj] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-rildnx61fj] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-rildnx61fj] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-rildnx61fj] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-rildnx61fj]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-rildnx61fj] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-rildnx61fj] {
    color: var(--color-primary);
}

.search-count[b-rildnx61fj] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-rildnx61fj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-rildnx61fj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-rildnx61fj] {
    opacity: 0.4;
}

.empty-state-text[b-rildnx61fj] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-rildnx61fj] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-rildnx61fj] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-rildnx61fj] {
    border-bottom: none;
}

.item-row:hover[b-rildnx61fj] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-rildnx61fj] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-rildnx61fj] {
    flex: 1;
    min-width: 0;
}

.item-name[b-rildnx61fj] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-rildnx61fj] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-rildnx61fj] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

/* Action Buttons */
.item-actions[b-rildnx61fj] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-rildnx61fj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-rildnx61fj] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-rildnx61fj] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-rildnx61fj] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-rildnx61fj] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-rildnx61fj] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-rildnx61fj] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-rildnx61fj] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-rildnx61fj] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-rildnx61fj] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-rildnx61fj] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-rildnx61fj] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-rildnx61fj] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-rildnx61fj] {
        flex-wrap: wrap;
    }

    .item-actions[b-rildnx61fj] {
        width: 100%;
        justify-content: flex-end;
    }
}

/* /Components/Pages/Common/LanguageCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-nf5qph2y4o] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-nf5qph2y4o] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-nf5qph2y4o] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-nf5qph2y4o] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-nf5qph2y4o] { opacity: 1; }

.form-section[b-nf5qph2y4o] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-nf5qph2y4o] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-nf5qph2y4o] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-nf5qph2y4o] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-nf5qph2y4o] { display: flex; flex-direction: column; }
.form-group-wide[b-nf5qph2y4o] { grid-column: span 2; }
.form-label[b-nf5qph2y4o] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-nf5qph2y4o] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-nf5qph2y4o] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-nf5qph2y4o]::placeholder { color: var(--color-gray-400); }
.btn-action[b-nf5qph2y4o] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-nf5qph2y4o] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-nf5qph2y4o] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-nf5qph2y4o] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-nf5qph2y4o] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-nf5qph2y4o] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-nf5qph2y4o] { grid-template-columns: 1fr; }
    .form-group-wide[b-nf5qph2y4o] { grid-column: span 1; }
}
/* /Components/Pages/Common/LanguageEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-uu05wqq8sz] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-uu05wqq8sz] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-uu05wqq8sz] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-uu05wqq8sz] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-uu05wqq8sz] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-uu05wqq8sz] { opacity: 1; }

.loading-state[b-uu05wqq8sz] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-uu05wqq8sz] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-uu05wqq8sz] { opacity: 0.4; }
.empty-state-text[b-uu05wqq8sz] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-uu05wqq8sz] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-uu05wqq8sz] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-uu05wqq8sz] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-uu05wqq8sz] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-uu05wqq8sz] { display: flex; flex-direction: column; }
.form-group-wide[b-uu05wqq8sz] { grid-column: span 2; }
.form-label[b-uu05wqq8sz] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-uu05wqq8sz] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-uu05wqq8sz] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-uu05wqq8sz]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-uu05wqq8sz] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-uu05wqq8sz] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-uu05wqq8sz] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-uu05wqq8sz] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-uu05wqq8sz] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-uu05wqq8sz] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-uu05wqq8sz] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-uu05wqq8sz] { grid-template-columns: 1fr; }
    .form-group-wide[b-uu05wqq8sz] { grid-column: span 1; }
}
/* /Components/Pages/Common/LanguageList.razor.rz.scp.css */
/* ===========================
   ProductGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-rrvbvbzofl] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-rrvbvbzofl] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-rrvbvbzofl] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-rrvbvbzofl] { background-color: var(--color-action-active); }

.alert-bar[b-rrvbvbzofl] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-rrvbvbzofl] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-rrvbvbzofl] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-rrvbvbzofl] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-rrvbvbzofl] { opacity: 1; }

.search-bar[b-rrvbvbzofl] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-rrvbvbzofl] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-rrvbvbzofl] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-rrvbvbzofl] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-rrvbvbzofl]::placeholder { color: var(--text-muted); }
.search-clear[b-rrvbvbzofl] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-rrvbvbzofl] { color: var(--color-primary); }
.search-count[b-rrvbvbzofl] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-rrvbvbzofl] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-rrvbvbzofl] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-rrvbvbzofl] { opacity: 0.4; }
.empty-state-text[b-rrvbvbzofl] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-rrvbvbzofl] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-rrvbvbzofl] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-rrvbvbzofl] { border-bottom: none; }
.item-row:hover[b-rrvbvbzofl] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-rrvbvbzofl] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-rrvbvbzofl] { flex: 1; min-width: 0; }
.item-name[b-rrvbvbzofl] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-rrvbvbzofl] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-rrvbvbzofl] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-rrvbvbzofl] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-rrvbvbzofl] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-rrvbvbzofl] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-rrvbvbzofl] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-rrvbvbzofl] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-rrvbvbzofl] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-rrvbvbzofl] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-rrvbvbzofl] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-rrvbvbzofl] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-rrvbvbzofl] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-rrvbvbzofl] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-rrvbvbzofl] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-rrvbvbzofl] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-rrvbvbzofl] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-rrvbvbzofl] { flex-wrap: wrap; }
    .item-actions[b-rrvbvbzofl] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Common/LocalityCreate.razor.rz.scp.css */
/* ===========================
   LocalityCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-21p0x67txy] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-21p0x67txy] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-21p0x67txy] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-21p0x67txy] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-21p0x67txy] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-21p0x67txy] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-21p0x67txy] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-21p0x67txy] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-21p0x67txy] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-21p0x67txy] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-21p0x67txy] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-21p0x67txy] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-21p0x67txy] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-21p0x67txy] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-21p0x67txy]::placeholder {
    color: var(--color-gray-400);
}

.btn-action[b-21p0x67txy] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-21p0x67txy] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-21p0x67txy] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-outline-primary[b-21p0x67txy] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-21p0x67txy] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-21p0x67txy] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-21p0x67txy] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/LocalityEdit.razor.rz.scp.css */
/* ===========================
   LocalityEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-rqxnddj5nx] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-rqxnddj5nx] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-rqxnddj5nx] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-rqxnddj5nx] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-rqxnddj5nx] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-rqxnddj5nx] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-rqxnddj5nx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-rqxnddj5nx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-rqxnddj5nx] {
    opacity: 0.4;
}

.empty-state-text[b-rqxnddj5nx] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-rqxnddj5nx] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-rqxnddj5nx] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-rqxnddj5nx] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-rqxnddj5nx] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-rqxnddj5nx] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-rqxnddj5nx] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-rqxnddj5nx] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-rqxnddj5nx] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-rqxnddj5nx] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-rqxnddj5nx]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-rqxnddj5nx] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-rqxnddj5nx] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-rqxnddj5nx] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-rqxnddj5nx] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-outline-primary[b-rqxnddj5nx] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-rqxnddj5nx] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-rqxnddj5nx] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-rqxnddj5nx] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/LocalityList.razor.rz.scp.css */
/* ===========================
   LocalityList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-ao2mu8eobm] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-ao2mu8eobm] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-ao2mu8eobm] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-ao2mu8eobm] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-ao2mu8eobm] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-ao2mu8eobm] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-ao2mu8eobm] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-ao2mu8eobm] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-ao2mu8eobm] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-ao2mu8eobm] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-ao2mu8eobm] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-ao2mu8eobm] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-ao2mu8eobm] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-ao2mu8eobm]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-ao2mu8eobm] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-ao2mu8eobm] {
    color: var(--color-primary);
}

.search-count[b-ao2mu8eobm] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-ao2mu8eobm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-ao2mu8eobm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-ao2mu8eobm] {
    opacity: 0.4;
}

.empty-state-text[b-ao2mu8eobm] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-ao2mu8eobm] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-ao2mu8eobm] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-ao2mu8eobm] {
    border-bottom: none;
}

.item-row:hover[b-ao2mu8eobm] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-ao2mu8eobm] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-ao2mu8eobm] {
    flex: 1;
    min-width: 0;
}

.item-name[b-ao2mu8eobm] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-ao2mu8eobm] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-ao2mu8eobm] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-ao2mu8eobm] {
    color: var(--color-gray-300);
}

/* Action Buttons */
.item-actions[b-ao2mu8eobm] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-ao2mu8eobm] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-ao2mu8eobm] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-ao2mu8eobm] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-ao2mu8eobm] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-ao2mu8eobm] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-ao2mu8eobm] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-ao2mu8eobm] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-ao2mu8eobm] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-ao2mu8eobm] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-ao2mu8eobm] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-ao2mu8eobm] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-ao2mu8eobm] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-ao2mu8eobm] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-ao2mu8eobm] {
        flex-wrap: wrap;
    }

    .item-actions[b-ao2mu8eobm] {
        order: 6;
        margin-left: auto;
    }
}

/* ─── Barra di paginazione ───────────────────────────────────────
   Il markup è nella pagina, non in un componente condiviso, quindi la regola sta qui nello
   scoped. Stessa forma di WebsContactList, l'altra lista con paginazione lato server. */
.pagination-bar[b-ao2mu8eobm] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    margin-top: var(--space-4);
}

.pagination-info[b-ao2mu8eobm] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* Variante compatta: usata dai pulsanti della paginazione e da «Azzera ricerca». Mancava già
   prima di questa modifica — quei pulsanti restavano a dimensione piena. */
.btn-sm[b-ao2mu8eobm] {
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
}
/* /Components/Pages/Common/LookupSearch.razor.rz.scp.css */
/* ===========================
   LookupSearch - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-eqnmyb0zrg] {
    max-width: 700px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Header */
.page-header[b-eqnmyb0zrg] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.btn-back[b-eqnmyb0zrg] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: var(--text-muted);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: none;
    cursor: pointer;
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
    flex-shrink: 0;
}

.btn-back:hover[b-eqnmyb0zrg] {
    color: var(--color-primary);
    border-color: var(--color-primary);
    background-color: var(--color-gray-50);
}

.page-header-text[b-eqnmyb0zrg] {
    flex: 1;
}

.page-title[b-eqnmyb0zrg] {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-eqnmyb0zrg] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-eqnmyb0zrg] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: 2px 0 0 0;
}

/* Search Bar */
.search-bar[b-eqnmyb0zrg] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-eqnmyb0zrg] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-eqnmyb0zrg] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-eqnmyb0zrg] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-eqnmyb0zrg]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-eqnmyb0zrg] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-eqnmyb0zrg] {
    color: var(--color-primary);
}

.search-count[b-eqnmyb0zrg] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Alert Bar */
.alert-bar[b-eqnmyb0zrg] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-eqnmyb0zrg] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

/* Loading / Empty States */
.loading-state[b-eqnmyb0zrg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-eqnmyb0zrg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-eqnmyb0zrg] {
    opacity: 0.4;
}

.empty-state-text[b-eqnmyb0zrg] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Reset valore — riga separata dai risultati per non confonderla con un record reale */
.lookup-clear-bar[b-eqnmyb0zrg] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
    margin-bottom: var(--space-3);
}

.lookup-row-clear[b-eqnmyb0zrg] {
    border-left: var(--border-width-thick) solid var(--color-warning);
}

.lookup-row-clear .lookup-code[b-eqnmyb0zrg] {
    color: var(--text-muted);
}

.lookup-row-clear .lookup-description[b-eqnmyb0zrg] {
    font-weight: var(--font-weight-medium);
}

.lookup-clear-current[b-eqnmyb0zrg] {
    margin-left: var(--space-2);
    font-style: normal;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

.lookup-row-clear .lookup-select-icon[b-eqnmyb0zrg] {
    opacity: 1;
    color: var(--text-muted);
}

.lookup-row-clear:hover .lookup-select-icon[b-eqnmyb0zrg] {
    color: var(--color-warning);
}

/* Lookup Results List */
.lookup-list[b-eqnmyb0zrg] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.lookup-row[b-eqnmyb0zrg] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    border: none;
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    background: var(--color-white);
    cursor: pointer;
    text-align: left;
    width: 100%;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.lookup-row:last-child[b-eqnmyb0zrg] {
    border-bottom: none;
}

.lookup-row:hover[b-eqnmyb0zrg] {
    background-color: rgba(11, 36, 62, 0.04);
}

.lookup-row:active[b-eqnmyb0zrg] {
    background-color: rgba(11, 36, 62, 0.08);
}

.lookup-code[b-eqnmyb0zrg] {
    flex-shrink: 0;
    min-width: 80px;
    font-family: var(--font-mono);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.lookup-description[b-eqnmyb0zrg] {
    flex: 1;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lookup-select-icon[b-eqnmyb0zrg] {
    flex-shrink: 0;
    color: var(--text-muted);
    opacity: 0;
    transition: opacity var(--transition-fast) var(--transition-ease);
}

.lookup-row:hover .lookup-select-icon[b-eqnmyb0zrg] {
    opacity: 1;
    color: var(--color-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .lookup-code[b-eqnmyb0zrg] {
        min-width: 60px;
    }
}
/* /Components/Pages/Common/LotMap.razor.rz.scp.css */
/* LotMap - scoped styles */

h3[b-4qocr88o2h] { font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); color: var(--color-primary); margin: var(--space-4) 0; }

.map-hint[b-4qocr88o2h] { font-size: var(--font-size-xs); color: var(--text-muted); margin: var(--space-2) 0; }
.map-hint-warn[b-4qocr88o2h] { color: var(--color-action); }
.map-hint-info[b-4qocr88o2h] { color: var(--color-primary); display: flex; align-items: center; }
.map-hint-row[b-4qocr88o2h] { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; }

.parcels-box[b-4qocr88o2h] { margin: var(--space-3) 0; padding: var(--space-3) var(--space-4); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--bg-secondary); }
.parcels-box strong[b-4qocr88o2h] { font-size: var(--font-size-sm); color: var(--color-primary); }
.parcels-list[b-4qocr88o2h] { list-style: none; margin: var(--space-2) 0 0 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-1); }
.parcels-list li[b-4qocr88o2h] { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); font-size: var(--font-size-sm); color: var(--text-secondary); padding: var(--space-1) 0; border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.parcels-list li:last-child[b-4qocr88o2h] { border-bottom: none; }

.btn-link-danger[b-4qocr88o2h] { background: none; border: none; cursor: pointer; color: var(--color-action); font-size: var(--font-size-lg); line-height: 1; padding: 0 var(--space-2); }
.btn-link-danger:hover[b-4qocr88o2h] { opacity: 0.7; }
/* /Components/Pages/Common/PaymentCreate.razor.rz.scp.css */
/* ===========================
   PaymentCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-qx6dxzazma] {
    max-width: 1100px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-qx6dxzazma] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-qx6dxzazma] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-qx6dxzazma] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-qx6dxzazma] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-qx6dxzazma] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-qx6dxzazma] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-qx6dxzazma] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-qx6dxzazma] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-qx6dxzazma] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-qx6dxzazma] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-qx6dxzazma] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-qx6dxzazma] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-qx6dxzazma] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-qx6dxzazma]::placeholder {
    color: var(--color-gray-400);
}

.form-control-sm[b-qx6dxzazma] {
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-xs);
}

[b-qx6dxzazma] .form-check-input {
    width: 18px;
    height: 18px;
    margin-top: var(--space-1);
}

/* Lines Section */
.btn-add-line[b-qx6dxzazma] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    margin-left: auto;
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-action);
    background: transparent;
    border: var(--border-width-thin) solid var(--color-action);
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-add-line:hover[b-qx6dxzazma] {
    background-color: var(--color-action);
    color: var(--text-on-action);
}

.lines-empty[b-qx6dxzazma] {
    text-align: center;
    padding: var(--space-8) 0;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.lines-table-wrapper[b-qx6dxzazma] {
    overflow-x: auto;
}

.lines-table[b-qx6dxzazma] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-xs);
}

.lines-table th[b-qx6dxzazma] {
    padding: var(--space-2) var(--space-2);
    text-align: left;
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    white-space: nowrap;
}

.lines-table td[b-qx6dxzazma] {
    padding: var(--space-2) var(--space-2);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    vertical-align: middle;
}

.lines-table tr:last-child td[b-qx6dxzazma] {
    border-bottom: none;
}

.col-num[b-qx6dxzazma] {
    width: 40px;
    text-align: center;
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
}

.col-type[b-qx6dxzazma] {
    min-width: 180px;
}

.col-due[b-qx6dxzazma], .col-exp[b-qx6dxzazma] {
    width: 80px;
}

.col-days[b-qx6dxzazma] {
    width: 70px;
}

.col-pct[b-qx6dxzazma] {
    width: 80px;
}

.col-action[b-qx6dxzazma] {
    width: 40px;
    text-align: center;
}

.btn-icon[b-qx6dxzazma] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-qx6dxzazma] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
}

.btn-icon-danger:hover[b-qx6dxzazma] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.btn-action[b-qx6dxzazma] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-qx6dxzazma] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-qx6dxzazma] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-qx6dxzazma] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-qx6dxzazma] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-qx6dxzazma] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-qx6dxzazma] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-qx6dxzazma] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/PaymentEdit.razor.rz.scp.css */
/* ===========================
   PaymentEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-uh1bqqzcpw] {
    max-width: 1100px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-uh1bqqzcpw] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-uh1bqqzcpw] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-uh1bqqzcpw] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-uh1bqqzcpw] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-uh1bqqzcpw] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-uh1bqqzcpw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-uh1bqqzcpw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-uh1bqqzcpw] {
    opacity: 0.4;
}

.empty-state-text[b-uh1bqqzcpw] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-uh1bqqzcpw] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-uh1bqqzcpw] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-uh1bqqzcpw] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-uh1bqqzcpw] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-uh1bqqzcpw] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-uh1bqqzcpw] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-uh1bqqzcpw] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-uh1bqqzcpw] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-uh1bqqzcpw] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-uh1bqqzcpw]::placeholder {
    color: var(--color-gray-400);
}

.form-control-sm[b-uh1bqqzcpw] {
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-xs);
}

.form-control-static[b-uh1bqqzcpw] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

[b-uh1bqqzcpw] .form-check-input {
    width: 18px;
    height: 18px;
    margin-top: var(--space-1);
}

/* Lines Section */
.btn-add-line[b-uh1bqqzcpw] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    margin-left: auto;
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-action);
    background: transparent;
    border: var(--border-width-thin) solid var(--color-action);
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-add-line:hover[b-uh1bqqzcpw] {
    background-color: var(--color-action);
    color: var(--text-on-action);
}

.lines-empty[b-uh1bqqzcpw] {
    text-align: center;
    padding: var(--space-8) 0;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.lines-table-wrapper[b-uh1bqqzcpw] {
    overflow-x: auto;
}

.lines-table[b-uh1bqqzcpw] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-xs);
}

.lines-table th[b-uh1bqqzcpw] {
    padding: var(--space-2) var(--space-2);
    text-align: left;
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    white-space: nowrap;
}

.lines-table td[b-uh1bqqzcpw] {
    padding: var(--space-2) var(--space-2);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    vertical-align: middle;
}

.lines-table tr:last-child td[b-uh1bqqzcpw] {
    border-bottom: none;
}

.col-num[b-uh1bqqzcpw] {
    width: 40px;
    text-align: center;
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
}

.col-type[b-uh1bqqzcpw] {
    min-width: 180px;
}

.col-due[b-uh1bqqzcpw], .col-exp[b-uh1bqqzcpw] {
    width: 80px;
}

.col-days[b-uh1bqqzcpw] {
    width: 70px;
}

.col-pct[b-uh1bqqzcpw] {
    width: 80px;
}

.col-action[b-uh1bqqzcpw] {
    width: 40px;
    text-align: center;
}

.btn-icon[b-uh1bqqzcpw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-uh1bqqzcpw] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
}

.btn-icon-danger:hover[b-uh1bqqzcpw] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.btn-action[b-uh1bqqzcpw] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-uh1bqqzcpw] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-uh1bqqzcpw] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-uh1bqqzcpw] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-uh1bqqzcpw] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-uh1bqqzcpw] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-uh1bqqzcpw] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-uh1bqqzcpw] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/PaymentList.razor.rz.scp.css */
/* ===========================
   PaymentList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-f04kzaeapg] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-f04kzaeapg] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-f04kzaeapg] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-f04kzaeapg] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-f04kzaeapg] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-f04kzaeapg] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-f04kzaeapg] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-f04kzaeapg] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-f04kzaeapg] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-f04kzaeapg] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-f04kzaeapg] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-f04kzaeapg] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-f04kzaeapg] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-f04kzaeapg]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-f04kzaeapg] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-f04kzaeapg] {
    color: var(--color-primary);
}

.search-count[b-f04kzaeapg] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-f04kzaeapg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-f04kzaeapg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-f04kzaeapg] {
    opacity: 0.4;
}

.empty-state-text[b-f04kzaeapg] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-f04kzaeapg] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-f04kzaeapg] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-f04kzaeapg] {
    border-bottom: none;
}

.item-row:hover[b-f04kzaeapg] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-f04kzaeapg] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-f04kzaeapg] {
    flex: 1;
    min-width: 0;
}

.item-name[b-f04kzaeapg] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-f04kzaeapg] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-f04kzaeapg] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-f04kzaeapg] {
    color: var(--color-gray-300);
}

.badge-default[b-f04kzaeapg] {
    display: inline-flex;
    align-items: center;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-success);
    background-color: #edf7ed;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Action Buttons */
.item-actions[b-f04kzaeapg] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-f04kzaeapg] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-f04kzaeapg] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-f04kzaeapg] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-f04kzaeapg] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-f04kzaeapg] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-f04kzaeapg] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-f04kzaeapg] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-f04kzaeapg] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-f04kzaeapg] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-f04kzaeapg] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-f04kzaeapg] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-f04kzaeapg] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-f04kzaeapg] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-f04kzaeapg] {
        flex-wrap: wrap;
    }

    .item-actions[b-f04kzaeapg] {
        order: 6;
        margin-left: auto;
    }
}

/* /Components/Pages/Common/PaymentTypeCreate.razor.rz.scp.css */
/* ===========================
   PaymentTypeCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-7oepswdw86] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-7oepswdw86] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-7oepswdw86] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-7oepswdw86] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-7oepswdw86] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-7oepswdw86] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-7oepswdw86] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-7oepswdw86] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-7oepswdw86] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-7oepswdw86] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-7oepswdw86] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-7oepswdw86] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-7oepswdw86] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-7oepswdw86] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-7oepswdw86]::placeholder {
    color: var(--color-gray-400);
}

.btn-action[b-7oepswdw86] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-7oepswdw86] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-7oepswdw86] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-7oepswdw86] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-7oepswdw86] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-7oepswdw86] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-7oepswdw86] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-7oepswdw86] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/PaymentTypeEdit.razor.rz.scp.css */
/* ===========================
   PaymentTypeEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-1k7yrydcvt] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-1k7yrydcvt] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-1k7yrydcvt] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-1k7yrydcvt] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-1k7yrydcvt] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-1k7yrydcvt] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-1k7yrydcvt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-1k7yrydcvt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-1k7yrydcvt] {
    opacity: 0.4;
}

.empty-state-text[b-1k7yrydcvt] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-1k7yrydcvt] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-1k7yrydcvt] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-1k7yrydcvt] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-1k7yrydcvt] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-1k7yrydcvt] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-1k7yrydcvt] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-1k7yrydcvt] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-1k7yrydcvt] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-1k7yrydcvt] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-1k7yrydcvt]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-1k7yrydcvt] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-1k7yrydcvt] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-1k7yrydcvt] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-1k7yrydcvt] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-1k7yrydcvt] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-1k7yrydcvt] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-1k7yrydcvt] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-1k7yrydcvt] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-1k7yrydcvt] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/PaymentTypeList.razor.rz.scp.css */
/* ===========================
   PaymentTypeList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-7hrmrufiqh] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-7hrmrufiqh] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-7hrmrufiqh] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-7hrmrufiqh] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-7hrmrufiqh] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-7hrmrufiqh] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-7hrmrufiqh] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-7hrmrufiqh] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-7hrmrufiqh] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-7hrmrufiqh] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-7hrmrufiqh] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-7hrmrufiqh] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-7hrmrufiqh] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-7hrmrufiqh]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-7hrmrufiqh] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-7hrmrufiqh] {
    color: var(--color-primary);
}

.search-count[b-7hrmrufiqh] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-7hrmrufiqh] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-7hrmrufiqh] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-7hrmrufiqh] {
    opacity: 0.4;
}

.empty-state-text[b-7hrmrufiqh] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-7hrmrufiqh] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-7hrmrufiqh] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-7hrmrufiqh] {
    border-bottom: none;
}

.item-row:hover[b-7hrmrufiqh] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-7hrmrufiqh] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-7hrmrufiqh] {
    flex: 1;
    min-width: 0;
}

.item-name[b-7hrmrufiqh] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-7hrmrufiqh] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-7hrmrufiqh] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-7hrmrufiqh] {
    color: var(--color-gray-300);
}

/* Action Buttons */
.item-actions[b-7hrmrufiqh] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-7hrmrufiqh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-7hrmrufiqh] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-7hrmrufiqh] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-7hrmrufiqh] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-7hrmrufiqh] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-7hrmrufiqh] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-7hrmrufiqh] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-7hrmrufiqh] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-7hrmrufiqh] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-7hrmrufiqh] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-7hrmrufiqh] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-7hrmrufiqh] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-7hrmrufiqh] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-7hrmrufiqh] {
        flex-wrap: wrap;
    }

    .item-actions[b-7hrmrufiqh] {
        order: 6;
        margin-left: auto;
    }
}

/* /Components/Pages/Common/ProductionMethodCreate.razor.rz.scp.css */
/* ===========================
   ProductionMethodCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-cpccv1yhdz] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-cpccv1yhdz] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-cpccv1yhdz] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-cpccv1yhdz] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-cpccv1yhdz] { opacity: 1; }

.form-section[b-cpccv1yhdz] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-cpccv1yhdz] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-cpccv1yhdz] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-cpccv1yhdz] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-cpccv1yhdz] { display: flex; flex-direction: column; }
.form-group-wide[b-cpccv1yhdz] { grid-column: span 2; }
.form-label[b-cpccv1yhdz] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-cpccv1yhdz] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-cpccv1yhdz] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-cpccv1yhdz]::placeholder { color: var(--color-gray-400); }
.btn-action[b-cpccv1yhdz] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-cpccv1yhdz] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-cpccv1yhdz] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-cpccv1yhdz] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-cpccv1yhdz] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-cpccv1yhdz] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-cpccv1yhdz] { grid-template-columns: 1fr; }
    .form-group-wide[b-cpccv1yhdz] { grid-column: span 1; }
}
/* /Components/Pages/Common/ProductionMethodEdit.razor.rz.scp.css */
/* ===========================
   ProductionMethodEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-ytsn4awwc1] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-ytsn4awwc1] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-ytsn4awwc1] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-ytsn4awwc1] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-ytsn4awwc1] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-ytsn4awwc1] { opacity: 1; }

.loading-state[b-ytsn4awwc1] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-ytsn4awwc1] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-ytsn4awwc1] { opacity: 0.4; }
.empty-state-text[b-ytsn4awwc1] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-ytsn4awwc1] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-ytsn4awwc1] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-ytsn4awwc1] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-ytsn4awwc1] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-ytsn4awwc1] { display: flex; flex-direction: column; }
.form-group-wide[b-ytsn4awwc1] { grid-column: span 2; }
.form-label[b-ytsn4awwc1] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-ytsn4awwc1] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-ytsn4awwc1] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-ytsn4awwc1]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-ytsn4awwc1] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-ytsn4awwc1] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-ytsn4awwc1] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-ytsn4awwc1] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-ytsn4awwc1] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-ytsn4awwc1] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-ytsn4awwc1] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-ytsn4awwc1] { grid-template-columns: 1fr; }
    .form-group-wide[b-ytsn4awwc1] { grid-column: span 1; }
}
/* /Components/Pages/Common/ProductionMethodList.razor.rz.scp.css */
/* ===========================
   ProductionMethodList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-vsk2oaax9t] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-vsk2oaax9t] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-vsk2oaax9t] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-vsk2oaax9t] { background-color: var(--color-action-active); }

.alert-bar[b-vsk2oaax9t] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-vsk2oaax9t] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-vsk2oaax9t] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-vsk2oaax9t] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-vsk2oaax9t] { opacity: 1; }

.search-bar[b-vsk2oaax9t] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-vsk2oaax9t] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-vsk2oaax9t] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-vsk2oaax9t] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-vsk2oaax9t]::placeholder { color: var(--text-muted); }
.search-clear[b-vsk2oaax9t] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-vsk2oaax9t] { color: var(--color-primary); }
.search-count[b-vsk2oaax9t] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-vsk2oaax9t] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-vsk2oaax9t] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-vsk2oaax9t] { opacity: 0.4; }
.empty-state-text[b-vsk2oaax9t] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-vsk2oaax9t] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-vsk2oaax9t] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-vsk2oaax9t] { border-bottom: none; }
.item-row:hover[b-vsk2oaax9t] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-vsk2oaax9t] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-vsk2oaax9t] { flex: 1; min-width: 0; }
.item-name[b-vsk2oaax9t] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-vsk2oaax9t] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-vsk2oaax9t] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-vsk2oaax9t] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-vsk2oaax9t] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-vsk2oaax9t] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-vsk2oaax9t] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-vsk2oaax9t] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-vsk2oaax9t] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-vsk2oaax9t] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-vsk2oaax9t] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-vsk2oaax9t] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-vsk2oaax9t] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-vsk2oaax9t] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-vsk2oaax9t] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-vsk2oaax9t] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-vsk2oaax9t] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-vsk2oaax9t] { flex-wrap: wrap; }
    .item-actions[b-vsk2oaax9t] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Common/ProductionZoneCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-wkqhcuscbq] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-wkqhcuscbq] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-wkqhcuscbq] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-wkqhcuscbq] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-wkqhcuscbq] { opacity: 1; }

.form-section[b-wkqhcuscbq] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-wkqhcuscbq] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-wkqhcuscbq] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-wkqhcuscbq] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-wkqhcuscbq] { display: flex; flex-direction: column; }
.form-group-wide[b-wkqhcuscbq] { grid-column: span 2; }
.form-label[b-wkqhcuscbq] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-wkqhcuscbq] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-wkqhcuscbq] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-wkqhcuscbq]::placeholder { color: var(--color-gray-400); }
.btn-action[b-wkqhcuscbq] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-wkqhcuscbq] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-wkqhcuscbq] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-wkqhcuscbq] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-wkqhcuscbq] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-wkqhcuscbq] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-wkqhcuscbq] { grid-template-columns: 1fr; }
    .form-group-wide[b-wkqhcuscbq] { grid-column: span 1; }
}
/* /Components/Pages/Common/ProductionZoneEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-zu0ytmzuv2] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-zu0ytmzuv2] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-zu0ytmzuv2] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-zu0ytmzuv2] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-zu0ytmzuv2] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-zu0ytmzuv2] { opacity: 1; }

.loading-state[b-zu0ytmzuv2] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-zu0ytmzuv2] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-zu0ytmzuv2] { opacity: 0.4; }
.empty-state-text[b-zu0ytmzuv2] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-zu0ytmzuv2] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-zu0ytmzuv2] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-zu0ytmzuv2] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-zu0ytmzuv2] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-zu0ytmzuv2] { display: flex; flex-direction: column; }
.form-group-wide[b-zu0ytmzuv2] { grid-column: span 2; }
.form-label[b-zu0ytmzuv2] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-zu0ytmzuv2] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-zu0ytmzuv2] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-zu0ytmzuv2]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-zu0ytmzuv2] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-zu0ytmzuv2] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-zu0ytmzuv2] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-zu0ytmzuv2] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-zu0ytmzuv2] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-zu0ytmzuv2] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-zu0ytmzuv2] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-zu0ytmzuv2] { grid-template-columns: 1fr; }
    .form-group-wide[b-zu0ytmzuv2] { grid-column: span 1; }
}
/* /Components/Pages/Common/ProductionZoneList.razor.rz.scp.css */
/* ===========================
   ProductGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-ya8wlctxoi] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-ya8wlctxoi] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-ya8wlctxoi] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-ya8wlctxoi] { background-color: var(--color-action-active); }

.alert-bar[b-ya8wlctxoi] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-ya8wlctxoi] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-ya8wlctxoi] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-ya8wlctxoi] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-ya8wlctxoi] { opacity: 1; }

.search-bar[b-ya8wlctxoi] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-ya8wlctxoi] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-ya8wlctxoi] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-ya8wlctxoi] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-ya8wlctxoi]::placeholder { color: var(--text-muted); }
.search-clear[b-ya8wlctxoi] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-ya8wlctxoi] { color: var(--color-primary); }
.search-count[b-ya8wlctxoi] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-ya8wlctxoi] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-ya8wlctxoi] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-ya8wlctxoi] { opacity: 0.4; }
.empty-state-text[b-ya8wlctxoi] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-ya8wlctxoi] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-ya8wlctxoi] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-ya8wlctxoi] { border-bottom: none; }
.item-row:hover[b-ya8wlctxoi] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-ya8wlctxoi] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-ya8wlctxoi] { flex: 1; min-width: 0; }
.item-name[b-ya8wlctxoi] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-ya8wlctxoi] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-ya8wlctxoi] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-ya8wlctxoi] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-ya8wlctxoi] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-ya8wlctxoi] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-ya8wlctxoi] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-ya8wlctxoi] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-ya8wlctxoi] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-ya8wlctxoi] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-ya8wlctxoi] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-ya8wlctxoi] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-ya8wlctxoi] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-ya8wlctxoi] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-ya8wlctxoi] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-ya8wlctxoi] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-ya8wlctxoi] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-ya8wlctxoi] { flex-wrap: wrap; }
    .item-actions[b-ya8wlctxoi] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Common/SupplierCreate.razor.rz.scp.css */
/* ===========================
   ContactCreate / ContactEdit - Shared Form Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-spwhpastex] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-spwhpastex] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-spwhpastex] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-spwhpastex] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-spwhpastex] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-spwhpastex] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-spwhpastex] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-spwhpastex] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-spwhpastex] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-spwhpastex] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-spwhpastex] {
    grid-column: span 2;
}

/* Larghezza estesa anche per i LookupField (componente figlio con CSS isolato) */
.form-grid[b-spwhpastex]  .form-group-wide {
    grid-column: span 2;
}

/* Impostazioni Commerciali: 2 campi per riga, con una riga centrale da 3 (col-3up).
   Base a 6 colonne: 2/riga = span 3, 3/riga = span 2. */
.form-grid-commercial[b-spwhpastex] {
    grid-template-columns: repeat(6, 1fr);
}

.form-grid-commercial > .form-group[b-spwhpastex],
.form-grid-commercial[b-spwhpastex]  .form-group {
    grid-column: span 3;
}

.form-grid-commercial > .form-group.col-3up[b-spwhpastex],
.form-grid-commercial[b-spwhpastex]  .form-group.col-3up {
    grid-column: span 2;
}

.form-group-checkbox[b-spwhpastex] {
    display: flex;
    align-items: center;
    padding-top: var(--space-6);
}

.form-group-checkbox .form-check-label[b-spwhpastex] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    cursor: pointer;
}

.form-group-checkbox .form-check-input[b-spwhpastex] {
    width: 18px;
    height: 18px;
    accent-color: var(--color-primary);
    cursor: pointer;
}

/* Form Controls */
.form-label[b-spwhpastex] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-spwhpastex] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-spwhpastex] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-spwhpastex]::placeholder {
    color: var(--color-gray-400);
}

.btn-action[b-spwhpastex] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-spwhpastex] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-spwhpastex] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-spwhpastex] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-spwhpastex] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-spwhpastex] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-spwhpastex] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-spwhpastex] {
        grid-column: span 1;
    }

    .form-grid-commercial[b-spwhpastex] {
        grid-template-columns: 1fr;
    }

    .form-grid-commercial > .form-group[b-spwhpastex],
    .form-grid-commercial[b-spwhpastex]  .form-group,
    .form-grid-commercial > .form-group.col-3up[b-spwhpastex],
    .form-grid-commercial[b-spwhpastex]  .form-group.col-3up {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/SupplierEdit.razor.rz.scp.css */
/* ===========================
   ContactEdit - Scoped Styles
   Reuses same patterns as ContactCreate
   =========================== */

/* Page Container */
.page-container[b-hmmc1cz8kc] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-hmmc1cz8kc] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-hmmc1cz8kc] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-hmmc1cz8kc] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-hmmc1cz8kc] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-hmmc1cz8kc] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-hmmc1cz8kc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-hmmc1cz8kc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-hmmc1cz8kc] {
    opacity: 0.4;
}

.empty-state-text[b-hmmc1cz8kc] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-hmmc1cz8kc] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-hmmc1cz8kc] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-hmmc1cz8kc] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-hmmc1cz8kc] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-hmmc1cz8kc] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-hmmc1cz8kc] {
    grid-column: span 2;
}

/* Larghezza estesa anche per i LookupField (componente figlio con CSS isolato) */
.form-grid[b-hmmc1cz8kc]  .form-group-wide {
    grid-column: span 2;
}

/* Impostazioni Commerciali: 2 campi per riga, con una riga centrale da 3 (col-3up).
   Base a 6 colonne: 2/riga = span 3, 3/riga = span 2. */
.form-grid-commercial[b-hmmc1cz8kc] {
    grid-template-columns: repeat(6, 1fr);
}

.form-grid-commercial > .form-group[b-hmmc1cz8kc],
.form-grid-commercial[b-hmmc1cz8kc]  .form-group {
    grid-column: span 3;
}

.form-grid-commercial > .form-group.col-3up[b-hmmc1cz8kc],
.form-grid-commercial[b-hmmc1cz8kc]  .form-group.col-3up {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-hmmc1cz8kc] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-hmmc1cz8kc] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-hmmc1cz8kc] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-hmmc1cz8kc]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-hmmc1cz8kc] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-hmmc1cz8kc] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-hmmc1cz8kc] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-hmmc1cz8kc] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-hmmc1cz8kc] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-hmmc1cz8kc] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-hmmc1cz8kc] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-hmmc1cz8kc] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-hmmc1cz8kc] {
        grid-column: span 1;
    }

    .form-grid-commercial[b-hmmc1cz8kc] {
        grid-template-columns: 1fr;
    }

    .form-grid-commercial > .form-group[b-hmmc1cz8kc],
    .form-grid-commercial[b-hmmc1cz8kc]  .form-group,
    .form-grid-commercial > .form-group.col-3up[b-hmmc1cz8kc],
    .form-grid-commercial[b-hmmc1cz8kc]  .form-group.col-3up {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/SupplierList.razor.rz.scp.css */
/* ===========================
   ContactList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-badse3xjjw] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-badse3xjjw] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-badse3xjjw] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-badse3xjjw] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-badse3xjjw] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-badse3xjjw] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-badse3xjjw] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-badse3xjjw] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-badse3xjjw] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-badse3xjjw] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-badse3xjjw] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-badse3xjjw] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-badse3xjjw] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-badse3xjjw]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-badse3xjjw] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-badse3xjjw] {
    color: var(--color-primary);
}

.search-count[b-badse3xjjw] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-badse3xjjw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-badse3xjjw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-badse3xjjw] {
    opacity: 0.4;
}

.empty-state-text[b-badse3xjjw] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Contact List */
.contact-list[b-badse3xjjw] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Contact Row */
.contact-row[b-badse3xjjw] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.contact-row:last-child[b-badse3xjjw] {
    border-bottom: none;
}

.contact-row:hover[b-badse3xjjw] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.contact-avatar[b-badse3xjjw] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Contact Info */
.contact-info[b-badse3xjjw] {
    flex: 1;
    min-width: 0;
}

.contact-name[b-badse3xjjw] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.contact-meta[b-badse3xjjw] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.contact-code[b-badse3xjjw] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-badse3xjjw] {
    color: var(--color-gray-300);
}

.contact-details[b-badse3xjjw] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-top: var(--space-1);
}

.contact-detail-item[b-badse3xjjw] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.contact-detail-item svg[b-badse3xjjw] {
    flex-shrink: 0;
}

/* Badges */
.contact-badges[b-badse3xjjw] {
    flex-shrink: 0;
    display: flex;
    gap: var(--space-2);
}

.badge[b-badse3xjjw] {
    display: inline-flex;
    align-items: center;
    padding: 3px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.badge-primary[b-badse3xjjw] {
    background-color: rgba(11, 36, 62, 0.1);
    color: var(--color-primary);
}

.badge-info[b-badse3xjjw] {
    background-color: rgba(23, 162, 184, 0.1);
    color: var(--color-info);
}

.badge-danger[b-badse3xjjw] {
    background-color: rgba(178, 34, 34, 0.1);
    color: var(--color-action);
}

/* Action Buttons */
.contact-actions[b-badse3xjjw] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.actions-separator[b-badse3xjjw] {
    width: 1px;
    height: 20px;
    background-color: var(--border-color-light);
    margin: 0 var(--space-1);
}

.btn-icon[b-badse3xjjw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-badse3xjjw] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-badse3xjjw] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-badse3xjjw] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-badse3xjjw] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-badse3xjjw] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-badse3xjjw] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-badse3xjjw] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-badse3xjjw] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-badse3xjjw] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-badse3xjjw] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button (used in confirm dialog) */
.btn-outline-primary[b-badse3xjjw] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-badse3xjjw] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .contact-row[b-badse3xjjw] {
        flex-wrap: wrap;
    }

    .contact-badges[b-badse3xjjw] {
        order: 5;
    }

    .contact-actions[b-badse3xjjw] {
        order: 6;
        margin-left: auto;
    }

    .contact-details[b-badse3xjjw] {
        flex-wrap: wrap;
    }
}

/* /Components/Pages/Common/TaxRateCreate.razor.rz.scp.css */
/* ===========================
   TaxRateCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-hpvqxsisad] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-hpvqxsisad] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-hpvqxsisad] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-hpvqxsisad] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-hpvqxsisad] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-hpvqxsisad] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-hpvqxsisad] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-hpvqxsisad] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-hpvqxsisad] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-hpvqxsisad] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-hpvqxsisad] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-hpvqxsisad] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-hpvqxsisad] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-hpvqxsisad] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-hpvqxsisad]::placeholder {
    color: var(--color-gray-400);
}

.btn-action[b-hpvqxsisad] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-hpvqxsisad] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-hpvqxsisad] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-hpvqxsisad] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-hpvqxsisad] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-hpvqxsisad] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-hpvqxsisad] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-hpvqxsisad] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/TaxRateEdit.razor.rz.scp.css */
/* ===========================
   TaxRateEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-ngyk60ikus] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-ngyk60ikus] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-ngyk60ikus] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-ngyk60ikus] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-ngyk60ikus] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-ngyk60ikus] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-ngyk60ikus] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-ngyk60ikus] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-ngyk60ikus] {
    opacity: 0.4;
}

.empty-state-text[b-ngyk60ikus] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-ngyk60ikus] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-ngyk60ikus] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-ngyk60ikus] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-ngyk60ikus] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-ngyk60ikus] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-ngyk60ikus] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-ngyk60ikus] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-ngyk60ikus] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-ngyk60ikus] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-ngyk60ikus]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-ngyk60ikus] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-ngyk60ikus] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-ngyk60ikus] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-ngyk60ikus] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-ngyk60ikus] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-ngyk60ikus] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-ngyk60ikus] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-ngyk60ikus] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-ngyk60ikus] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/TaxRateList.razor.rz.scp.css */
/* ===========================
   TaxRateList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-u61y6nzzmq] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-u61y6nzzmq] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-u61y6nzzmq] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-u61y6nzzmq] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-u61y6nzzmq] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-u61y6nzzmq] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-u61y6nzzmq] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-u61y6nzzmq] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-u61y6nzzmq] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-u61y6nzzmq] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-u61y6nzzmq] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-u61y6nzzmq] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-u61y6nzzmq] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-u61y6nzzmq]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-u61y6nzzmq] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-u61y6nzzmq] {
    color: var(--color-primary);
}

.search-count[b-u61y6nzzmq] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-u61y6nzzmq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-u61y6nzzmq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-u61y6nzzmq] {
    opacity: 0.4;
}

.empty-state-text[b-u61y6nzzmq] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-u61y6nzzmq] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-u61y6nzzmq] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-u61y6nzzmq] {
    border-bottom: none;
}

.item-row:hover[b-u61y6nzzmq] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-u61y6nzzmq] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-u61y6nzzmq] {
    flex: 1;
    min-width: 0;
}

.item-name[b-u61y6nzzmq] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-u61y6nzzmq] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-u61y6nzzmq] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.item-percentage[b-u61y6nzzmq] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
}

.meta-separator[b-u61y6nzzmq] {
    color: var(--color-gray-300);
}

/* Action Buttons */
.item-actions[b-u61y6nzzmq] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-u61y6nzzmq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-u61y6nzzmq] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-u61y6nzzmq] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-u61y6nzzmq] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-u61y6nzzmq] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-u61y6nzzmq] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-u61y6nzzmq] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-u61y6nzzmq] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-u61y6nzzmq] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-u61y6nzzmq] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-u61y6nzzmq] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-u61y6nzzmq] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-u61y6nzzmq] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-u61y6nzzmq] {
        flex-wrap: wrap;
    }

    .item-actions[b-u61y6nzzmq] {
        order: 6;
        margin-left: auto;
    }
}

/* /Components/Pages/Common/ZoneCreate.razor.rz.scp.css */
/* ===========================
   ZoneCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-cg7wd8h2ab] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-cg7wd8h2ab] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-cg7wd8h2ab] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-cg7wd8h2ab] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-cg7wd8h2ab] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-cg7wd8h2ab] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-cg7wd8h2ab] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-cg7wd8h2ab] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-cg7wd8h2ab] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-cg7wd8h2ab] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-cg7wd8h2ab] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-cg7wd8h2ab] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-cg7wd8h2ab] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-cg7wd8h2ab] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-cg7wd8h2ab]::placeholder {
    color: var(--color-gray-400);
}

.form-control-sm[b-cg7wd8h2ab] {
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-xs);
}

/* Lines Section */
.btn-add-line[b-cg7wd8h2ab] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    margin-left: auto;
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-action);
    background: transparent;
    border: var(--border-width-thin) solid var(--color-action);
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-add-line:hover[b-cg7wd8h2ab] {
    background-color: var(--color-action);
    color: var(--text-on-action);
}

.lines-empty[b-cg7wd8h2ab] {
    text-align: center;
    padding: var(--space-8) 0;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.lines-table-wrapper[b-cg7wd8h2ab] {
    overflow-x: auto;
}

.lines-table[b-cg7wd8h2ab] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-xs);
}

.lines-table th[b-cg7wd8h2ab] {
    padding: var(--space-2) var(--space-2);
    text-align: left;
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    white-space: nowrap;
}

.lines-table td[b-cg7wd8h2ab] {
    padding: var(--space-2) var(--space-2);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    vertical-align: middle;
}

.lines-table tr:last-child td[b-cg7wd8h2ab] {
    border-bottom: none;
}

.col-num[b-cg7wd8h2ab] {
    width: 40px;
    text-align: center;
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
}

.col-code[b-cg7wd8h2ab] {
    width: 180px;
}

.col-desc[b-cg7wd8h2ab] {
    min-width: 200px;
}

.col-action[b-cg7wd8h2ab] {
    width: 40px;
    text-align: center;
}

.btn-icon[b-cg7wd8h2ab] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-cg7wd8h2ab] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
}

.btn-icon-danger:hover[b-cg7wd8h2ab] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.btn-action[b-cg7wd8h2ab] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-cg7wd8h2ab] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-cg7wd8h2ab] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-cg7wd8h2ab] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-cg7wd8h2ab] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-cg7wd8h2ab] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-cg7wd8h2ab] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-cg7wd8h2ab] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/ZoneEdit.razor.rz.scp.css */
/* ===========================
   ZoneEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-9xindz46cy] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-9xindz46cy] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-9xindz46cy] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-9xindz46cy] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-9xindz46cy] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-9xindz46cy] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-9xindz46cy] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-9xindz46cy] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-9xindz46cy] {
    opacity: 0.4;
}

.empty-state-text[b-9xindz46cy] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-9xindz46cy] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-9xindz46cy] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-9xindz46cy] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-9xindz46cy] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-9xindz46cy] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-9xindz46cy] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-9xindz46cy] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-9xindz46cy] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-9xindz46cy] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-9xindz46cy]::placeholder {
    color: var(--color-gray-400);
}

.form-control-sm[b-9xindz46cy] {
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-xs);
}

.form-control-static[b-9xindz46cy] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

/* Lines Section */
.btn-add-line[b-9xindz46cy] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    margin-left: auto;
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-action);
    background: transparent;
    border: var(--border-width-thin) solid var(--color-action);
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-add-line:hover[b-9xindz46cy] {
    background-color: var(--color-action);
    color: var(--text-on-action);
}

.lines-empty[b-9xindz46cy] {
    text-align: center;
    padding: var(--space-8) 0;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.lines-table-wrapper[b-9xindz46cy] {
    overflow-x: auto;
}

.lines-table[b-9xindz46cy] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-xs);
}

.lines-table th[b-9xindz46cy] {
    padding: var(--space-2) var(--space-2);
    text-align: left;
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    white-space: nowrap;
}

.lines-table td[b-9xindz46cy] {
    padding: var(--space-2) var(--space-2);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    vertical-align: middle;
}

.lines-table tr:last-child td[b-9xindz46cy] {
    border-bottom: none;
}

.col-num[b-9xindz46cy] {
    width: 40px;
    text-align: center;
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
}

.col-code[b-9xindz46cy] {
    width: 180px;
}

.col-desc[b-9xindz46cy] {
    min-width: 200px;
}

.col-action[b-9xindz46cy] {
    width: 40px;
    text-align: center;
}

.btn-icon[b-9xindz46cy] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-9xindz46cy] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
}

.btn-icon-danger:hover[b-9xindz46cy] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.btn-action[b-9xindz46cy] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-9xindz46cy] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-9xindz46cy] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-9xindz46cy] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-9xindz46cy] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-9xindz46cy] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-9xindz46cy] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-9xindz46cy] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Common/ZoneList.razor.rz.scp.css */
/* ===========================
   ZoneList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-z8v32dj5j0] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-z8v32dj5j0] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-z8v32dj5j0] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-z8v32dj5j0] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-z8v32dj5j0] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-z8v32dj5j0] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-z8v32dj5j0] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-z8v32dj5j0] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-z8v32dj5j0] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-z8v32dj5j0] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-z8v32dj5j0] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-z8v32dj5j0] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-z8v32dj5j0] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-z8v32dj5j0]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-z8v32dj5j0] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-z8v32dj5j0] {
    color: var(--color-primary);
}

.search-count[b-z8v32dj5j0] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-z8v32dj5j0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-z8v32dj5j0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-z8v32dj5j0] {
    opacity: 0.4;
}

.empty-state-text[b-z8v32dj5j0] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-z8v32dj5j0] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-z8v32dj5j0] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-z8v32dj5j0] {
    border-bottom: none;
}

.item-row:hover[b-z8v32dj5j0] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-z8v32dj5j0] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-z8v32dj5j0] {
    flex: 1;
    min-width: 0;
}

.item-name[b-z8v32dj5j0] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-z8v32dj5j0] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-z8v32dj5j0] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-z8v32dj5j0] {
    color: var(--color-gray-300);
}

/* Action Buttons */
.item-actions[b-z8v32dj5j0] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-z8v32dj5j0] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-z8v32dj5j0] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-z8v32dj5j0] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-z8v32dj5j0] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-z8v32dj5j0] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-z8v32dj5j0] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-z8v32dj5j0] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-z8v32dj5j0] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-z8v32dj5j0] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-z8v32dj5j0] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-z8v32dj5j0] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-z8v32dj5j0] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-z8v32dj5j0] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-z8v32dj5j0] {
        flex-wrap: wrap;
    }

    .item-actions[b-z8v32dj5j0] {
        order: 6;
        margin-left: auto;
    }
}

/* /Components/Pages/Configuration/BarcodeReaderList.razor.rz.scp.css */
.table-wrapper[b-2b5388ca1y] { overflow-x: auto; }

.data-table[b-2b5388ca1y] { width: 100%; border-collapse: collapse; background: #fff; }

.data-table th[b-2b5388ca1y] {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #6b7280;
    text-align: left;
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.data-table td[b-2b5388ca1y] {
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.9rem;
}

.data-table tr:hover td[b-2b5388ca1y] { background: #f9fafb; }

.data-table .col-code[b-2b5388ca1y] { width: 5rem; }
.data-table .col-actions[b-2b5388ca1y] { width: 6rem; text-align: right; white-space: nowrap; }

.code-badge[b-2b5388ca1y] {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    background: #eef2f7;
    border: 1px solid #d7dee8;
    color: #334155;
    font-size: 0.8rem;
    font-weight: 700;
}

.btn-icon-action[b-2b5388ca1y] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #374151;
    cursor: pointer;
    padding: 0;
}

.btn-icon-action:hover[b-2b5388ca1y] { background: #f3f4f6; }
.btn-icon-action.btn-icon-danger[b-2b5388ca1y] { color: #b91c1c; }
.btn-icon-action.btn-icon-danger:hover[b-2b5388ca1y] { background: #fef2f2; border-color: #fecaca; }

.empty-state-hint[b-2b5388ca1y] { font-size: 0.85rem; color: #6b7280; max-width: 40rem; margin: 0.35rem auto 0; }

/* Conferma di eliminazione */
.modal-backdrop-simple[b-2b5388ca1y] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
}

.modal-simple[b-2b5388ca1y] {
    background: #fff;
    padding: 1.4rem;
    max-width: 30rem;
    width: 100%;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.modal-simple h3[b-2b5388ca1y] { margin: 0 0 0.6rem; font-size: 1.05rem; }

.modal-warning[b-2b5388ca1y] {
    background: #fffbeb;
    border: 1px solid #fcd34d;
    color: #92400e;
    padding: 0.5rem 0.7rem;
    font-size: 0.85rem;
}

.modal-actions[b-2b5388ca1y] { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 1rem; }

/* ===========================
   Cromo di pagina
   In questo progetto container, header, alert e stati non sono globali ma scoped per pagina:
   senza queste regole titolo, sottotitolo e barre dei messaggi restano senza stile.
   Blocco allineato a Orders/DeliveryOrderByCustomerList.razor.css.
   =========================== */

.page-container[b-2b5388ca1y] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}
/* ===== Barre messaggi ===== */
.alert-bar[b-2b5388ca1y] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-2b5388ca1y] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-2b5388ca1y] {
    background-color: #e8f5ee;
    border-left-color: var(--color-success);
    color: #17603f;
}

.alert-bar-close[b-2b5388ca1y] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-2b5388ca1y] {
    opacity: 1;
}

/* ===== Stati caricamento / vuoto ===== */
.loading-state[b-2b5388ca1y] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-2b5388ca1y] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-2b5388ca1y] {
    opacity: 0.4;
}

.empty-state-text[b-2b5388ca1y] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* ===== Barra di avviso: postazioni non ancora abilitate ===== */
.alert-bar-warning[b-2b5388ca1y] {
    background-color: #fff8e6;
    border-left-color: var(--color-warning, #d97706);
    color: #7a4b06;
}

/* ===== Stato di arruolamento ===== */
.badge[b-2b5388ca1y] {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    border: 1px solid transparent;
}

.badge-success[b-2b5388ca1y] { background: #e8f5ee; border-color: #b7e0c8; color: #17603f; }
.badge-warning[b-2b5388ca1y] { background: #fff8e6; border-color: #f5d78e; color: #7a4b06; }

/* ===== Codice di attivazione =====
   Si vede una volta sola, quindi va letto e trascritto senza errori: monospaziato, spaziato
   e selezionabile in un colpo solo. */
.code-box[b-2b5388ca1y] {
    font-family: var(--font-mono, 'Courier New', monospace);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    word-break: break-all;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    padding: 0.8rem;
    margin: 0.8rem 0 0.4rem;
    user-select: all;
}

/* ===== Modulo nel dialogo ===== */
.form-group[b-2b5388ca1y] { margin-bottom: 0.8rem; }
.form-group .form-label[b-2b5388ca1y] { display: block; font-size: 0.82rem; font-weight: 600; margin-bottom: 0.25rem; }
.form-hint[b-2b5388ca1y] { font-size: 0.78rem; color: #6b7280; font-weight: 400; }

/* ===== Schede della postazione ===== */
.card[b-2b5388ca1y] {
    background: #fff;
    border: 1px solid #e5e7eb;
    margin-bottom: var(--space-4);
}

.card-header[b-2b5388ca1y] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: 0.7rem 1rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.card-header h2[b-2b5388ca1y] { margin: 0; font-size: 0.95rem; font-weight: 700; color: var(--color-primary); }

.card-body[b-2b5388ca1y] { padding: 1rem; }

/* Il modulo dei parametri seriali ha molti campi corti: su una riga sola diventa illeggibile,
   uno per riga diventa lunghissimo. Wrap con larghezza minima. */
.form-row[b-2b5388ca1y] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.form-row .form-group[b-2b5388ca1y] { flex: 1 1 12rem; min-width: 9rem; }

.form-actions[b-2b5388ca1y] { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 0.8rem; }

.required[b-2b5388ca1y] { color: #b91c1c; }

.text-danger[b-2b5388ca1y] { color: #b91c1c; }

/* Il dialogo di aggiunta lettore ha piu' campi della conferma di eliminazione. */
.modal-wide[b-2b5388ca1y] { max-width: 46rem; }
.btn-sm[b-2b5388ca1y] { padding: 0.25rem 0.7rem; font-size: 0.82rem; }

/* Lettore su piu' postazioni: non e' un avviso, e' quasi sempre un errore di configurazione. */
.badge-danger[b-2b5388ca1y] { background: #fdeded; border-color: #f5b5b5; color: #7a1c1c; }

.form-check-row[b-2b5388ca1y] { margin: 0.2rem 0 0.6rem; }

.form-check[b-2b5388ca1y] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.9rem;
    cursor: pointer;
}

.form-check input[b-2b5388ca1y] { width: 1rem; height: 1rem; }

.form-check-row .form-hint[b-2b5388ca1y] { margin: 0.3rem 0 0; }
/* /Components/Pages/Configuration/DeviceTest.razor.rz.scp.css */
.table-wrapper[b-jal62twdrn] { overflow-x: auto; }

.data-table[b-jal62twdrn] { width: 100%; border-collapse: collapse; background: #fff; }

.data-table th[b-jal62twdrn] {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #6b7280;
    text-align: left;
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.data-table td[b-jal62twdrn] {
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.9rem;
}

.data-table tr:hover td[b-jal62twdrn] { background: #f9fafb; }

.data-table .col-code[b-jal62twdrn] { width: 5rem; }
.data-table .col-actions[b-jal62twdrn] { width: 4rem; text-align: right; white-space: nowrap; }

.code-badge[b-jal62twdrn] {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    background: #eef2f7;
    border: 1px solid #d7dee8;
    color: #334155;
    font-size: 0.8rem;
    font-weight: 700;
}

.btn-icon-action[b-jal62twdrn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #374151;
    cursor: pointer;
    padding: 0;
}

.btn-icon-action:hover[b-jal62twdrn] { background: #f3f4f6; }
.btn-icon-action.btn-icon-danger[b-jal62twdrn] { color: #b91c1c; }
.btn-icon-action.btn-icon-danger:hover[b-jal62twdrn] { background: #fef2f2; border-color: #fecaca; }

.empty-state-hint[b-jal62twdrn] { font-size: 0.85rem; color: #6b7280; max-width: 40rem; margin: 0.35rem auto 0; }

/* Conferma di eliminazione */
.modal-backdrop-simple[b-jal62twdrn] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
}

.modal-simple[b-jal62twdrn] {
    background: #fff;
    padding: 1.4rem;
    max-width: 30rem;
    width: 100%;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.modal-simple h3[b-jal62twdrn] { margin: 0 0 0.6rem; font-size: 1.05rem; }

.modal-warning[b-jal62twdrn] {
    background: #fffbeb;
    border: 1px solid #fcd34d;
    color: #92400e;
    padding: 0.5rem 0.7rem;
    font-size: 0.85rem;
}

.modal-actions[b-jal62twdrn] { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 1rem; }

/* ===========================
   Cromo di pagina
   In questo progetto container, header, alert e stati non sono globali ma scoped per pagina:
   senza queste regole titolo, sottotitolo e barre dei messaggi restano senza stile.
   Blocco allineato a Orders/DeliveryOrderByCustomerList.razor.css.
   =========================== */

.page-container[b-jal62twdrn] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-jal62twdrn] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

/* Header con MenuBackLink: freccia e titolo sulla stessa riga. */
.page-header-left[b-jal62twdrn] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.page-heading[b-jal62twdrn] {
    min-width: 0;
}

.page-header-right[b-jal62twdrn] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.page-title[b-jal62twdrn] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-jal62twdrn] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-jal62twdrn] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* ===== Barre messaggi ===== */
.alert-bar[b-jal62twdrn] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-jal62twdrn] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-jal62twdrn] {
    background-color: #e8f5ee;
    border-left-color: var(--color-success);
    color: #17603f;
}

.alert-bar-close[b-jal62twdrn] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-jal62twdrn] {
    opacity: 1;
}

/* ===== Stati caricamento / vuoto ===== */
.loading-state[b-jal62twdrn] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-jal62twdrn] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-jal62twdrn] {
    opacity: 0.4;
}

.empty-state-text[b-jal62twdrn] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* ===== Barra di avviso: postazioni non ancora abilitate ===== */
.alert-bar-warning[b-jal62twdrn] {
    background-color: #fff8e6;
    border-left-color: var(--color-warning, #d97706);
    color: #7a4b06;
}

/* ===== Stato di arruolamento ===== */
.badge[b-jal62twdrn] {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    border: 1px solid transparent;
}

.badge-success[b-jal62twdrn] { background: #e8f5ee; border-color: #b7e0c8; color: #17603f; }
.badge-warning[b-jal62twdrn] { background: #fff8e6; border-color: #f5d78e; color: #7a4b06; }

/* ===== Codice di attivazione =====
   Si vede una volta sola, quindi va letto e trascritto senza errori: monospaziato, spaziato
   e selezionabile in un colpo solo. */
.code-box[b-jal62twdrn] {
    font-family: var(--font-mono, 'Courier New', monospace);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    word-break: break-all;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    padding: 0.8rem;
    margin: 0.8rem 0 0.4rem;
    user-select: all;
}

/* ===== Modulo nel dialogo ===== */
.form-group[b-jal62twdrn] { margin-bottom: 0.8rem; }
.form-group .form-label[b-jal62twdrn] { display: block; font-size: 0.82rem; font-weight: 600; margin-bottom: 0.25rem; }
.form-hint[b-jal62twdrn] { font-size: 0.78rem; color: #6b7280; font-weight: 400; }

/* ===== Schede della postazione ===== */
.card[b-jal62twdrn] {
    background: #fff;
    border: 1px solid #e5e7eb;
    margin-bottom: var(--space-4);
}

.card-header[b-jal62twdrn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: 0.7rem 1rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.card-header h2[b-jal62twdrn] { margin: 0; font-size: 0.95rem; font-weight: 700; color: var(--color-primary); }

.card-body[b-jal62twdrn] { padding: 1rem; }

/* Il modulo dei parametri seriali ha molti campi corti: su una riga sola diventa illeggibile,
   uno per riga diventa lunghissimo. Wrap con larghezza minima. */
.form-row[b-jal62twdrn] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.form-row .form-group[b-jal62twdrn] { flex: 1 1 12rem; min-width: 9rem; }

.form-actions[b-jal62twdrn] { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 0.8rem; }

.required[b-jal62twdrn] { color: #b91c1c; }

.text-danger[b-jal62twdrn] { color: #b91c1c; }

/* Il dialogo di aggiunta lettore ha piu' campi della conferma di eliminazione. */
.modal-wide[b-jal62twdrn] { max-width: 46rem; }

.btn-back[b-jal62twdrn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #374151;
}

.btn-back:hover[b-jal62twdrn] { background: #f3f4f6; }

.btn-sm[b-jal62twdrn] { padding: 0.25rem 0.7rem; font-size: 0.82rem; }

/* Canale e stato affiancati finche' c'e' spazio. */
.test-grid[b-jal62twdrn] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr));
    gap: var(--space-4);
}

.state-row[b-jal62twdrn] { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.3rem; }

.state-dot[b-jal62twdrn] { width: 0.7rem; height: 0.7rem; border-radius: 50%; flex-shrink: 0; }
.state-dot.dot-ok[b-jal62twdrn]    { background: #16a34a; }
.state-dot.dot-warn[b-jal62twdrn]  { background: #d97706; }
.state-dot.dot-error[b-jal62twdrn] { background: #b91c1c; }
.state-dot.dot-idle[b-jal62twdrn]  { background: #9ca3af; }

/* Il codice letto va confrontato carattere per carattere: monospaziato e selezionabile. */
.mono[b-jal62twdrn] { font-family: var(--font-mono, 'Courier New', monospace); }

.code-value[b-jal62twdrn] {
    font-weight: 700;
    letter-spacing: 0.03em;
    word-break: break-all;
    user-select: all;
}

.data-table .col-time[b-jal62twdrn] { width: 8rem; }
.data-table .col-len[b-jal62twdrn]  { width: 6rem; text-align: right; }

.data-table.compact td[b-jal62twdrn], .data-table.compact th[b-jal62twdrn] { padding: 0.35rem 0.5rem; font-size: 0.85rem; }

/* ===== Peso ===== */
.weight-panel[b-jal62twdrn] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.8rem;
    padding: 0.8rem 1rem;
    border: 2px solid #e5e7eb;
    background: #f9fafb;
}

/* Il bordo verde e' l'unico segnale che serve a colpo d'occhio: dice che il valore si puo' usare. */
.weight-panel.is-stable[b-jal62twdrn] { border-color: #16a34a; background: #f0fdf4; }

.weight-value[b-jal62twdrn] {
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;   /* le cifre non ballano mentre il peso cambia */
}

.weight-unit[b-jal62twdrn] { font-size: 1.1rem; font-weight: 600; margin-left: 0.3rem; color: #6b7280; }

.weight-state[b-jal62twdrn] { display: flex; align-items: center; gap: 0.6rem; }

.raw-line[b-jal62twdrn] { word-break: break-all; margin-top: 0.5rem; }

.btn-row[b-jal62twdrn] { display: flex; gap: 0.4rem; }

/* ===========================
   Decodifica GS1
   =========================== */

.badge-info[b-jal62twdrn]   { background: #eff6ff; border-color: #bfdbfe; color: #1e40af; }
.badge-danger[b-jal62twdrn] { background: #fef2f2; border-color: #fecaca; color: #b91c1c; }

.data-table .col-kind[b-jal62twdrn] { width: 8rem; }
.data-table .col-ai[b-jal62twdrn]   { width: 5rem; }
.data-table .col-sep[b-jal62twdrn]  { width: 8rem; }

/* Una lettura non riconosciuta va vista senza cercarla: e' il caso che porta informazione. */
.data-table tr.is-unknown td[b-jal62twdrn] { background: #fffbeb; }

/* Separatore sospetto: il valore SEMBRA giusto, ed e' proprio per questo che va evidenziato. */
.data-table tr.is-suspect td[b-jal62twdrn] { background: #fef2f2; }

/* Campo per riprovare a mano un codice ricopiato da un'etichetta. */
.manual-row[b-jal62twdrn] {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 0.9rem;
}

.manual-row .form-control[b-jal62twdrn] { flex: 1 1 auto; }

.detail-row td[b-jal62twdrn] { background: #f8fafc; padding: 0 !important; }

.detail-panel[b-jal62twdrn] {
    padding: 0.9rem 1rem;
    border-left: 3px solid var(--color-primary, #1e40af);
}

.detail-facts[b-jal62twdrn] {
    display: grid;
    grid-template-columns: minmax(9rem, max-content) 1fr;
    gap: 0.3rem 1rem;
    margin: 0 0 0.8rem;
}

.detail-facts dt[b-jal62twdrn] { font-size: 0.78rem; font-weight: 700; color: #6b7280; text-transform: uppercase; letter-spacing: 0.4px; }
.detail-facts dd[b-jal62twdrn] { margin: 0; font-size: 0.86rem; word-break: break-all; }

/* L'esadecimale e' la riga che risponde alla domanda del passo 0: il separatore 1D e' arrivato?
   Va letto a gruppi, quindi spaziatura larga e nessun a capo che spezzi una coppia. */
.detail-facts .hex[b-jal62twdrn] {
    letter-spacing: 0.12em;
    font-size: 0.8rem;
    line-height: 1.5;
    color: #334155;
}

.detail-warning[b-jal62twdrn] {
    background: #fffbeb;
    border-left: 3px solid #fcd34d;
    color: #92400e;
    padding: 0.45rem 0.7rem;
    font-size: 0.83rem;
    margin: 0 0 0.5rem;
}
/* /Components/Pages/Configuration/EdiProfileEdit.razor.rz.scp.css */
/* ===========================
   EdiProfileEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-6wnvq8erz0] { max-width: 1100px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-6wnvq8erz0] { font-family: var(--font-mono); font-size: var(--font-size-xs); background-color: var(--color-gray-100); padding: 1px var(--space-2); color: var(--color-primary); opacity: 0.7; }

.alert-bar[b-6wnvq8erz0] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-6wnvq8erz0] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-6wnvq8erz0] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-6wnvq8erz0] { opacity: 1; }

.loading-state[b-6wnvq8erz0] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-6wnvq8erz0] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state-text[b-6wnvq8erz0] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-6wnvq8erz0] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-6wnvq8erz0] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }

.form-grid[b-6wnvq8erz0] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.indicator-grid[b-6wnvq8erz0] { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-3); }
.form-group[b-6wnvq8erz0] { display: flex; flex-direction: column; }
.form-group-wide[b-6wnvq8erz0] { grid-column: span 2; }
.form-label[b-6wnvq8erz0] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-6wnvq8erz0] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-6wnvq8erz0] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control-static[b-6wnvq8erz0] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-weight: var(--font-weight-medium); }
.btn-action[b-6wnvq8erz0] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-6wnvq8erz0] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-6wnvq8erz0] { opacity: 0.65; cursor: not-allowed; }
.btn-sm[b-6wnvq8erz0] { padding: var(--space-1) var(--space-3); font-size: var(--font-size-xs); }
.btn-outline-primary[b-6wnvq8erz0] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-6wnvq8erz0] { background-color: var(--color-primary); color: var(--text-on-primary); }

[b-6wnvq8erz0] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 900px) { .indicator-grid[b-6wnvq8erz0] { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) {
    .form-grid[b-6wnvq8erz0] { grid-template-columns: 1fr; }
    .form-group-wide[b-6wnvq8erz0] { grid-column: span 1; }
    .indicator-grid[b-6wnvq8erz0] { grid-template-columns: repeat(2, 1fr); }
}

/* --- Specifico dei profili EDI ------------------------------------------------------------ */

.alert-bar-list[b-6wnvq8erz0] { align-items: flex-start; }
.alert-bar-list ul[b-6wnvq8erz0] { margin: var(--space-2) 0 0 var(--space-4); padding: 0; }
.alert-bar-list li[b-6wnvq8erz0] { margin-bottom: 2px; }

.form-hint[b-6wnvq8erz0] { font-size: var(--font-size-xs); color: var(--text-muted); line-height: 1.4; }
.form-hint-block[b-6wnvq8erz0] { margin-bottom: var(--space-4); padding: var(--space-2) var(--space-3); background-color: var(--color-gray-50); border-left: var(--border-width-thick) solid var(--border-color-light); }

.mono[b-6wnvq8erz0] { font-family: var(--font-mono); letter-spacing: 3px; }

/* Le due griglie di spunte. Due colonne affiancate perche' tipi e stati si guardano INSIEME: sono
   le due meta' della stessa domanda, «quali ordini escono». */
.check-columns[b-6wnvq8erz0] { display: grid; grid-template-columns: 2fr 1fr; gap: var(--space-6); }
.check-title[b-6wnvq8erz0] { font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin: 0 0 var(--space-2) 0; }
.check[b-6wnvq8erz0] { display: flex; align-items: baseline; gap: var(--space-2); padding: var(--space-1) 0; font-size: var(--font-size-sm); cursor: pointer; }
.check input[b-6wnvq8erz0] { margin: 0; flex-shrink: 0; }
.check-code[b-6wnvq8erz0] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); min-width: 3ch; }
.check-note[b-6wnvq8erz0] { font-size: var(--font-size-xs); color: var(--text-muted); font-style: italic; }
.check-muted[b-6wnvq8erz0] { opacity: 0.6; }

@media (max-width: 768px) { .check-columns[b-6wnvq8erz0] { grid-template-columns: 1fr; } }
/* /Components/Pages/Configuration/EdiProfileList.razor.rz.scp.css */
/* ===========================
   EdiProfileList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-82j2fs008z] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-82j2fs008z] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-82j2fs008z] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-82j2fs008z] { background-color: var(--color-action-active); }

.alert-bar[b-82j2fs008z] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-82j2fs008z] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-82j2fs008z] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-82j2fs008z] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-82j2fs008z] { opacity: 1; }

.search-bar[b-82j2fs008z] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-82j2fs008z] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-82j2fs008z] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-82j2fs008z] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-82j2fs008z]::placeholder { color: var(--text-muted); }
.search-clear[b-82j2fs008z] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-82j2fs008z] { color: var(--color-primary); }
.search-count[b-82j2fs008z] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-82j2fs008z] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-82j2fs008z] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-82j2fs008z] { opacity: 0.4; }
.empty-state-text[b-82j2fs008z] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-82j2fs008z] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-82j2fs008z] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-82j2fs008z] { border-bottom: none; }
.item-row:hover[b-82j2fs008z] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-82j2fs008z] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-82j2fs008z] { flex: 1; min-width: 0; }
.item-name[b-82j2fs008z] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-82j2fs008z] { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-82j2fs008z] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-82j2fs008z] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-82j2fs008z] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-82j2fs008z] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-82j2fs008z] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-82j2fs008z] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-82j2fs008z] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-82j2fs008z] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-82j2fs008z] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-82j2fs008z] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-82j2fs008z] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-82j2fs008z] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-82j2fs008z] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-82j2fs008z] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-82j2fs008z] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-82j2fs008z] { flex-wrap: wrap; }
    .item-actions[b-82j2fs008z] { order: 6; margin-left: auto; }
}


/* --- Specifico dei profili EDI ------------------------------------------------------------ */

/* L'avvertimento sta SULLA RIGA, non dietro un'icona: e' cio' che distingue un profilo che
   funziona da uno che sembra funzionare, e nasconderlo dietro un clic lo renderebbe invisibile
   proprio a chi non sa di doverlo cercare. */
.item-warning[b-82j2fs008z] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-top: var(--space-2);
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-xs);
    color: #92400e;
    background-color: #fffbeb;
    border-left: var(--border-width-thick) solid var(--color-warning, #ffc107);
}
.item-warning svg[b-82j2fs008z] { flex-shrink: 0; }

.badge[b-82j2fs008z] { display: inline-flex; padding: 1px var(--space-2); margin-left: var(--space-2); font-size: 10px; font-weight: var(--font-weight-semibold); text-transform: uppercase; letter-spacing: 0.4px; border: var(--border-width-thin) solid transparent; }
.badge-test[b-82j2fs008z] { background-color: #fffbeb; color: #92400e; border-color: #fde68a; }
.badge-off[b-82j2fs008z]  { background-color: var(--color-gray-100); color: var(--text-muted); border-color: var(--border-color-light); }

.empty-state-hint[b-82j2fs008z] { font-size: var(--font-size-sm); color: var(--text-muted); max-width: 460px; text-align: center; margin: 0; }
/* /Components/Pages/Configuration/PriceLabelerEdit.razor.rz.scp.css */
.table-wrapper[b-irv35d36gm] { overflow-x: auto; }

.data-table[b-irv35d36gm] { width: 100%; border-collapse: collapse; background: #fff; }

.data-table th[b-irv35d36gm] {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #6b7280;
    text-align: left;
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.data-table td[b-irv35d36gm] {
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.9rem;
}

.data-table tr:hover td[b-irv35d36gm] { background: #f9fafb; }

.data-table .col-code[b-irv35d36gm] { width: 5rem; }
.data-table .col-actions[b-irv35d36gm] { width: 6rem; text-align: right; white-space: nowrap; }

.code-badge[b-irv35d36gm] {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    background: #eef2f7;
    border: 1px solid #d7dee8;
    color: #334155;
    font-size: 0.8rem;
    font-weight: 700;
}

.btn-icon-action[b-irv35d36gm] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #374151;
    cursor: pointer;
    padding: 0;
}

.btn-icon-action:hover[b-irv35d36gm] { background: #f3f4f6; }
.btn-icon-action.btn-icon-danger[b-irv35d36gm] { color: #b91c1c; }
.btn-icon-action.btn-icon-danger:hover[b-irv35d36gm] { background: #fef2f2; border-color: #fecaca; }

.empty-state-hint[b-irv35d36gm] { font-size: 0.85rem; color: #6b7280; max-width: 40rem; margin: 0.35rem auto 0; }

/* Conferma di eliminazione */
.modal-backdrop-simple[b-irv35d36gm] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
}

.modal-simple[b-irv35d36gm] {
    background: #fff;
    padding: 1.4rem;
    max-width: 30rem;
    width: 100%;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.modal-simple h3[b-irv35d36gm] { margin: 0 0 0.6rem; font-size: 1.05rem; }

.modal-warning[b-irv35d36gm] {
    background: #fffbeb;
    border: 1px solid #fcd34d;
    color: #92400e;
    padding: 0.5rem 0.7rem;
    font-size: 0.85rem;
}

.modal-actions[b-irv35d36gm] { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 1rem; }

/* ===========================
   Cromo di pagina
   In questo progetto container, header, alert e stati non sono globali ma scoped per pagina:
   senza queste regole titolo, sottotitolo e barre dei messaggi restano senza stile.
   Blocco allineato a Orders/DeliveryOrderByCustomerList.razor.css.
   =========================== */

.page-container[b-irv35d36gm] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}
/* ===== Barre messaggi ===== */
.alert-bar[b-irv35d36gm] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-irv35d36gm] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-irv35d36gm] {
    background-color: #e8f5ee;
    border-left-color: var(--color-success);
    color: #17603f;
}

.alert-bar-close[b-irv35d36gm] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-irv35d36gm] {
    opacity: 1;
}

/* ===== Stati caricamento / vuoto ===== */
.loading-state[b-irv35d36gm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-irv35d36gm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-irv35d36gm] {
    opacity: 0.4;
}

.empty-state-text[b-irv35d36gm] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* ===== Barra di avviso: postazioni non ancora abilitate ===== */
.alert-bar-warning[b-irv35d36gm] {
    background-color: #fff8e6;
    border-left-color: var(--color-warning, #d97706);
    color: #7a4b06;
}

/* ===== Stato di arruolamento ===== */
.badge[b-irv35d36gm] {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    border: 1px solid transparent;
}

.badge-success[b-irv35d36gm] { background: #e8f5ee; border-color: #b7e0c8; color: #17603f; }
.badge-warning[b-irv35d36gm] { background: #fff8e6; border-color: #f5d78e; color: #7a4b06; }

/* ===== Codice di attivazione =====
   Si vede una volta sola, quindi va letto e trascritto senza errori: monospaziato, spaziato
   e selezionabile in un colpo solo. */
.code-box[b-irv35d36gm] {
    font-family: var(--font-mono, 'Courier New', monospace);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    word-break: break-all;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    padding: 0.8rem;
    margin: 0.8rem 0 0.4rem;
    user-select: all;
}

/* ===== Modulo nel dialogo ===== */
.form-group[b-irv35d36gm] { margin-bottom: 0.8rem; }
.form-group .form-label[b-irv35d36gm] { display: block; font-size: 0.82rem; font-weight: 600; margin-bottom: 0.25rem; }
.form-hint[b-irv35d36gm] { font-size: 0.78rem; color: #6b7280; font-weight: 400; }

/* ===== Schede della postazione ===== */
.card[b-irv35d36gm] {
    background: #fff;
    border: 1px solid #e5e7eb;
    margin-bottom: var(--space-4);
}

.card-header[b-irv35d36gm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: 0.7rem 1rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.card-header h2[b-irv35d36gm] { margin: 0; font-size: 0.95rem; font-weight: 700; color: var(--color-primary); }

.card-body[b-irv35d36gm] { padding: 1rem; }

/* Il modulo dei parametri seriali ha molti campi corti: su una riga sola diventa illeggibile,
   uno per riga diventa lunghissimo. Wrap con larghezza minima. */
.form-row[b-irv35d36gm] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.form-row .form-group[b-irv35d36gm] { flex: 1 1 12rem; min-width: 9rem; }
.required[b-irv35d36gm] { color: #b91c1c; }

.text-danger[b-irv35d36gm] { color: #b91c1c; }

/* Il dialogo di aggiunta lettore ha piu' campi della conferma di eliminazione. */
.modal-wide[b-irv35d36gm] { max-width: 46rem; }
.btn-sm[b-irv35d36gm] { padding: 0.25rem 0.7rem; font-size: 0.82rem; }

/* Lettore su piu' postazioni: non e' un avviso, e' quasi sempre un errore di configurazione. */
.badge-danger[b-irv35d36gm] { background: #fdeded; border-color: #f5b5b5; color: #7a1c1c; }

.form-check-row[b-irv35d36gm] { margin: 0.2rem 0 0.6rem; }

.form-check[b-irv35d36gm] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.9rem;
    cursor: pointer;
}

.form-check input[b-irv35d36gm] { width: 1rem; height: 1rem; }

.form-check-row .form-hint[b-irv35d36gm] { margin: 0.3rem 0 0; }

/* Modello non ancora collegato a nessun banco: informazione, non allarme. */
.text-muted[b-irv35d36gm] { color: #6b7280; font-size: 0.85rem; }

/* Il badge «dimostrazione» sta accanto alla descrizione, non su una colonna sua. */
.data-table td .badge[b-irv35d36gm] { margin-left: 0.4rem; vertical-align: middle; }

/* La SelectField porta il proprio .form-group: dentro .form-row deve seguire la stessa
   regola di flex degli input, altrimenti si allarga a tutta la riga. */
.form-row[b-irv35d36gm]  .form-group { flex: 1 1 12rem; min-width: 9rem; }

/* I flag di comportamento sono sei: in colonna diventano una lista lunghissima, su una riga
   sola non stanno. Griglia che si adatta alla larghezza. */
.form-check-grid[b-irv35d36gm] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
    gap: 0.5rem 1rem;
    margin-bottom: 0.8rem;
}

/* Le azioni di salvataggio della testata stanno fuori dalle card, allineate a destra. */
.page-container > .form-actions[b-irv35d36gm] { margin: 0 0 var(--space-4); }
/* /Components/Pages/Configuration/PriceLabelerList.razor.rz.scp.css */
.table-wrapper[b-ijeucf0xss] { overflow-x: auto; }

.data-table[b-ijeucf0xss] { width: 100%; border-collapse: collapse; background: #fff; }

.data-table th[b-ijeucf0xss] {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #6b7280;
    text-align: left;
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.data-table td[b-ijeucf0xss] {
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.9rem;
}

.data-table tr:hover td[b-ijeucf0xss] { background: #f9fafb; }

.data-table .col-code[b-ijeucf0xss] { width: 5rem; }
.data-table .col-actions[b-ijeucf0xss] { width: 6rem; text-align: right; white-space: nowrap; }

.code-badge[b-ijeucf0xss] {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    background: #eef2f7;
    border: 1px solid #d7dee8;
    color: #334155;
    font-size: 0.8rem;
    font-weight: 700;
}

.btn-icon-action[b-ijeucf0xss] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #374151;
    cursor: pointer;
    padding: 0;
}

.btn-icon-action:hover[b-ijeucf0xss] { background: #f3f4f6; }
.btn-icon-action.btn-icon-danger[b-ijeucf0xss] { color: #b91c1c; }
.btn-icon-action.btn-icon-danger:hover[b-ijeucf0xss] { background: #fef2f2; border-color: #fecaca; }

.empty-state-hint[b-ijeucf0xss] { font-size: 0.85rem; color: #6b7280; max-width: 40rem; margin: 0.35rem auto 0; }

/* Conferma di eliminazione */
.modal-backdrop-simple[b-ijeucf0xss] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
}

.modal-simple[b-ijeucf0xss] {
    background: #fff;
    padding: 1.4rem;
    max-width: 30rem;
    width: 100%;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.modal-simple h3[b-ijeucf0xss] { margin: 0 0 0.6rem; font-size: 1.05rem; }

.modal-warning[b-ijeucf0xss] {
    background: #fffbeb;
    border: 1px solid #fcd34d;
    color: #92400e;
    padding: 0.5rem 0.7rem;
    font-size: 0.85rem;
}

.modal-actions[b-ijeucf0xss] { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 1rem; }

/* ===========================
   Cromo di pagina
   In questo progetto container, header, alert e stati non sono globali ma scoped per pagina:
   senza queste regole titolo, sottotitolo e barre dei messaggi restano senza stile.
   Blocco allineato a Orders/DeliveryOrderByCustomerList.razor.css.
   =========================== */

.page-container[b-ijeucf0xss] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}
/* ===== Barre messaggi ===== */
.alert-bar[b-ijeucf0xss] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-ijeucf0xss] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-ijeucf0xss] {
    background-color: #e8f5ee;
    border-left-color: var(--color-success);
    color: #17603f;
}

.alert-bar-close[b-ijeucf0xss] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-ijeucf0xss] {
    opacity: 1;
}

/* ===== Stati caricamento / vuoto ===== */
.loading-state[b-ijeucf0xss] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-ijeucf0xss] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-ijeucf0xss] {
    opacity: 0.4;
}

.empty-state-text[b-ijeucf0xss] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* ===== Barra di avviso: postazioni non ancora abilitate ===== */
.alert-bar-warning[b-ijeucf0xss] {
    background-color: #fff8e6;
    border-left-color: var(--color-warning, #d97706);
    color: #7a4b06;
}

/* ===== Stato di arruolamento ===== */
.badge[b-ijeucf0xss] {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    border: 1px solid transparent;
}

.badge-success[b-ijeucf0xss] { background: #e8f5ee; border-color: #b7e0c8; color: #17603f; }
.badge-warning[b-ijeucf0xss] { background: #fff8e6; border-color: #f5d78e; color: #7a4b06; }

/* ===== Codice di attivazione =====
   Si vede una volta sola, quindi va letto e trascritto senza errori: monospaziato, spaziato
   e selezionabile in un colpo solo. */
.code-box[b-ijeucf0xss] {
    font-family: var(--font-mono, 'Courier New', monospace);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    word-break: break-all;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    padding: 0.8rem;
    margin: 0.8rem 0 0.4rem;
    user-select: all;
}

/* ===== Modulo nel dialogo ===== */
.form-group[b-ijeucf0xss] { margin-bottom: 0.8rem; }
.form-group .form-label[b-ijeucf0xss] { display: block; font-size: 0.82rem; font-weight: 600; margin-bottom: 0.25rem; }
.form-hint[b-ijeucf0xss] { font-size: 0.78rem; color: #6b7280; font-weight: 400; }

/* ===== Schede della postazione ===== */
.card[b-ijeucf0xss] {
    background: #fff;
    border: 1px solid #e5e7eb;
    margin-bottom: var(--space-4);
}

.card-header[b-ijeucf0xss] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: 0.7rem 1rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.card-header h2[b-ijeucf0xss] { margin: 0; font-size: 0.95rem; font-weight: 700; color: var(--color-primary); }

.card-body[b-ijeucf0xss] { padding: 1rem; }

/* Il modulo dei parametri seriali ha molti campi corti: su una riga sola diventa illeggibile,
   uno per riga diventa lunghissimo. Wrap con larghezza minima. */
.form-row[b-ijeucf0xss] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.form-row .form-group[b-ijeucf0xss] { flex: 1 1 12rem; min-width: 9rem; }

.form-actions[b-ijeucf0xss] { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 0.8rem; }

.required[b-ijeucf0xss] { color: #b91c1c; }

.text-danger[b-ijeucf0xss] { color: #b91c1c; }

/* Il dialogo di aggiunta lettore ha piu' campi della conferma di eliminazione. */
.modal-wide[b-ijeucf0xss] { max-width: 46rem; }
.btn-sm[b-ijeucf0xss] { padding: 0.25rem 0.7rem; font-size: 0.82rem; }

/* Lettore su piu' postazioni: non e' un avviso, e' quasi sempre un errore di configurazione. */
.badge-danger[b-ijeucf0xss] { background: #fdeded; border-color: #f5b5b5; color: #7a1c1c; }

.form-check-row[b-ijeucf0xss] { margin: 0.2rem 0 0.6rem; }

.form-check[b-ijeucf0xss] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.9rem;
    cursor: pointer;
}

.form-check input[b-ijeucf0xss] { width: 1rem; height: 1rem; }

.form-check-row .form-hint[b-ijeucf0xss] { margin: 0.3rem 0 0; }

/* Modello non ancora collegato a nessun banco: informazione, non allarme. */
.text-muted[b-ijeucf0xss] { color: #6b7280; font-size: 0.85rem; }

/* Il badge «dimostrazione» sta accanto alla descrizione, non su una colonna sua. */
.data-table td .badge[b-ijeucf0xss] { margin-left: 0.4rem; vertical-align: middle; }

/* La SelectField porta il proprio .form-group: dentro .form-row deve seguire la stessa
   regola di flex degli input, altrimenti si allarga a tutta la riga. */
.form-row[b-ijeucf0xss]  .form-group { flex: 1 1 12rem; min-width: 9rem; }
/* /Components/Pages/Configuration/StationEdit.razor.rz.scp.css */
.table-wrapper[b-gj6x5vjl1s] { overflow-x: auto; }

.data-table[b-gj6x5vjl1s] { width: 100%; border-collapse: collapse; background: #fff; }

.data-table th[b-gj6x5vjl1s] {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #6b7280;
    text-align: left;
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.data-table td[b-gj6x5vjl1s] {
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.9rem;
}

.data-table tr:hover td[b-gj6x5vjl1s] { background: #f9fafb; }

.data-table .col-code[b-gj6x5vjl1s] { width: 5rem; }
.data-table .col-actions[b-gj6x5vjl1s] { width: 4rem; text-align: right; white-space: nowrap; }

.code-badge[b-gj6x5vjl1s] {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    background: #eef2f7;
    border: 1px solid #d7dee8;
    color: #334155;
    font-size: 0.8rem;
    font-weight: 700;
}

.btn-icon-action[b-gj6x5vjl1s] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #374151;
    cursor: pointer;
    padding: 0;
}

.btn-icon-action:hover[b-gj6x5vjl1s] { background: #f3f4f6; }
.btn-icon-action.btn-icon-danger[b-gj6x5vjl1s] { color: #b91c1c; }
.btn-icon-action.btn-icon-danger:hover[b-gj6x5vjl1s] { background: #fef2f2; border-color: #fecaca; }

.empty-state-hint[b-gj6x5vjl1s] { font-size: 0.85rem; color: #6b7280; max-width: 40rem; margin: 0.35rem auto 0; }

/* Conferma di eliminazione */
.modal-backdrop-simple[b-gj6x5vjl1s] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
}

.modal-simple[b-gj6x5vjl1s] {
    background: #fff;
    padding: 1.4rem;
    max-width: 30rem;
    width: 100%;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.modal-simple h3[b-gj6x5vjl1s] { margin: 0 0 0.6rem; font-size: 1.05rem; }

.modal-warning[b-gj6x5vjl1s] {
    background: #fffbeb;
    border: 1px solid #fcd34d;
    color: #92400e;
    padding: 0.5rem 0.7rem;
    font-size: 0.85rem;
}

.modal-actions[b-gj6x5vjl1s] { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 1rem; }

/* ===========================
   Cromo di pagina
   In questo progetto container, header, alert e stati non sono globali ma scoped per pagina:
   senza queste regole titolo, sottotitolo e barre dei messaggi restano senza stile.
   Blocco allineato a Orders/DeliveryOrderByCustomerList.razor.css.
   =========================== */

.page-container[b-gj6x5vjl1s] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}
/* ===== Barre messaggi ===== */
.alert-bar[b-gj6x5vjl1s] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-gj6x5vjl1s] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-gj6x5vjl1s] {
    background-color: #e8f5ee;
    border-left-color: var(--color-success);
    color: #17603f;
}

.alert-bar-close[b-gj6x5vjl1s] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-gj6x5vjl1s] {
    opacity: 1;
}

/* ===== Stati caricamento / vuoto ===== */
.loading-state[b-gj6x5vjl1s] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-gj6x5vjl1s] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-gj6x5vjl1s] {
    opacity: 0.4;
}

.empty-state-text[b-gj6x5vjl1s] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* ===== Barra di avviso: postazioni non ancora abilitate ===== */
.alert-bar-warning[b-gj6x5vjl1s] {
    background-color: #fff8e6;
    border-left-color: var(--color-warning, #d97706);
    color: #7a4b06;
}

/* ===== Stato di arruolamento ===== */
.badge[b-gj6x5vjl1s] {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    border: 1px solid transparent;
}

.badge-success[b-gj6x5vjl1s] { background: #e8f5ee; border-color: #b7e0c8; color: #17603f; }
.badge-warning[b-gj6x5vjl1s] { background: #fff8e6; border-color: #f5d78e; color: #7a4b06; }

/* ===== Codice di attivazione =====
   Si vede una volta sola, quindi va letto e trascritto senza errori: monospaziato, spaziato
   e selezionabile in un colpo solo. */
.code-box[b-gj6x5vjl1s] {
    font-family: var(--font-mono, 'Courier New', monospace);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    word-break: break-all;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    padding: 0.8rem;
    margin: 0.8rem 0 0.4rem;
    user-select: all;
}

/* ===== Modulo nel dialogo ===== */
.form-group[b-gj6x5vjl1s] { margin-bottom: 0.8rem; }
.form-group .form-label[b-gj6x5vjl1s] { display: block; font-size: 0.82rem; font-weight: 600; margin-bottom: 0.25rem; }
.form-hint[b-gj6x5vjl1s] { font-size: 0.78rem; color: #6b7280; font-weight: 400; }

/* ===== Schede della postazione ===== */
.card[b-gj6x5vjl1s] {
    background: #fff;
    border: 1px solid #e5e7eb;
    margin-bottom: var(--space-4);
}

.card-header[b-gj6x5vjl1s] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: 0.7rem 1rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.card-header h2[b-gj6x5vjl1s] { margin: 0; font-size: 0.95rem; font-weight: 700; color: var(--color-primary); }

.card-body[b-gj6x5vjl1s] { padding: 1rem; }

/* Il modulo dei parametri seriali ha molti campi corti: su una riga sola diventa illeggibile,
   uno per riga diventa lunghissimo. Wrap con larghezza minima. */
.form-row[b-gj6x5vjl1s] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.form-row .form-group[b-gj6x5vjl1s] { flex: 1 1 12rem; min-width: 9rem; }
.required[b-gj6x5vjl1s] { color: #b91c1c; }

.text-danger[b-gj6x5vjl1s] { color: #b91c1c; }

/* Il dialogo di aggiunta lettore ha piu' campi della conferma di eliminazione. */
.modal-wide[b-gj6x5vjl1s] { max-width: 46rem; }
.btn-sm[b-gj6x5vjl1s] { padding: 0.25rem 0.7rem; font-size: 0.82rem; }
/* /Components/Pages/Configuration/StationList.razor.rz.scp.css */
.table-wrapper[b-nkq24nsect] { overflow-x: auto; }

.data-table[b-nkq24nsect] { width: 100%; border-collapse: collapse; background: #fff; }

.data-table th[b-nkq24nsect] {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #6b7280;
    text-align: left;
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.data-table td[b-nkq24nsect] {
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.9rem;
}

.data-table tr:hover td[b-nkq24nsect] { background: #f9fafb; }

.data-table .col-code[b-nkq24nsect] { width: 5rem; }
.data-table .col-actions[b-nkq24nsect] { width: 8rem; text-align: right; white-space: nowrap; }

.code-badge[b-nkq24nsect] {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    background: #eef2f7;
    border: 1px solid #d7dee8;
    color: #334155;
    font-size: 0.8rem;
    font-weight: 700;
}

.btn-icon-action[b-nkq24nsect] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #374151;
    cursor: pointer;
    padding: 0;
}

.btn-icon-action:hover[b-nkq24nsect] { background: #f3f4f6; }
.btn-icon-action.btn-icon-danger[b-nkq24nsect] { color: #b91c1c; }
.btn-icon-action.btn-icon-danger:hover[b-nkq24nsect] { background: #fef2f2; border-color: #fecaca; }

.empty-state-hint[b-nkq24nsect] { font-size: 0.85rem; color: #6b7280; max-width: 40rem; margin: 0.35rem auto 0; }

/* Conferma di eliminazione */
.modal-backdrop-simple[b-nkq24nsect] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
}

.modal-simple[b-nkq24nsect] {
    background: #fff;
    padding: 1.4rem;
    max-width: 30rem;
    width: 100%;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.modal-simple h3[b-nkq24nsect] { margin: 0 0 0.6rem; font-size: 1.05rem; }

.modal-warning[b-nkq24nsect] {
    background: #fffbeb;
    border: 1px solid #fcd34d;
    color: #92400e;
    padding: 0.5rem 0.7rem;
    font-size: 0.85rem;
}

.modal-actions[b-nkq24nsect] { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 1rem; }

/* ===========================
   Cromo di pagina
   In questo progetto container, header, alert e stati non sono globali ma scoped per pagina:
   senza queste regole titolo, sottotitolo e barre dei messaggi restano senza stile.
   Blocco allineato a Orders/DeliveryOrderByCustomerList.razor.css.
   =========================== */

.page-container[b-nkq24nsect] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}
/* ===== Barre messaggi ===== */
.alert-bar[b-nkq24nsect] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-nkq24nsect] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-nkq24nsect] {
    background-color: #e8f5ee;
    border-left-color: var(--color-success);
    color: #17603f;
}

.alert-bar-close[b-nkq24nsect] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-nkq24nsect] {
    opacity: 1;
}

/* ===== Stati caricamento / vuoto ===== */
.loading-state[b-nkq24nsect] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-nkq24nsect] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-nkq24nsect] {
    opacity: 0.4;
}

.empty-state-text[b-nkq24nsect] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* ===== Barra di avviso: postazioni non ancora abilitate ===== */
.alert-bar-warning[b-nkq24nsect] {
    background-color: #fff8e6;
    border-left-color: var(--color-warning, #d97706);
    color: #7a4b06;
}

/* ===== Stato di arruolamento ===== */
.badge[b-nkq24nsect] {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    border: 1px solid transparent;
}

.badge-success[b-nkq24nsect] { background: #e8f5ee; border-color: #b7e0c8; color: #17603f; }
.badge-warning[b-nkq24nsect] { background: #fff8e6; border-color: #f5d78e; color: #7a4b06; }

/* ===== Codice di attivazione =====
   Si vede una volta sola, quindi va letto e trascritto senza errori: monospaziato, spaziato
   e selezionabile in un colpo solo. */
.code-box[b-nkq24nsect] {
    font-family: var(--font-mono, 'Courier New', monospace);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    word-break: break-all;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    padding: 0.8rem;
    margin: 0.8rem 0 0.4rem;
    user-select: all;
}

/* ===== Modulo nel dialogo ===== */
.form-group[b-nkq24nsect] { margin-bottom: 0.8rem; }
.form-group .form-label[b-nkq24nsect] { display: block; font-size: 0.82rem; font-weight: 600; margin-bottom: 0.25rem; }
.form-hint[b-nkq24nsect] { font-size: 0.78rem; color: #6b7280; font-weight: 400; }
/* /Components/Pages/Configuration/WeighingDeviceList.razor.rz.scp.css */
.table-wrapper[b-hbtr3ade1z] { overflow-x: auto; }

.data-table[b-hbtr3ade1z] { width: 100%; border-collapse: collapse; background: #fff; }

.data-table th[b-hbtr3ade1z] {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #6b7280;
    text-align: left;
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.data-table td[b-hbtr3ade1z] {
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.9rem;
}

.data-table tr:hover td[b-hbtr3ade1z] { background: #f9fafb; }

.data-table .col-code[b-hbtr3ade1z] { width: 5rem; }
.data-table .col-actions[b-hbtr3ade1z] { width: 6rem; text-align: right; white-space: nowrap; }

.code-badge[b-hbtr3ade1z] {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    background: #eef2f7;
    border: 1px solid #d7dee8;
    color: #334155;
    font-size: 0.8rem;
    font-weight: 700;
}

.btn-icon-action[b-hbtr3ade1z] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #374151;
    cursor: pointer;
    padding: 0;
}

.btn-icon-action:hover[b-hbtr3ade1z] { background: #f3f4f6; }
.btn-icon-action.btn-icon-danger[b-hbtr3ade1z] { color: #b91c1c; }
.btn-icon-action.btn-icon-danger:hover[b-hbtr3ade1z] { background: #fef2f2; border-color: #fecaca; }

.empty-state-hint[b-hbtr3ade1z] { font-size: 0.85rem; color: #6b7280; max-width: 40rem; margin: 0.35rem auto 0; }

/* Conferma di eliminazione */
.modal-backdrop-simple[b-hbtr3ade1z] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
}

.modal-simple[b-hbtr3ade1z] {
    background: #fff;
    padding: 1.4rem;
    max-width: 30rem;
    width: 100%;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.modal-simple h3[b-hbtr3ade1z] { margin: 0 0 0.6rem; font-size: 1.05rem; }

.modal-warning[b-hbtr3ade1z] {
    background: #fffbeb;
    border: 1px solid #fcd34d;
    color: #92400e;
    padding: 0.5rem 0.7rem;
    font-size: 0.85rem;
}

.modal-actions[b-hbtr3ade1z] { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 1rem; }

/* ===========================
   Cromo di pagina
   In questo progetto container, header, alert e stati non sono globali ma scoped per pagina:
   senza queste regole titolo, sottotitolo e barre dei messaggi restano senza stile.
   Blocco allineato a Orders/DeliveryOrderByCustomerList.razor.css.
   =========================== */

.page-container[b-hbtr3ade1z] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}
/* ===== Barre messaggi ===== */
.alert-bar[b-hbtr3ade1z] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-hbtr3ade1z] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-hbtr3ade1z] {
    background-color: #e8f5ee;
    border-left-color: var(--color-success);
    color: #17603f;
}

.alert-bar-close[b-hbtr3ade1z] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-hbtr3ade1z] {
    opacity: 1;
}

/* ===== Stati caricamento / vuoto ===== */
.loading-state[b-hbtr3ade1z] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-hbtr3ade1z] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-hbtr3ade1z] {
    opacity: 0.4;
}

.empty-state-text[b-hbtr3ade1z] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* ===== Barra di avviso: postazioni non ancora abilitate ===== */
.alert-bar-warning[b-hbtr3ade1z] {
    background-color: #fff8e6;
    border-left-color: var(--color-warning, #d97706);
    color: #7a4b06;
}

/* ===== Stato di arruolamento ===== */
.badge[b-hbtr3ade1z] {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    border: 1px solid transparent;
}

.badge-success[b-hbtr3ade1z] { background: #e8f5ee; border-color: #b7e0c8; color: #17603f; }
.badge-warning[b-hbtr3ade1z] { background: #fff8e6; border-color: #f5d78e; color: #7a4b06; }

/* ===== Codice di attivazione =====
   Si vede una volta sola, quindi va letto e trascritto senza errori: monospaziato, spaziato
   e selezionabile in un colpo solo. */
.code-box[b-hbtr3ade1z] {
    font-family: var(--font-mono, 'Courier New', monospace);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    word-break: break-all;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    padding: 0.8rem;
    margin: 0.8rem 0 0.4rem;
    user-select: all;
}

/* ===== Modulo nel dialogo ===== */
.form-group[b-hbtr3ade1z] { margin-bottom: 0.8rem; }
.form-group .form-label[b-hbtr3ade1z] { display: block; font-size: 0.82rem; font-weight: 600; margin-bottom: 0.25rem; }
.form-hint[b-hbtr3ade1z] { font-size: 0.78rem; color: #6b7280; font-weight: 400; }

/* ===== Schede della postazione ===== */
.card[b-hbtr3ade1z] {
    background: #fff;
    border: 1px solid #e5e7eb;
    margin-bottom: var(--space-4);
}

.card-header[b-hbtr3ade1z] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: 0.7rem 1rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.card-header h2[b-hbtr3ade1z] { margin: 0; font-size: 0.95rem; font-weight: 700; color: var(--color-primary); }

.card-body[b-hbtr3ade1z] { padding: 1rem; }

/* Il modulo dei parametri seriali ha molti campi corti: su una riga sola diventa illeggibile,
   uno per riga diventa lunghissimo. Wrap con larghezza minima. */
.form-row[b-hbtr3ade1z] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.form-row .form-group[b-hbtr3ade1z] { flex: 1 1 12rem; min-width: 9rem; }

.form-actions[b-hbtr3ade1z] { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 0.8rem; }

.required[b-hbtr3ade1z] { color: #b91c1c; }

.text-danger[b-hbtr3ade1z] { color: #b91c1c; }

/* Il dialogo di aggiunta lettore ha piu' campi della conferma di eliminazione. */
.modal-wide[b-hbtr3ade1z] { max-width: 46rem; }
.btn-sm[b-hbtr3ade1z] { padding: 0.25rem 0.7rem; font-size: 0.82rem; }

/* Lettore su piu' postazioni: non e' un avviso, e' quasi sempre un errore di configurazione. */
.badge-danger[b-hbtr3ade1z] { background: #fdeded; border-color: #f5b5b5; color: #7a1c1c; }

.form-check-row[b-hbtr3ade1z] { margin: 0.2rem 0 0.6rem; }

.form-check[b-hbtr3ade1z] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.9rem;
    cursor: pointer;
}

.form-check input[b-hbtr3ade1z] { width: 1rem; height: 1rem; }

.form-check-row .form-hint[b-hbtr3ade1z] { margin: 0.3rem 0 0; }

/* Modello non ancora collegato a nessun banco: informazione, non allarme. */
.text-muted[b-hbtr3ade1z] { color: #6b7280; font-size: 0.85rem; }

/* Il badge «dimostrazione» sta accanto alla descrizione, non su una colonna sua. */
.data-table td .badge[b-hbtr3ade1z] { margin-left: 0.4rem; vertical-align: middle; }

/* La SelectField porta il proprio .form-group: dentro .form-row deve seguire la stessa
   regola di flex degli input, altrimenti si allarga a tutta la riga. */
.form-row[b-hbtr3ade1z]  .form-group { flex: 1 1 12rem; min-width: 9rem; }
/* /Components/Pages/Configuration/WorkDayCreate.razor.rz.scp.css */
/* ===========================
   Cromo di pagina
   In questo progetto container, header, alert e stati non sono globali ma scoped per pagina:
   senza queste regole titolo, sottotitolo e barre dei messaggi restano senza stile.
   Blocco allineato a Orders/DeliveryOrderByCustomerList.razor.css.
   =========================== */

.page-container[b-2cmc7psqz0] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}
/* ===== Barre messaggi ===== */
.alert-bar[b-2cmc7psqz0] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-2cmc7psqz0] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-2cmc7psqz0] {
    background-color: #e8f5ee;
    border-left-color: var(--color-success);
    color: #17603f;
}

.alert-bar-close[b-2cmc7psqz0] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-2cmc7psqz0] {
    opacity: 1;
}
/* /Components/Pages/Configuration/WorkDayEdit.razor.rz.scp.css */
/* ===========================
   Cromo di pagina
   In questo progetto container, header, alert e stati non sono globali ma scoped per pagina:
   senza queste regole titolo, sottotitolo e barre dei messaggi restano senza stile.
   Blocco allineato a Orders/DeliveryOrderByCustomerList.razor.css.
   =========================== */

.page-container[b-3wo5b7ug5l] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}
/* ===== Barre messaggi ===== */
.alert-bar[b-3wo5b7ug5l] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-3wo5b7ug5l] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-3wo5b7ug5l] {
    background-color: #e8f5ee;
    border-left-color: var(--color-success);
    color: #17603f;
}

.alert-bar-close[b-3wo5b7ug5l] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-3wo5b7ug5l] {
    opacity: 1;
}

/* ===== Stati caricamento / vuoto ===== */
.loading-state[b-3wo5b7ug5l] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-3wo5b7ug5l] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-3wo5b7ug5l] {
    opacity: 0.4;
}

.empty-state-text[b-3wo5b7ug5l] {
    font-size: var(--font-size-base);
    margin: 0;
}
/* /Components/Pages/Configuration/WorkDayFormBody.razor.rz.scp.css */
/* ===========================
   WorkDayFormBody - Scoped Styles
   Flat Industrial Minimal — token del design system MTS (wwwroot/css/design-system.css)

   Le regole di layout del form (sezioni, griglia, hint, controlli compatti) non sono globali:
   vanno dichiarate qui, altrimenti sezioni e campi restano senza struttura.
   =========================== */

/* ===== Sezioni ===== */
.form-section[b-c133no0dbc] {
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    padding: var(--space-4);
    margin-bottom: var(--space-4);
}

.section-header[b-c133no0dbc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: var(--space-2);
}

.section-title[b-c133no0dbc] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0;
}

.section-hint[b-c133no0dbc] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin: 0 0 var(--space-3);
}

/* ===== Griglia dei campi di testata ===== */
.form-grid[b-c133no0dbc] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--space-4);
}

.form-group[b-c133no0dbc] {
    display: flex;
    flex-direction: column;
}

/* Campo che occupa due colonne (descrizione). */
.form-group-wide[b-c133no0dbc] {
    grid-column: span 2;
}

.form-label[b-c133no0dbc] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

/* Asterisco dei campi obbligatori. */
.required[b-c133no0dbc] {
    color: var(--color-danger);
    font-weight: var(--font-weight-bold);
}

.form-hint[b-c133no0dbc] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: var(--space-1);
    line-height: 1.35;
}

/* Valore calcolato, non editabile: stessa altezza di un campo, così la riga resta allineata. */
.form-readonly[b-c133no0dbc] {
    padding: var(--space-2) var(--space-3);
    background-color: var(--bg-tertiary);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-size: var(--font-size-sm);
    font-variant-numeric: tabular-nums;
    min-height: 38px;
    display: flex;
    align-items: center;
}

/* Variante compatta dei controlli dentro le tabelle delle collezioni: il .form-control
   globale è dimensionato per i form, in una riga di tabella risulta sovradimensionato. */
.form-control-sm[b-c133no0dbc] {
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-sm);
    width: 100%;
}

/* ===== Tabelle delle collezioni figlie ===== */
.collection-empty[b-c133no0dbc] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    margin: var(--space-1) 0;
}

.detail-table[b-c133no0dbc] {
    width: 100%;
    border-collapse: collapse;
}

.detail-table th[b-c133no0dbc] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-muted);
    text-align: left;
    padding: var(--space-2);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.detail-table td[b-c133no0dbc] {
    padding: var(--space-1) var(--space-2);
    border-bottom: var(--border-width-thin) solid var(--bg-tertiary);
    vertical-align: middle;
}

/* Controlli condivisi dentro le celle: niente label da riservare, densità della riga. */
.detail-table td[b-c133no0dbc]  .form-group {
    max-width: none;
    width: 100%;
}

.detail-table td[b-c133no0dbc]  .select-input {
    padding: var(--space-1) calc(var(--space-2) + 16px + var(--space-1)) var(--space-1) var(--space-2);
    font-size: var(--font-size-sm);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.detail-table .col-num[b-c133no0dbc] { width: 3rem; text-align: center; font-variant-numeric: tabular-nums; }
.detail-table .col-time[b-c133no0dbc] { width: 8rem; font-variant-numeric: tabular-nums; }
.detail-table .col-date[b-c133no0dbc] { width: 10rem; }
.detail-table .col-code[b-c133no0dbc] { width: 14rem; }
.detail-table .col-flag[b-c133no0dbc] { width: 11rem; }
.detail-table .col-act[b-c133no0dbc] { width: 2.5rem; text-align: center; }

.btn-remove-row[b-c133no0dbc] {
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    color: var(--color-danger);
    width: 26px;
    height: 26px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}

.btn-remove-row:hover[b-c133no0dbc] {
    background-color: #fdeded;
    border-color: var(--color-danger);
}

.check-label[b-c133no0dbc] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--font-size-sm);
    cursor: pointer;
}

/* ===== Ritmo settimanale =====
   Sette caselle, non una tabella: si legge in un colpo d'occhio. */
.weekday-grid[b-c133no0dbc] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.weekday-chip[b-c133no0dbc] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-2) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    cursor: pointer;
    user-select: none;
}

.weekday-chip.is-working[b-c133no0dbc] {
    background-color: #e8f5ee;
    border-color: var(--color-success);
    color: #17603f;
    font-weight: var(--font-weight-semibold);
}
/* /Components/Pages/Configuration/WorkDayList.razor.rz.scp.css */
.table-wrapper[b-ov13a7tbht] { overflow-x: auto; }

.data-table[b-ov13a7tbht] { width: 100%; border-collapse: collapse; background: #fff; }

.data-table th[b-ov13a7tbht] {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #6b7280;
    text-align: left;
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.data-table td[b-ov13a7tbht] {
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.9rem;
}

.data-table tr:hover td[b-ov13a7tbht] { background: #f9fafb; }

.data-table .col-code[b-ov13a7tbht] { width: 7rem; }
.data-table .col-turni[b-ov13a7tbht] { width: 5rem; text-align: center; font-variant-numeric: tabular-nums; }
.data-table .col-total[b-ov13a7tbht] { width: 10rem; font-variant-numeric: tabular-nums; }
.data-table .col-deroghe[b-ov13a7tbht] { width: 6rem; text-align: center; font-variant-numeric: tabular-nums; }
.data-table .col-actions[b-ov13a7tbht] { width: 6rem; text-align: right; white-space: nowrap; }

.code-badge[b-ov13a7tbht] {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    background: #eef2f7;
    border: 1px solid #d7dee8;
    color: #334155;
    font-size: 0.8rem;
    font-weight: 700;
}

.btn-icon-action[b-ov13a7tbht] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #374151;
    cursor: pointer;
    padding: 0;
}

.btn-icon-action:hover[b-ov13a7tbht] { background: #f3f4f6; }
.btn-icon-action.btn-icon-danger[b-ov13a7tbht] { color: #b91c1c; }
.btn-icon-action.btn-icon-danger:hover[b-ov13a7tbht] { background: #fef2f2; border-color: #fecaca; }

.empty-state-hint[b-ov13a7tbht] { font-size: 0.85rem; color: #6b7280; max-width: 40rem; margin: 0.35rem auto 0; }

/* Conferma di eliminazione */
.modal-backdrop-simple[b-ov13a7tbht] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
}

.modal-simple[b-ov13a7tbht] {
    background: #fff;
    padding: 1.4rem;
    max-width: 30rem;
    width: 100%;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.modal-simple h3[b-ov13a7tbht] { margin: 0 0 0.6rem; font-size: 1.05rem; }

.modal-warning[b-ov13a7tbht] {
    background: #fffbeb;
    border: 1px solid #fcd34d;
    color: #92400e;
    padding: 0.5rem 0.7rem;
    font-size: 0.85rem;
}

.modal-actions[b-ov13a7tbht] { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 1rem; }

/* ===========================
   Cromo di pagina
   In questo progetto container, header, alert e stati non sono globali ma scoped per pagina:
   senza queste regole titolo, sottotitolo e barre dei messaggi restano senza stile.
   Blocco allineato a Orders/DeliveryOrderByCustomerList.razor.css.
   =========================== */

.page-container[b-ov13a7tbht] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}
/* ===== Barre messaggi ===== */
.alert-bar[b-ov13a7tbht] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-ov13a7tbht] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-ov13a7tbht] {
    background-color: #e8f5ee;
    border-left-color: var(--color-success);
    color: #17603f;
}

.alert-bar-close[b-ov13a7tbht] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-ov13a7tbht] {
    opacity: 1;
}

/* ===== Stati caricamento / vuoto ===== */
.loading-state[b-ov13a7tbht] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-ov13a7tbht] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-ov13a7tbht] {
    opacity: 0.4;
}

.empty-state-text[b-ov13a7tbht] {
    font-size: var(--font-size-base);
    margin: 0;
}
/* /Components/Pages/Dev/ToolbarTest.razor.rz.scp.css */
/* Pagina di verifica grafica (/dev/toolbar-test), permanente. Chrome di pagina copiato dal sibling
   piu' vicino (SalesDocumentForm), come chiede CLAUDE.md §«CSS di componente». */
.page-container[b-o89zdfxncs] { max-width: 1400px; margin: 0 auto; padding: var(--space-6) var(--space-4); }

.dev-controls[b-o89zdfxncs] { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-4); font-size: var(--font-size-sm); }
.dev-note[b-o89zdfxncs] { color: var(--text-muted); font-size: var(--font-size-sm); margin: 0; }

.form-section[b-o89zdfxncs] { border: 1px solid #e5e7eb; background: #fff; padding: 16px; margin-bottom: 16px; }
.form-section-title[b-o89zdfxncs] { font-size: 13px; font-weight: 700; color: var(--color-primary); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 12px; }
.form-grid[b-o89zdfxncs] { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px 16px; }
.form-label[b-o89zdfxncs] { display: block; font-size: var(--label-font-size); font-weight: var(--label-font-weight); color: var(--label-color); margin-bottom: var(--label-gap); }

.status-badge[b-o89zdfxncs] { display: inline-flex; padding: 3px 10px; font-size: 11px; font-weight: 600; border-radius: 999px; border: 1px solid transparent; text-transform: uppercase; letter-spacing: .03em; }
.status-draft[b-o89zdfxncs] { background: #f4f4f5; color: #71717a; border-color: #e4e4e7; }
.status-saved[b-o89zdfxncs] { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }

/* Toast SOTTO la toolbar compatta, non sopra il titolo. */
.toast-stack[b-o89zdfxncs] { position: fixed; top: calc(var(--topbar-height) + 64px); left: 50%; transform: translateX(-50%); z-index: 1080; pointer-events: none; }
.toast-msg[b-o89zdfxncs] { display: flex; align-items: center; gap: 10px; padding: 12px 14px; font-size: 13px; border-left: 4px solid; box-shadow: 0 8px 24px rgba(0,0,0,.18); pointer-events: auto; }
.toast-msg-success[b-o89zdfxncs] { background: #ecfdf5; border-left-color: #047857; color: #064e3b; }
/* /Components/Pages/Dm/DocumentManagerCreate.razor.rz.scp.css */
/* ===========================
   DocumentManagerCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-t8pr1y762m] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-t8pr1y762m] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-t8pr1y762m] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-t8pr1y762m] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-t8pr1y762m] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-t8pr1y762m] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-t8pr1y762m] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-t8pr1y762m] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-t8pr1y762m] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-t8pr1y762m] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-t8pr1y762m] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-t8pr1y762m] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-t8pr1y762m] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-t8pr1y762m] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-t8pr1y762m]::placeholder {
    color: var(--color-gray-400);
}

/* Upload Area */
.upload-area[b-t8pr1y762m] {
    position: relative;
}

.file-input[b-t8pr1y762m] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    overflow: hidden;
}

.upload-label[b-t8pr1y762m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: var(--space-8) var(--space-4);
    border: 2px dashed var(--border-color-light);
    background-color: var(--color-gray-50);
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
    text-align: center;
}

.upload-label:hover[b-t8pr1y762m] {
    border-color: var(--color-primary);
    background-color: rgba(11, 36, 62, 0.03);
}

.upload-label svg[b-t8pr1y762m] {
    color: var(--color-primary);
    opacity: 0.5;
}

.upload-text[b-t8pr1y762m] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
}

.upload-hint[b-t8pr1y762m] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.upload-filename[b-t8pr1y762m] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.upload-filesize[b-t8pr1y762m] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.btn-action[b-t8pr1y762m] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-t8pr1y762m] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-t8pr1y762m] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-t8pr1y762m] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-t8pr1y762m] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-t8pr1y762m] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-t8pr1y762m] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-t8pr1y762m] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Dm/DocumentManagerEdit.razor.rz.scp.css */
/* ===========================
   DocumentManagerEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-5defsmpfkb] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-5defsmpfkb] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-5defsmpfkb] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-5defsmpfkb] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-5defsmpfkb] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-5defsmpfkb] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-5defsmpfkb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-5defsmpfkb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-5defsmpfkb] {
    opacity: 0.4;
}

.empty-state-text[b-5defsmpfkb] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-5defsmpfkb] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-5defsmpfkb] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-5defsmpfkb] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-5defsmpfkb] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-5defsmpfkb] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-5defsmpfkb] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-5defsmpfkb] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-5defsmpfkb] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-5defsmpfkb] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-5defsmpfkb]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-5defsmpfkb] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-5defsmpfkb] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-5defsmpfkb] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-5defsmpfkb] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-5defsmpfkb] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-5defsmpfkb] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-5defsmpfkb] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-5defsmpfkb] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-5defsmpfkb] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Dm/DocumentManagerList.razor.rz.scp.css */
/* ===========================
   DocumentManagerList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-yq382dm7kx] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Summary Stats */
.summary-stats[b-yq382dm7kx] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-yq382dm7kx] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-yq382dm7kx] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-yq382dm7kx] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    font-family: var(--font-mono);
}

.stat-card-success .stat-value[b-yq382dm7kx] {
    color: #2e7d32;
}

.stat-card-error .stat-value[b-yq382dm7kx] {
    color: #c62828;
}

/* Action Button */
.btn-action[b-yq382dm7kx] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-yq382dm7kx] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-yq382dm7kx] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-yq382dm7kx] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-yq382dm7kx] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-yq382dm7kx] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-yq382dm7kx] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-yq382dm7kx] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-yq382dm7kx] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-yq382dm7kx] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-yq382dm7kx] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-yq382dm7kx] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-yq382dm7kx]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-yq382dm7kx] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-yq382dm7kx] {
    color: var(--color-primary);
}

.search-count[b-yq382dm7kx] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-yq382dm7kx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-yq382dm7kx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-yq382dm7kx] {
    opacity: 0.4;
}

.empty-state-text[b-yq382dm7kx] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-yq382dm7kx] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-yq382dm7kx] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-yq382dm7kx] {
    border-bottom: none;
}

.item-row:hover[b-yq382dm7kx] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-yq382dm7kx] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-yq382dm7kx] {
    flex: 1;
    min-width: 0;
}

.item-name[b-yq382dm7kx] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-yq382dm7kx] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-yq382dm7kx] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-yq382dm7kx] {
    color: var(--color-gray-300);
}

/* Action Buttons */
.item-actions[b-yq382dm7kx] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-yq382dm7kx] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-yq382dm7kx] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-yq382dm7kx] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Actions Separator */
.actions-separator[b-yq382dm7kx] {
    display: inline-block;
    width: 1px;
    height: 20px;
    background-color: var(--border-color-light);
    margin: 0 var(--space-1);
}

/* Download Button */
.btn-icon-download:hover[b-yq382dm7kx] {
    color: #2e7d32;
    background-color: rgba(46, 125, 50, 0.06);
    border-color: rgba(46, 125, 50, 0.2);
}

/* Metadata Toggle Button */
.btn-metadata-toggle[b-yq382dm7kx] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.7;
    padding: 0;
    font-weight: var(--font-weight-medium);
    transition: opacity var(--transition-fast) var(--transition-ease);
}

.btn-metadata-toggle:hover[b-yq382dm7kx] {
    opacity: 1;
    text-decoration: underline;
}

/* Metadata Section */
.metadata-section[b-yq382dm7kx] {
    margin-top: var(--space-3);
    padding: var(--space-3);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.metadata-loading[b-yq382dm7kx] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    padding: var(--space-2) 0;
}

.metadata-table[b-yq382dm7kx] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-xs);
}

.metadata-table th[b-yq382dm7kx] {
    text-align: left;
    font-weight: var(--font-weight-semibold);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: var(--space-1) var(--space-2);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.metadata-table td[b-yq382dm7kx] {
    padding: var(--space-1) var(--space-2);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.metadata-table tr:last-child td[b-yq382dm7kx] {
    border-bottom: none;
}

.metadata-key[b-yq382dm7kx] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    white-space: nowrap;
}

.metadata-value[b-yq382dm7kx] {
    color: var(--text-secondary);
    word-break: break-word;
}

.metadata-confidence[b-yq382dm7kx] {
    font-family: var(--font-mono);
    color: var(--text-muted);
    white-space: nowrap;
}

.metadata-empty[b-yq382dm7kx] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    padding: var(--space-2) 0;
    font-style: italic;
}

/* Preview Button */
.btn-icon-preview:hover[b-yq382dm7kx] {
    color: #1565c0;
    background-color: rgba(21, 101, 192, 0.06);
    border-color: rgba(21, 101, 192, 0.2);
}

/* QR Preview Button */
.btn-icon-qrpreview:hover[b-yq382dm7kx] {
    color: #6a1b9a;
    background-color: rgba(106, 27, 154, 0.06);
    border-color: rgba(106, 27, 154, 0.2);
}

/* Preview Dialog */
.preview-dialog[b-yq382dm7kx] {
    background-color: var(--color-white);
    width: 90vw;
    height: 90vh;
    max-width: 1200px;
    box-shadow: var(--shadow-xl);
    display: flex;
    flex-direction: column;
    z-index: var(--z-modal);
}

.preview-header[b-yq382dm7kx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-3) var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    flex-shrink: 0;
}

.preview-title[b-yq382dm7kx] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--space-2);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.preview-close[b-yq382dm7kx] {
    flex-shrink: 0;
}

.preview-body[b-yq382dm7kx] {
    flex: 1;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.preview-iframe[b-yq382dm7kx] {
    width: 100%;
    height: 100%;
    border: none;
}

/* Overlay & Dialog */
.overlay[b-yq382dm7kx] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-yq382dm7kx] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-yq382dm7kx] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-yq382dm7kx] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-yq382dm7kx] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-yq382dm7kx] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-yq382dm7kx] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-yq382dm7kx] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-yq382dm7kx] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-yq382dm7kx] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-yq382dm7kx] {
        flex-wrap: wrap;
    }

    .item-actions[b-yq382dm7kx] {
        width: 100%;
        justify-content: flex-end;
    }
}

/* /Components/Pages/ForgotPassword.razor.rz.scp.css */
/* Forgot Password — stessa palette/sfondo/logo della pagina Login (scoped al componente) */

/* Container con gradiente + immagine di sfondo (come Login) */
.login-page[b-xns5bqhmb3] {
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem;
    position: relative;
    background:
        linear-gradient(135deg, rgba(11, 36, 62, 0.85) 0%, rgba(30, 77, 123, 0.85) 100%),
        url('/images/AdobeStock_138850596.jpeg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/* Logo aziendale in alto a sinistra */
.company-logo[b-xns5bqhmb3] {
    position: absolute;
    top: 2rem;
    left: 2rem;
    width: 220px;
    max-width: 30vw;
    z-index: 10;
}

.company-logo svg[b-xns5bqhmb3] {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3));
}

.company-logo .logo-tagline[b-xns5bqhmb3] {
    color: #ffffff;
    font-weight: 500;
    letter-spacing: 0.18em;
    font-size: 0.95rem;
    margin-top: 0.35rem;
    text-align: right;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Card: limite di larghezza dei controlli */
.login-card[b-xns5bqhmb3] {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    border: none;
    border-radius: 12px;
    overflow: hidden;
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.95);
}

.login-card .card-header[b-xns5bqhmb3] {
    background: linear-gradient(135deg, #0B243E 0%, #1e4d7b 100%) !important;
    border-bottom: none;
    padding: 1.5rem;
}

.login-card .card-header h4[b-xns5bqhmb3] {
    font-weight: 700;
    letter-spacing: 0.5px;
}

.login-card .card-header small[b-xns5bqhmb3] {
    opacity: 0.9;
    font-size: 0.875rem;
}

/* Form */
.login-card .form-label[b-xns5bqhmb3] {
    font-weight: 600;
    color: #0B243E;
    font-size: 0.9rem;
}

.login-card .form-control[b-xns5bqhmb3] {
    width: 100%;
    max-width: 100%;
    border-radius: 8px;
    border: 1px solid #dee2e6;
    padding: 0.75rem 1rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.login-card .form-control:focus[b-xns5bqhmb3] {
    border-color: #0B243E;
    box-shadow: 0 0 0 0.2rem rgba(11, 36, 62, 0.15);
}

/* Bottoni */
.login-card .btn[b-xns5bqhmb3] {
    width: 100%;
    max-width: 100%;
}

.login-card .btn-primary[b-xns5bqhmb3] {
    background: linear-gradient(135deg, #0B243E 0%, #1e4d7b 100%);
    border: none;
    border-radius: 8px;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.login-card .btn-primary:hover:not(:disabled)[b-xns5bqhmb3] {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(11, 36, 62, 0.3);
}

.login-card .btn-primary:disabled[b-xns5bqhmb3] {
    opacity: 0.65;
    cursor: not-allowed;
}

.login-card .btn-outline-primary[b-xns5bqhmb3] {
    color: #0B243E;
    border-color: #0B243E;
    border-radius: 8px;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
}

.login-card .btn-outline-primary:hover[b-xns5bqhmb3] {
    background: #0B243E;
    color: #fff;
}

.login-card .btn-link[b-xns5bqhmb3] {
    color: #1e4d7b;
    font-weight: 600;
    text-decoration: none;
}

.login-card .btn-link:hover[b-xns5bqhmb3] {
    text-decoration: underline;
}

/* Alert */
.login-card .alert[b-xns5bqhmb3] {
    border-radius: 8px;
    border: none;
}

/* Responsive */
@media (max-width: 576px) {
    .login-card[b-xns5bqhmb3] {
        max-width: 100%;
        border-radius: 0;
    }

    .login-page[b-xns5bqhmb3] {
        padding: 0;
    }

    .company-logo[b-xns5bqhmb3] {
        top: 1rem;
        left: 1rem;
        width: 150px;
        max-width: 40vw;
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
.home-banner[b-nfscac2djm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    padding: 24px 28px;
    background: var(--color-primary);
    color: var(--color-white);
    border-radius: 0;
}

.home-banner-brand[b-nfscac2djm] {
    display: block;
    font-size: .75rem;
    letter-spacing: .14em;
    opacity: .75;
}

.home-banner-title[b-nfscac2djm] {
    font-size: 1.5rem;
    font-weight: 600;
    margin: 4px 0 0;
    color: var(--color-white);
}

.home-banner-subtitle[b-nfscac2djm] {
    font-size: .875rem;
    opacity: .8;
    margin: 2px 0 0;
}

.home-banner-meta[b-nfscac2djm] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    font-size: .8125rem;
    opacity: .85;
    text-transform: capitalize;
}
/* /Components/Pages/Login.razor.rz.scp.css */
/* Login Page Container */
.login-page[b-h75qmzpnln] {
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem;
    position: relative;
    /* Background with gradient overlay and custom image */
    background: 
        linear-gradient(135deg, rgba(11, 36, 62, 0.85) 0%, rgba(30, 77, 123, 0.85) 100%),
        url('/images/AdobeStock_138850596.jpeg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/* Company Logo */
.company-logo[b-h75qmzpnln] {
    position: absolute;
    top: 2rem;
    left: 2rem;
    width: 220px;
    max-width: 30vw;
    z-index: 10;
}

.company-logo svg[b-h75qmzpnln] {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3));
}

.company-logo .logo-tagline[b-h75qmzpnln] {
    color: #ffffff;
    font-weight: 500;
    letter-spacing: 0.18em;
    font-size: 0.95rem;
    margin-top: 0.35rem;
    text-align: right;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Login Card */
.login-card[b-h75qmzpnln] {
    width: 100%;
    max-width: 400px;
    border: none;
    border-radius: 12px;
    overflow: hidden;
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.95);
}

.login-card .card-header[b-h75qmzpnln] {
    background: linear-gradient(135deg, #0B243E 0%, #1e4d7b 100%) !important;
    border-bottom: none;
    padding: 1.5rem;
}

.login-card .card-header h4[b-h75qmzpnln] {
    font-weight: 700;
    letter-spacing: 0.5px;
}

.login-card .card-header small[b-h75qmzpnln] {
    opacity: 0.9;
    font-size: 0.875rem;
}

/* Form Styling */
.login-card .form-label[b-h75qmzpnln] {
    font-weight: 600;
    color: #0B243E;
    font-size: 0.9rem;
}

/* ::deep necessario: il campo password e' renderizzato dal componente
   condiviso PasswordInput, che ha un proprio scope CSS. */
.login-card[b-h75qmzpnln]  .form-control {
    border-radius: 8px;
    border: 1px solid #dee2e6;
    padding: 0.75rem 1rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.login-card[b-h75qmzpnln]  .form-control:focus {
    border-color: #0B243E;
    box-shadow: 0 0 0 0.2rem rgba(11, 36, 62, 0.15);
}

/* Ripristina lo spazio per il pulsante "occhio" (il padding shorthand qui sopra
   sovrascriverebbe il padding-right definito in css/components.css). */
.login-card[b-h75qmzpnln]  .password-field .form-control {
    padding-right: 2.75rem;
}

/* Button Styling */
.login-card .btn-primary[b-h75qmzpnln] {
    background: linear-gradient(135deg, #0B243E 0%, #1e4d7b 100%);
    border: none;
    border-radius: 8px;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.login-card .btn-primary svg[b-h75qmzpnln] {
    stroke: white;
    flex-shrink: 0;
}

.login-card .btn-primary:hover:not(:disabled)[b-h75qmzpnln] {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(11, 36, 62, 0.3);
}

.login-card .btn-primary:disabled[b-h75qmzpnln] {
    opacity: 0.65;
    cursor: not-allowed;
}

/* Alert Styling */
.login-card .alert[b-h75qmzpnln] {
    border-radius: 8px;
    border: none;
}

/* Responsive adjustments */
@media (max-width: 576px) {
    .login-card[b-h75qmzpnln] {
        max-width: 100%;
        border-radius: 0;
    }

    .login-page[b-h75qmzpnln] {
        padding: 0;
    }

    /* Smaller logo on mobile */
    .company-logo[b-h75qmzpnln] {
        top: 1rem;
        left: 1rem;
        width: 150px;
        max-width: 40vw;
    }
}

.app-version[b-h75qmzpnln] {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    opacity: 0.8;
    letter-spacing: 0.5px;
}
/* /Components/Pages/MenuGroupPage.razor.rz.scp.css */
/* ===========================
   MenuGroupPage - Scoped Styles
   Flat Industrial Minimal

   Tutte le misure e i colori passano dalle variabili di design-system.css:
   gli hex a mano e i !important della versione precedente rendevano il file
   non estendibile e disallineavano gli angoli (6px) dal design system, che
   prescrive 90 gradi ovunque (--radius-*: 0).

   Il chrome di pagina (page-container / page-header / alert-bar / search-bar)
   e' ridichiarato qui perche' il CSS di Blazor e' scoped: e' la stessa scelta
   fatta da AgentContactSites.razor.css e dalle altre pagine dell'app.
   Consolidarlo in globale e' un intervento trasversale a se' (CLAUDE.md).
   =========================== */

/* ===========================
   PAGE CONTAINER & HEADER
   =========================== */

.page-container[b-g00lsqzykj] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-g00lsqzykj] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.btn-back[b-g00lsqzykj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: none;
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-none);
    color: var(--text-muted);
    text-decoration: none;
    cursor: pointer;
    flex-shrink: 0;
    margin-top: 2px;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-back:hover[b-g00lsqzykj] {
    color: var(--color-primary);
    border-color: var(--color-primary);
    background-color: var(--color-gray-50);
}

.page-header-text[b-g00lsqzykj] {
    flex: 1;
    min-width: 0;
}

.page-title[b-g00lsqzykj] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

.page-title svg[b-g00lsqzykj] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-g00lsqzykj] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin: var(--space-1) 0 0 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.subtitle-code[b-g00lsqzykj] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    background-color: var(--color-gray-100);
    padding: 1px var(--space-2);
    color: var(--color-primary);
    opacity: 0.7;
}

/* ===========================
   SEARCH BAR
   =========================== */

.search-bar[b-g00lsqzykj] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-5);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-none);
}

.search-input-wrapper[b-g00lsqzykj] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-g00lsqzykj] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-g00lsqzykj] {
    flex: 1;
    border: none;
    background: transparent;
    font-family: var(--font-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-600);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-g00lsqzykj]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-g00lsqzykj] {
    display: flex;
    align-items: center;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
}

.search-clear:hover[b-g00lsqzykj] {
    color: var(--color-primary);
}

/* ===========================
   MENU CARD (voce applicativa)

   Hairline su tutti i lati + accento primario a sinistra: la card non "grida"
   piu' come col bordo 2px navy su ogni lato, e la banda sinistra fa da
   gerarchia. L'hover cambia bordo e sfondo (idioma flat) invece di sollevare
   la card con translateY + ombra, che e' il gesto di Material Design.
   =========================== */

.card.menu-card[b-g00lsqzykj] {
    /* Esplicito e non ereditato da Bootstrap: il margin-top:auto di .card-meta-row,
       che pareggia le altezze della griglia, dipende dalla direzione a colonna. */
    display: flex;
    flex-direction: column;
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-left: var(--border-width-thick) solid var(--color-primary);
    border-radius: var(--radius-none);
    box-shadow: var(--shadow-xs);
    cursor: pointer;
    transition: border-color var(--transition-fast) var(--transition-ease), background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease);
}

/* Le card gestione sono anchor (aprono in una nuova scheda): neutralizza lo stile link
   senza toccare display/flex-direction ereditati da Bootstrap .card */
a.card.menu-card[b-g00lsqzykj] {
    text-decoration: none;
    color: inherit;
}

.card.menu-card:hover[b-g00lsqzykj] {
    border-color: var(--color-secondary);
    border-left-color: var(--color-action);
    background-color: var(--bg-secondary);
    box-shadow: var(--shadow-sm);
}

.card.menu-card:focus-visible[b-g00lsqzykj] {
    outline: var(--border-width-medium) solid var(--color-primary);
    outline-offset: 2px;
}

.card.menu-card .card-body[b-g00lsqzykj] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: var(--space-4);
    width: 100%;
}

/* ===========================
   VOCE SENZA APPLICAZIONE ASSOCIATA

   Prima: badge rosso (--color-action, riservato a CTA e azioni critiche) usato
   per comunicare uno stato di configurazione, e pointer-events:none che
   toglieva anche il tooltip - l'operatore cliccava e non succedeva nulla,
   senza spiegazione. Ora lo stato e' dichiarato a parole e il title resta
   leggibile perche' non annulliamo i pointer-events sull'intero elemento.
   =========================== */

.card.menu-card.menu-card-disabled[b-g00lsqzykj] {
    cursor: not-allowed;
    background-color: var(--bg-secondary);
    border-left-color: var(--color-secondary);
    box-shadow: var(--shadow-none);
}

.card.menu-card.menu-card-disabled:hover[b-g00lsqzykj] {
    border-color: var(--border-color-light);
    border-left-color: var(--color-secondary);
    background-color: var(--bg-secondary);
    box-shadow: var(--shadow-none);
}

.card.menu-card.menu-card-disabled .card-title[b-g00lsqzykj] {
    color: var(--text-muted);
}

.card.menu-card.menu-card-disabled .app-type-icon[b-g00lsqzykj] {
    color: var(--color-gray-400);
    background-color: var(--bg-tertiary);
}

/* ===========================
   CONTENUTO DELLA CARD
   =========================== */

.card-content-row[b-g00lsqzykj] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    flex: 1;
}

.card-text-block[b-g00lsqzykj] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.card.menu-card .card-title[b-g00lsqzykj] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
    color: var(--color-gray-800);
    margin: 0;
}

.card.menu-card .card-text[b-g00lsqzykj] {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-normal);
    color: var(--text-secondary);
    margin: 0;
}

/* Icona del tipo applicazione: 40px in un riquadro, non piu' 72px al 50% di
   opacita'. Le forme disponibili sono tre in tutto, quindi l'icona vale come
   ancora visiva, non come informazione: non deve competere col titolo. */
.app-type-icon[b-g00lsqzykj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    background-color: var(--bg-tertiary);
    color: var(--color-primary);
    transition: background-color var(--transition-fast) var(--transition-ease), color var(--transition-fast) var(--transition-ease);
}

.app-type-icon[b-g00lsqzykj]  svg {
    width: 22px;
    height: 22px;
}

.card.menu-card:hover .app-type-icon[b-g00lsqzykj] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.card.menu-card.menu-card-disabled:hover .app-type-icon[b-g00lsqzykj] {
    background-color: var(--bg-tertiary);
    color: var(--color-gray-400);
}

/* Footer: il codice applicazione e' un metadato, non un titolo secondario.
   Monospace piccolo invece del badge blu pieno che competeva col nome della
   gestione. Il margin-top:auto pareggia le altezze quando alcune voci hanno
   TitleExtended e altre no. */
.card-meta-row[b-g00lsqzykj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    margin-top: auto;
    padding-top: var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

.app-code[b-g00lsqzykj] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    letter-spacing: 0.04em;
    color: var(--text-muted);
}

.app-open-hint[b-g00lsqzykj] {
    display: inline-flex;
    align-items: center;
    color: var(--color-gray-400);
}

.card.menu-card:hover .app-open-hint[b-g00lsqzykj] {
    color: var(--color-primary);
}

.app-state-unavailable[b-g00lsqzykj] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    padding: 2px var(--space-2);
    background-color: var(--bg-tertiary);
    color: var(--text-secondary);
}

/* ===========================
   COLONNA CARTELLE

   Prima erano card identiche alle voci applicative, distinte solo da un
   border-left: nulla diceva che navigano invece di aprire una gestione.
   Ora sono una lista con testata, chevron di navigazione ed elementi
   <button>, quindi raggiungibili da tastiera.
   =========================== */

.folder-panel[b-g00lsqzykj] {
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-none);
    box-shadow: var(--shadow-xs);
}

.folder-panel-header[b-g00lsqzykj] {
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.folder-item[b-g00lsqzykj] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    width: 100%;
    padding: var(--space-3) var(--space-4);
    background: none;
    border: none;
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    border-left: var(--border-width-thick) solid transparent;
    text-align: left;
    cursor: pointer;
    font-family: var(--font-primary);
    transition: background-color var(--transition-fast) var(--transition-ease), border-left-color var(--transition-fast) var(--transition-ease);
}

.folder-item:last-child[b-g00lsqzykj] {
    border-bottom: none;
}

.folder-item:hover[b-g00lsqzykj] {
    background-color: var(--bg-secondary);
    border-left-color: var(--color-action);
}

.folder-item:focus-visible[b-g00lsqzykj] {
    outline: var(--border-width-medium) solid var(--color-primary);
    outline-offset: -2px;
}

.folder-icon[b-g00lsqzykj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--color-primary);
}

.folder-icon[b-g00lsqzykj]  svg {
    width: 20px;
    height: 20px;
}

.folder-text[b-g00lsqzykj] {
    flex: 1;
    min-width: 0;
}

.folder-title[b-g00lsqzykj] {
    display: block;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-800);
    line-height: var(--line-height-tight);
}

.folder-subtitle[b-g00lsqzykj] {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: 2px;
}

.folder-chevron[b-g00lsqzykj] {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    color: var(--color-gray-400);
}

.folder-item:hover .folder-chevron[b-g00lsqzykj] {
    color: var(--color-primary);
}

/* ===========================
   STATI: LOADING, ALERT
   =========================== */

.loading-state[b-g00lsqzykj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-4);
    padding: var(--space-16) 0;
    color: var(--text-muted);
}

.alert-bar[b-g00lsqzykj] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    border-radius: var(--radius-none);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-g00lsqzykj] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-warning[b-g00lsqzykj] {
    background-color: #fff6e5;
    border-left-color: var(--color-warning);
    color: #663c00;
}

.alert-bar-info[b-g00lsqzykj] {
    background-color: #e8f4f8;
    border-left-color: var(--color-info);
    color: #0d4650;
}

.alert-bar-actions[b-g00lsqzykj] {
    margin-top: var(--space-3);
}
/* /Components/Pages/Orders/DeliveryOrderByCustomerItemFishList.razor.rz.scp.css */
/* ===========================
   DeliveryOrderByCustomerItemFishList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-7ioxat2i7k] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar-danger[b-7ioxat2i7k] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid var(--color-danger); background-color: #fdeded; color: #5f2120; }
.alert-bar-close[b-7ioxat2i7k] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-7ioxat2i7k] { opacity: 1; }
.search-bar[b-7ioxat2i7k] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-7ioxat2i7k] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-7ioxat2i7k] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-7ioxat2i7k] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-7ioxat2i7k]::placeholder { color: var(--text-muted); }
.search-clear[b-7ioxat2i7k] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-7ioxat2i7k] { color: var(--color-primary); }
.search-count[b-7ioxat2i7k] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }
.loading-state[b-7ioxat2i7k], .empty-state[b-7ioxat2i7k] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-7ioxat2i7k] { opacity: 0.4; }
.empty-state-text[b-7ioxat2i7k] { font-size: var(--font-size-base); margin: 0; }
.item-list[b-7ioxat2i7k] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-7ioxat2i7k] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:hover[b-7ioxat2i7k] { background-color: rgba(11, 36, 62, 0.03); }
.item-avatar[b-7ioxat2i7k] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-7ioxat2i7k] { flex: 1; min-width: 0; }
.item-name[b-7ioxat2i7k] { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); color: var(--color-primary); font-family: var(--font-mono); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-description[b-7ioxat2i7k] { font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); color: var(--color-gray-700); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 1px; }
.item-meta[b-7ioxat2i7k] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.meta-separator[b-7ioxat2i7k] { color: var(--color-gray-300); }
.badge-um[b-7ioxat2i7k] { display: inline-flex; align-items: center; padding: 1px 6px; font-size: 10px; font-weight: var(--font-weight-bold); font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.5px; background-color: var(--color-gray-100); color: var(--color-primary); border: var(--border-width-thin) solid var(--border-color-light); }
.badge-traceable[b-7ioxat2i7k] { display: inline-flex; align-items: center; padding: 1px 6px; font-size: 10px; font-weight: var(--font-weight-bold); text-transform: uppercase; letter-spacing: 0.5px; background-color: #e8f5e9; color: #2e7d32; border: var(--border-width-thin) solid #c8e6c9; }
.item-price[b-7ioxat2i7k] { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; min-width: 80px; }
.price-value[b-7ioxat2i7k] { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); font-family: var(--font-mono); color: var(--color-primary); }
.price-currency[b-7ioxat2i7k] { font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); }
.item-quantities[b-7ioxat2i7k] { flex-shrink: 0; display: flex; gap: var(--space-4); align-items: center; }
.quantity-group[b-7ioxat2i7k] { display: flex; flex-direction: column; align-items: flex-end; min-width: 90px; }
.quantity-label[b-7ioxat2i7k] { font-size: var(--font-size-xs); color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }
.quantity-value[b-7ioxat2i7k] { font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); font-family: var(--font-mono); }
.item-gauge[b-7ioxat2i7k] { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.gauge-ring[b-7ioxat2i7k] { position: relative; width: 48px; height: 48px; }
.gauge-ring svg[b-7ioxat2i7k] { width: 100%; height: 100%; transform: rotate(-90deg); }
.gauge-bg[b-7ioxat2i7k] { fill: none; stroke: var(--color-gray-100); stroke-width: 3; }
.gauge-fill[b-7ioxat2i7k] { fill: none; stroke-width: 3; stroke-linecap: round; transition: stroke-dasharray 0.4s ease; }
.gauge-complete .gauge-fill[b-7ioxat2i7k] { stroke: var(--color-success); }
.gauge-partial .gauge-fill[b-7ioxat2i7k] { stroke: #e6a817; }
.gauge-low .gauge-fill[b-7ioxat2i7k] { stroke: var(--color-danger); }
.gauge-text[b-7ioxat2i7k] { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: var(--font-weight-bold); font-family: var(--font-mono); color: var(--color-primary); }
.gauge-label[b-7ioxat2i7k] { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }
.actions-separator[b-7ioxat2i7k] { width: 1px; height: 32px; background-color: var(--border-color-light); flex-shrink: 0; }
.item-actions[b-7ioxat2i7k] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-7ioxat2i7k] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-7ioxat2i7k] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }

/* Traceability */
.traceability-row[b-7ioxat2i7k] { padding: var(--space-3) var(--space-4) var(--space-3) calc(40px + var(--space-4) + var(--space-4)); background-color: var(--color-gray-50, #f8f9fa); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.traceability-grid[b-7ioxat2i7k] { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--space-2) var(--space-4); }
.trace-field[b-7ioxat2i7k] { display: flex; flex-direction: column; gap: 1px; }
.trace-label[b-7ioxat2i7k] { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }
.trace-value[b-7ioxat2i7k] { font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); color: var(--color-primary); font-family: var(--font-mono); }
.trace-value-scientific[b-7ioxat2i7k] { font-style: italic; }

.btn-outline-primary[b-7ioxat2i7k] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-7ioxat2i7k] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-7ioxat2i7k] { flex-wrap: wrap; }
    .item-quantities[b-7ioxat2i7k] { width: 100%; justify-content: flex-end; }
    .traceability-grid[b-7ioxat2i7k] { grid-template-columns: repeat(2, 1fr); }
}

/* /Components/Pages/Orders/DeliveryOrderByCustomerItemFruitList.razor.rz.scp.css */
/* ===========================
   DeliveryOrderByCustomerItemFruitList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-r3kdifm8b1] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar-danger[b-r3kdifm8b1] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid var(--color-danger); background-color: #fdeded; color: #5f2120; }
.alert-bar-close[b-r3kdifm8b1] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-r3kdifm8b1] { opacity: 1; }
.search-bar[b-r3kdifm8b1] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-r3kdifm8b1] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-r3kdifm8b1] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-r3kdifm8b1] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-r3kdifm8b1]::placeholder { color: var(--text-muted); }
.search-clear[b-r3kdifm8b1] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-r3kdifm8b1] { color: var(--color-primary); }
.search-count[b-r3kdifm8b1] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }
.loading-state[b-r3kdifm8b1], .empty-state[b-r3kdifm8b1] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-r3kdifm8b1] { opacity: 0.4; }
.empty-state-text[b-r3kdifm8b1] { font-size: var(--font-size-base); margin: 0; }
.item-list[b-r3kdifm8b1] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-r3kdifm8b1] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:hover[b-r3kdifm8b1] { background-color: rgba(11, 36, 62, 0.03); }
.item-avatar[b-r3kdifm8b1] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-r3kdifm8b1] { flex: 1; min-width: 0; }
.item-name[b-r3kdifm8b1] { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); color: var(--color-primary); font-family: var(--font-mono); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-description[b-r3kdifm8b1] { font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); color: var(--color-gray-700); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 1px; }
.item-meta[b-r3kdifm8b1] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.meta-separator[b-r3kdifm8b1] { color: var(--color-gray-300); }
.badge-um[b-r3kdifm8b1] { display: inline-flex; align-items: center; padding: 1px 6px; font-size: 10px; font-weight: var(--font-weight-bold); font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.5px; background-color: var(--color-gray-100); color: var(--color-primary); border: var(--border-width-thin) solid var(--border-color-light); }
.item-price[b-r3kdifm8b1] { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; min-width: 80px; }
.price-value[b-r3kdifm8b1] { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); font-family: var(--font-mono); color: var(--color-primary); }
.price-currency[b-r3kdifm8b1] { font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); }
.item-quantities[b-r3kdifm8b1] { flex-shrink: 0; display: flex; gap: var(--space-4); align-items: center; }
.quantity-group[b-r3kdifm8b1] { display: flex; flex-direction: column; align-items: flex-end; min-width: 90px; }
.quantity-label[b-r3kdifm8b1] { font-size: var(--font-size-xs); color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }
.quantity-value[b-r3kdifm8b1] { font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); font-family: var(--font-mono); }
.item-gauge[b-r3kdifm8b1] { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.gauge-ring[b-r3kdifm8b1] { position: relative; width: 48px; height: 48px; }
.gauge-ring svg[b-r3kdifm8b1] { width: 100%; height: 100%; transform: rotate(-90deg); }
.gauge-bg[b-r3kdifm8b1] { fill: none; stroke: var(--color-gray-100); stroke-width: 3; }
.gauge-fill[b-r3kdifm8b1] { fill: none; stroke-width: 3; stroke-linecap: round; transition: stroke-dasharray 0.4s ease; }
.gauge-complete .gauge-fill[b-r3kdifm8b1] { stroke: var(--color-success); }
.gauge-partial .gauge-fill[b-r3kdifm8b1] { stroke: #e6a817; }
.gauge-low .gauge-fill[b-r3kdifm8b1] { stroke: var(--color-danger); }
.gauge-text[b-r3kdifm8b1] { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: var(--font-weight-bold); font-family: var(--font-mono); color: var(--color-primary); }
.gauge-label[b-r3kdifm8b1] { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }
.actions-separator[b-r3kdifm8b1] { width: 1px; height: 32px; background-color: var(--border-color-light); flex-shrink: 0; }
.item-actions[b-r3kdifm8b1] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-r3kdifm8b1] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-r3kdifm8b1] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }

/* Traceability */
.traceability-row[b-r3kdifm8b1] { padding: var(--space-3) var(--space-4) var(--space-3) calc(40px + var(--space-4) + var(--space-4)); background-color: var(--color-gray-50, #f8f9fa); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.traceability-grid[b-r3kdifm8b1] { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--space-2) var(--space-4); }
.trace-field[b-r3kdifm8b1] { display: flex; flex-direction: column; gap: 1px; }
.trace-label[b-r3kdifm8b1] { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }
.trace-value[b-r3kdifm8b1] { font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); color: var(--color-primary); font-family: var(--font-mono); }

.btn-outline-primary[b-r3kdifm8b1] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-r3kdifm8b1] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-r3kdifm8b1] { flex-wrap: wrap; }
    .item-quantities[b-r3kdifm8b1] { width: 100%; justify-content: flex-end; }
    .traceability-grid[b-r3kdifm8b1] { grid-template-columns: repeat(2, 1fr); }
}

/* /Components/Pages/Orders/DeliveryOrderByCustomerItemGroceryList.razor.rz.scp.css */
/* ===========================
   DeliveryOrderByCustomerItemGroceryList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-90w170atpz] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar-danger[b-90w170atpz] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid var(--color-danger); background-color: #fdeded; color: #5f2120; }
.alert-bar-close[b-90w170atpz] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-90w170atpz] { opacity: 1; }
.search-bar[b-90w170atpz] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-90w170atpz] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-90w170atpz] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-90w170atpz] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-90w170atpz]::placeholder { color: var(--text-muted); }
.search-clear[b-90w170atpz] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-90w170atpz] { color: var(--color-primary); }
.search-count[b-90w170atpz] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }
.loading-state[b-90w170atpz], .empty-state[b-90w170atpz] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-90w170atpz] { opacity: 0.4; }
.empty-state-text[b-90w170atpz] { font-size: var(--font-size-base); margin: 0; }
.item-list[b-90w170atpz] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-90w170atpz] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-90w170atpz] { border-bottom: none; }
.item-row:hover[b-90w170atpz] { background-color: rgba(11, 36, 62, 0.03); }
.item-avatar[b-90w170atpz] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-90w170atpz] { flex: 1; min-width: 0; }
.item-name[b-90w170atpz] { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); color: var(--color-primary); font-family: var(--font-mono); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-description[b-90w170atpz] { font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); color: var(--color-gray-700); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 1px; }
.item-meta[b-90w170atpz] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.meta-separator[b-90w170atpz] { color: var(--color-gray-300); }
.badge-um[b-90w170atpz] { display: inline-flex; align-items: center; padding: 1px 6px; font-size: 10px; font-weight: var(--font-weight-bold); font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.5px; background-color: var(--color-gray-100); color: var(--color-primary); border: var(--border-width-thin) solid var(--border-color-light); }

/* Grocery-specific: traceable badge & origin inline */
.badge-traceable[b-90w170atpz] { display: inline-flex; align-items: center; padding: 1px 6px; font-size: 10px; font-weight: var(--font-weight-bold); text-transform: uppercase; letter-spacing: 0.5px; background-color: #e8f5e9; color: #2e7d32; border: var(--border-width-thin) solid #c8e6c9; }
.trace-inline[b-90w170atpz] { font-weight: var(--font-weight-semibold); color: var(--color-primary); }

.item-price[b-90w170atpz] { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; min-width: 80px; }
.price-value[b-90w170atpz] { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); font-family: var(--font-mono); color: var(--color-primary); }
.price-currency[b-90w170atpz] { font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); }
.item-quantities[b-90w170atpz] { flex-shrink: 0; display: flex; gap: var(--space-4); align-items: center; }
.quantity-group[b-90w170atpz] { display: flex; flex-direction: column; align-items: flex-end; min-width: 90px; }
.quantity-label[b-90w170atpz] { font-size: var(--font-size-xs); color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }
.quantity-value[b-90w170atpz] { font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); font-family: var(--font-mono); }
.item-gauge[b-90w170atpz] { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.gauge-ring[b-90w170atpz] { position: relative; width: 48px; height: 48px; }
.gauge-ring svg[b-90w170atpz] { width: 100%; height: 100%; transform: rotate(-90deg); }
.gauge-bg[b-90w170atpz] { fill: none; stroke: var(--color-gray-100); stroke-width: 3; }
.gauge-fill[b-90w170atpz] { fill: none; stroke-width: 3; stroke-linecap: round; transition: stroke-dasharray 0.4s ease; }
.gauge-complete .gauge-fill[b-90w170atpz] { stroke: var(--color-success); }
.gauge-partial .gauge-fill[b-90w170atpz] { stroke: #e6a817; }
.gauge-low .gauge-fill[b-90w170atpz] { stroke: var(--color-danger); }
.gauge-text[b-90w170atpz] { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: var(--font-weight-bold); font-family: var(--font-mono); color: var(--color-primary); }
.gauge-label[b-90w170atpz] { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }
.actions-separator[b-90w170atpz] { width: 1px; height: 32px; background-color: var(--border-color-light); flex-shrink: 0; }
.item-actions[b-90w170atpz] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-90w170atpz] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-90w170atpz] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-outline-primary[b-90w170atpz] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-90w170atpz] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-90w170atpz] { flex-wrap: wrap; }
    .item-quantities[b-90w170atpz] { width: 100%; justify-content: flex-end; }
}

/* /Components/Pages/Orders/DeliveryOrderByCustomerItemMeatList.razor.rz.scp.css */
/* ===========================
   DeliveryOrderByCustomerItemMeatList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-0jr77t38h3] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar-danger[b-0jr77t38h3] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid var(--color-danger); background-color: #fdeded; color: #5f2120; }
.alert-bar-close[b-0jr77t38h3] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-0jr77t38h3] { opacity: 1; }
.search-bar[b-0jr77t38h3] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-0jr77t38h3] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-0jr77t38h3] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-0jr77t38h3] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-0jr77t38h3]::placeholder { color: var(--text-muted); }
.search-clear[b-0jr77t38h3] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-0jr77t38h3] { color: var(--color-primary); }
.search-count[b-0jr77t38h3] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }
.loading-state[b-0jr77t38h3], .empty-state[b-0jr77t38h3] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-0jr77t38h3] { opacity: 0.4; }
.empty-state-text[b-0jr77t38h3] { font-size: var(--font-size-base); margin: 0; }
.item-list[b-0jr77t38h3] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-0jr77t38h3] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:hover[b-0jr77t38h3] { background-color: rgba(11, 36, 62, 0.03); }
.item-avatar[b-0jr77t38h3] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-0jr77t38h3] { flex: 1; min-width: 0; }
.item-name[b-0jr77t38h3] { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); color: var(--color-primary); font-family: var(--font-mono); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-description[b-0jr77t38h3] { font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); color: var(--color-gray-700); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 1px; }
.item-meta[b-0jr77t38h3] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.meta-separator[b-0jr77t38h3] { color: var(--color-gray-300); }
.badge-um[b-0jr77t38h3] { display: inline-flex; align-items: center; padding: 1px 6px; font-size: 10px; font-weight: var(--font-weight-bold); font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.5px; background-color: var(--color-gray-100); color: var(--color-primary); border: var(--border-width-thin) solid var(--border-color-light); }
.item-price[b-0jr77t38h3] { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; min-width: 80px; }
.price-value[b-0jr77t38h3] { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); font-family: var(--font-mono); color: var(--color-primary); }
.price-currency[b-0jr77t38h3] { font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); }
.item-quantities[b-0jr77t38h3] { flex-shrink: 0; display: flex; gap: var(--space-4); align-items: center; }
.quantity-group[b-0jr77t38h3] { display: flex; flex-direction: column; align-items: flex-end; min-width: 90px; }
.quantity-label[b-0jr77t38h3] { font-size: var(--font-size-xs); color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }
.quantity-value[b-0jr77t38h3] { font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); font-family: var(--font-mono); }
.item-gauge[b-0jr77t38h3] { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.gauge-ring[b-0jr77t38h3] { position: relative; width: 48px; height: 48px; }
.gauge-ring svg[b-0jr77t38h3] { width: 100%; height: 100%; transform: rotate(-90deg); }
.gauge-bg[b-0jr77t38h3] { fill: none; stroke: var(--color-gray-100); stroke-width: 3; }
.gauge-fill[b-0jr77t38h3] { fill: none; stroke-width: 3; stroke-linecap: round; transition: stroke-dasharray 0.4s ease; }
.gauge-complete .gauge-fill[b-0jr77t38h3] { stroke: var(--color-success); }
.gauge-partial .gauge-fill[b-0jr77t38h3] { stroke: #e6a817; }
.gauge-low .gauge-fill[b-0jr77t38h3] { stroke: var(--color-danger); }
.gauge-text[b-0jr77t38h3] { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: var(--font-weight-bold); font-family: var(--font-mono); color: var(--color-primary); }
.gauge-label[b-0jr77t38h3] { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }
.actions-separator[b-0jr77t38h3] { width: 1px; height: 32px; background-color: var(--border-color-light); flex-shrink: 0; }
.item-actions[b-0jr77t38h3] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-0jr77t38h3] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-0jr77t38h3] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }

/* Traceability */
.traceability-row[b-0jr77t38h3] { padding: var(--space-3) var(--space-4) var(--space-3) calc(40px + var(--space-4) + var(--space-4)); background-color: var(--color-gray-50, #f8f9fa); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.traceability-grid[b-0jr77t38h3] { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--space-2) var(--space-4); }
.trace-field[b-0jr77t38h3] { display: flex; flex-direction: column; gap: 1px; }
.trace-label[b-0jr77t38h3] { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }
.trace-value[b-0jr77t38h3] { font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); color: var(--color-primary); font-family: var(--font-mono); }

.btn-outline-primary[b-0jr77t38h3] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-0jr77t38h3] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-0jr77t38h3] { flex-wrap: wrap; }
    .item-quantities[b-0jr77t38h3] { width: 100%; justify-content: flex-end; }
    .traceability-grid[b-0jr77t38h3] { grid-template-columns: repeat(2, 1fr); }
}

/* /Components/Pages/Orders/DeliveryOrderByCustomerList.razor.rz.scp.css */
/* ===========================
   DeliveryOrderByCustomerList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-1ldwz6725m] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bars */
.alert-bar[b-1ldwz6725m] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-1ldwz6725m] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-1ldwz6725m] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-1ldwz6725m] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-1ldwz6725m] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-1ldwz6725m] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-1ldwz6725m] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-1ldwz6725m] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-1ldwz6725m]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-1ldwz6725m] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-1ldwz6725m] {
    color: var(--color-primary);
}

.search-count[b-1ldwz6725m] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-1ldwz6725m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-1ldwz6725m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-1ldwz6725m] {
    opacity: 0.4;
}

.empty-state-text[b-1ldwz6725m] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-1ldwz6725m] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Customer Group */
.customer-group[b-1ldwz6725m] {
    margin-bottom: var(--space-6);
}

.customer-group:last-child[b-1ldwz6725m] {
    margin-bottom: 0;
}

.customer-group-header[b-1ldwz6725m] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-sm);
}

.customer-group-header svg[b-1ldwz6725m] {
    flex-shrink: 0;
    opacity: 0.8;
}

.customer-group-name[b-1ldwz6725m] {
    font-weight: var(--font-weight-bold);
}

.customer-group-code[b-1ldwz6725m] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    opacity: 0.7;
    font-size: var(--font-size-xs);
}

.customer-group-count[b-1ldwz6725m] {
    margin-left: auto;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    opacity: 0.8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Item Row */
.item-row[b-1ldwz6725m] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-1ldwz6725m] {
    border-bottom: none;
}

.item-row:hover[b-1ldwz6725m] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-1ldwz6725m] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-1ldwz6725m] {
    flex: 1;
    min-width: 0;
}

.item-name[b-1ldwz6725m] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-1ldwz6725m] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.meta-separator[b-1ldwz6725m] {
    color: var(--color-gray-300);
}

.delivery-state[b-1ldwz6725m] {
    font-weight: var(--font-weight-medium);
}

/* Flags */
.item-flags[b-1ldwz6725m] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.flag[b-1ldwz6725m] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
}

.flag-success[b-1ldwz6725m] {
    color: var(--color-success);
}

.flag-info[b-1ldwz6725m] {
    color: var(--color-info, #2563eb);
}

.flag-muted[b-1ldwz6725m] {
    color: var(--text-muted);
}

/* Gauge */
.item-gauge[b-1ldwz6725m] {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.gauge-ring[b-1ldwz6725m] {
    position: relative;
    width: 48px;
    height: 48px;
}

.gauge-ring svg[b-1ldwz6725m] {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.gauge-bg[b-1ldwz6725m] {
    fill: none;
    stroke: var(--color-gray-100);
    stroke-width: 3;
}

.gauge-fill[b-1ldwz6725m] {
    fill: none;
    stroke-width: 3;
    stroke-linecap: round;
    transition: stroke-dasharray 0.4s ease;
}

.gauge-complete .gauge-fill[b-1ldwz6725m] {
    stroke: var(--color-success);
}

.gauge-partial .gauge-fill[b-1ldwz6725m] {
    stroke: #e6a817;
}

.gauge-low .gauge-fill[b-1ldwz6725m] {
    stroke: var(--color-danger);
}

.gauge-text[b-1ldwz6725m] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: var(--font-weight-bold);
    font-family: var(--font-mono);
    color: var(--color-primary);
}

.gauge-label[b-1ldwz6725m] {
    font-size: 10px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-medium);
}

/* Quantities */
.item-quantities[b-1ldwz6725m] {
    flex-shrink: 0;
    display: flex;
    gap: var(--space-4);
    align-items: center;
}

.quantity-group[b-1ldwz6725m] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 90px;
}

.quantity-label[b-1ldwz6725m] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-medium);
}

.quantity-value[b-1ldwz6725m] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    font-family: var(--font-mono);
}

/* Actions Separator */
.actions-separator[b-1ldwz6725m] {
    width: 1px;
    height: 32px;
    background-color: var(--border-color-light);
    flex-shrink: 0;
}

/* Action Buttons */
.item-actions[b-1ldwz6725m] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-1ldwz6725m] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-1ldwz6725m] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

/* Outline Primary Button */
.btn-outline-primary[b-1ldwz6725m] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-1ldwz6725m] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-1ldwz6725m] {
        flex-wrap: wrap;
    }

    .item-flags[b-1ldwz6725m] {
        order: -1;
    }

    .item-quantities[b-1ldwz6725m] {
        width: 100%;
        justify-content: flex-end;
    }

    .item-gauge[b-1ldwz6725m] {
        width: 100%;
        flex-direction: row;
        justify-content: center;
        gap: var(--space-2);
    }

    .actions-separator[b-1ldwz6725m] {
        display: none;
    }

    .item-actions[b-1ldwz6725m] {
        margin-left: auto;
    }

    .quantity-group[b-1ldwz6725m] {
        min-width: 70px;
    }
}

/* /Components/Pages/Orders/DeliveryOrderByItemCustomerList.razor.rz.scp.css */
/* ===========================
   DeliveryOrderByItemCustomerList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-14epa4msdv] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert */
.alert-bar-danger[b-14epa4msdv] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid var(--color-danger);
    background-color: #fdeded;
    color: #5f2120;
}

.alert-bar-close[b-14epa4msdv] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-14epa4msdv] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-14epa4msdv] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-14epa4msdv] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-14epa4msdv] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-14epa4msdv] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-14epa4msdv]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-14epa4msdv] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-14epa4msdv] {
    color: var(--color-primary);
}

.search-count[b-14epa4msdv] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty */
.loading-state[b-14epa4msdv],
.empty-state[b-14epa4msdv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-14epa4msdv] {
    opacity: 0.4;
}

.empty-state-text[b-14epa4msdv] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-14epa4msdv] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-14epa4msdv] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:hover[b-14epa4msdv] {
    background-color: rgba(11, 36, 62, 0.03);
}

.item-avatar[b-14epa4msdv] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

.item-info[b-14epa4msdv] {
    flex: 1;
    min-width: 0;
}

.item-name[b-14epa4msdv] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-description[b-14epa4msdv] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-700);
    font-family: var(--font-mono);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 1px;
}

.item-meta[b-14epa4msdv] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.meta-separator[b-14epa4msdv] {
    color: var(--color-gray-300);
}

.badge-doc[b-14epa4msdv] {
    display: inline-flex;
    align-items: center;
    padding: 1px 6px;
    font-size: 10px;
    font-weight: var(--font-weight-bold);
    font-family: var(--font-mono);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.badge-state[b-14epa4msdv] {
    display: inline-flex;
    align-items: center;
    padding: 1px 6px;
    font-size: 10px;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background-color: var(--color-gray-100);
    color: var(--text-muted);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Quantities */
.item-quantities[b-14epa4msdv] {
    flex-shrink: 0;
    display: flex;
    gap: var(--space-4);
    align-items: center;
}

.quantity-group[b-14epa4msdv] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 90px;
}

.quantity-label[b-14epa4msdv] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-medium);
}

.quantity-value[b-14epa4msdv] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    font-family: var(--font-mono);
}

/* Gauge */
.item-gauge[b-14epa4msdv] {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.gauge-ring[b-14epa4msdv] {
    position: relative;
    width: 48px;
    height: 48px;
}

.gauge-ring svg[b-14epa4msdv] {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.gauge-bg[b-14epa4msdv] {
    fill: none;
    stroke: var(--color-gray-100);
    stroke-width: 3;
}

.gauge-fill[b-14epa4msdv] {
    fill: none;
    stroke-width: 3;
    stroke-linecap: round;
    transition: stroke-dasharray 0.4s ease;
}

.gauge-complete .gauge-fill[b-14epa4msdv] {
    stroke: var(--color-success);
}

.gauge-partial .gauge-fill[b-14epa4msdv] {
    stroke: #e6a817;
}

.gauge-low .gauge-fill[b-14epa4msdv] {
    stroke: var(--color-danger);
}

.gauge-text[b-14epa4msdv] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: var(--font-weight-bold);
    font-family: var(--font-mono);
    color: var(--color-primary);
}

.gauge-label[b-14epa4msdv] {
    font-size: 10px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-medium);
}

/* Actions Separator */
.actions-separator[b-14epa4msdv] {
    width: 1px;
    height: 32px;
    background-color: var(--border-color-light);
    flex-shrink: 0;
}

/* Action Buttons */
.item-actions[b-14epa4msdv] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-14epa4msdv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-14epa4msdv] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

/* Outline Primary Button */
.btn-outline-primary[b-14epa4msdv] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-14epa4msdv] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-14epa4msdv] {
        flex-wrap: wrap;
    }

    .item-quantities[b-14epa4msdv] {
        width: 100%;
        justify-content: flex-end;
    }

    .item-gauge[b-14epa4msdv] {
        width: 100%;
        flex-direction: row;
        justify-content: center;
        gap: var(--space-2);
    }

    .quantity-group[b-14epa4msdv] {
        min-width: 70px;
    }
}

/* /Components/Pages/Orders/DeliveryOrderByItemFishList.razor.rz.scp.css */
/* ===========================
   DeliveryOrderByItemFishList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-lhorh0btgx] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar-danger[b-lhorh0btgx] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid var(--color-danger); background-color: #fdeded; color: #5f2120; }
.alert-bar-close[b-lhorh0btgx] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-lhorh0btgx] { opacity: 1; }
.search-bar[b-lhorh0btgx] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-lhorh0btgx] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-lhorh0btgx] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-lhorh0btgx] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-lhorh0btgx]::placeholder { color: var(--text-muted); }
.search-clear[b-lhorh0btgx] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-lhorh0btgx] { color: var(--color-primary); }
.search-count[b-lhorh0btgx] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }
.loading-state[b-lhorh0btgx], .empty-state[b-lhorh0btgx] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-lhorh0btgx] { opacity: 0.4; }
.empty-state-text[b-lhorh0btgx] { font-size: var(--font-size-base); margin: 0; }
.item-list[b-lhorh0btgx] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-lhorh0btgx] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:hover[b-lhorh0btgx] { background-color: rgba(11, 36, 62, 0.03); }
.item-avatar[b-lhorh0btgx] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-lhorh0btgx] { flex: 1; min-width: 0; }
.item-name[b-lhorh0btgx] { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); color: var(--color-primary); font-family: var(--font-mono); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-description[b-lhorh0btgx] { font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); color: var(--color-gray-700); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 1px; }
.item-meta[b-lhorh0btgx] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.meta-separator[b-lhorh0btgx] { color: var(--color-gray-300); }
.badge-um[b-lhorh0btgx] { display: inline-flex; align-items: center; padding: 1px 6px; font-size: 10px; font-weight: var(--font-weight-bold); font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.5px; background-color: var(--color-gray-100); color: var(--color-primary); border: var(--border-width-thin) solid var(--border-color-light); }
.badge-traceable[b-lhorh0btgx] { display: inline-flex; align-items: center; padding: 1px 6px; font-size: 10px; font-weight: var(--font-weight-bold); text-transform: uppercase; letter-spacing: 0.5px; background-color: #e8f5e9; color: #2e7d32; border: var(--border-width-thin) solid #c8e6c9; }
.item-price[b-lhorh0btgx] { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; min-width: 80px; }
.price-value[b-lhorh0btgx] { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); font-family: var(--font-mono); color: var(--color-primary); }
.price-currency[b-lhorh0btgx] { font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); }
.item-quantities[b-lhorh0btgx] { flex-shrink: 0; display: flex; gap: var(--space-4); align-items: center; }
.quantity-group[b-lhorh0btgx] { display: flex; flex-direction: column; align-items: flex-end; min-width: 90px; }
.quantity-label[b-lhorh0btgx] { font-size: var(--font-size-xs); color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }
.quantity-value[b-lhorh0btgx] { font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); font-family: var(--font-mono); }
.item-gauge[b-lhorh0btgx] { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.gauge-ring[b-lhorh0btgx] { position: relative; width: 48px; height: 48px; }
.gauge-ring svg[b-lhorh0btgx] { width: 100%; height: 100%; transform: rotate(-90deg); }
.gauge-bg[b-lhorh0btgx] { fill: none; stroke: var(--color-gray-100); stroke-width: 3; }
.gauge-fill[b-lhorh0btgx] { fill: none; stroke-width: 3; stroke-linecap: round; transition: stroke-dasharray 0.4s ease; }
.gauge-complete .gauge-fill[b-lhorh0btgx] { stroke: var(--color-success); }
.gauge-partial .gauge-fill[b-lhorh0btgx] { stroke: #e6a817; }
.gauge-low .gauge-fill[b-lhorh0btgx] { stroke: var(--color-danger); }
.gauge-text[b-lhorh0btgx] { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: var(--font-weight-bold); font-family: var(--font-mono); color: var(--color-primary); }
.gauge-label[b-lhorh0btgx] { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }

/* Traceability */
.traceability-row[b-lhorh0btgx] { padding: var(--space-3) var(--space-4) var(--space-3) calc(40px + var(--space-4) + var(--space-4)); background-color: var(--color-gray-50, #f8f9fa); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.traceability-grid[b-lhorh0btgx] { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--space-2) var(--space-4); }
.trace-field[b-lhorh0btgx] { display: flex; flex-direction: column; gap: 1px; }
.trace-label[b-lhorh0btgx] { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }
.trace-value[b-lhorh0btgx] { font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); color: var(--color-primary); font-family: var(--font-mono); }
.trace-value-scientific[b-lhorh0btgx] { font-style: italic; }

/* Actions */
.actions-separator[b-lhorh0btgx] { width: 1px; height: 32px; background-color: var(--border-color-light); flex-shrink: 0; }
.item-actions[b-lhorh0btgx] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-lhorh0btgx] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-lhorh0btgx] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }

.btn-outline-primary[b-lhorh0btgx] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-lhorh0btgx] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-lhorh0btgx] { flex-wrap: wrap; }
    .item-quantities[b-lhorh0btgx] { width: 100%; justify-content: flex-end; }
    .actions-separator[b-lhorh0btgx] { display: none; }
    .item-actions[b-lhorh0btgx] { margin-left: auto; }
    .traceability-grid[b-lhorh0btgx] { grid-template-columns: repeat(2, 1fr); }
}

/* /Components/Pages/Orders/DeliveryOrderByItemFruitList.razor.rz.scp.css */
/* ===========================
   DeliveryOrderByItemFruitList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-fxtsa44ixm] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar-danger[b-fxtsa44ixm] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid var(--color-danger); background-color: #fdeded; color: #5f2120; }
.alert-bar-close[b-fxtsa44ixm] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-fxtsa44ixm] { opacity: 1; }
.search-bar[b-fxtsa44ixm] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-fxtsa44ixm] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-fxtsa44ixm] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-fxtsa44ixm] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-fxtsa44ixm]::placeholder { color: var(--text-muted); }
.search-clear[b-fxtsa44ixm] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-fxtsa44ixm] { color: var(--color-primary); }
.search-count[b-fxtsa44ixm] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }
.loading-state[b-fxtsa44ixm], .empty-state[b-fxtsa44ixm] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-fxtsa44ixm] { opacity: 0.4; }
.empty-state-text[b-fxtsa44ixm] { font-size: var(--font-size-base); margin: 0; }
.item-list[b-fxtsa44ixm] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-fxtsa44ixm] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:hover[b-fxtsa44ixm] { background-color: rgba(11, 36, 62, 0.03); }
.item-avatar[b-fxtsa44ixm] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-fxtsa44ixm] { flex: 1; min-width: 0; }
.item-name[b-fxtsa44ixm] { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); color: var(--color-primary); font-family: var(--font-mono); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-description[b-fxtsa44ixm] { font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); color: var(--color-gray-700); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 1px; }
.item-meta[b-fxtsa44ixm] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.meta-separator[b-fxtsa44ixm] { color: var(--color-gray-300); }
.badge-um[b-fxtsa44ixm] { display: inline-flex; align-items: center; padding: 1px 6px; font-size: 10px; font-weight: var(--font-weight-bold); font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.5px; background-color: var(--color-gray-100); color: var(--color-primary); border: var(--border-width-thin) solid var(--border-color-light); }
.item-price[b-fxtsa44ixm] { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; min-width: 80px; }
.price-value[b-fxtsa44ixm] { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); font-family: var(--font-mono); color: var(--color-primary); }
.price-currency[b-fxtsa44ixm] { font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); }
.item-quantities[b-fxtsa44ixm] { flex-shrink: 0; display: flex; gap: var(--space-4); align-items: center; }
.quantity-group[b-fxtsa44ixm] { display: flex; flex-direction: column; align-items: flex-end; min-width: 90px; }
.quantity-label[b-fxtsa44ixm] { font-size: var(--font-size-xs); color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }
.quantity-value[b-fxtsa44ixm] { font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); font-family: var(--font-mono); }
.item-gauge[b-fxtsa44ixm] { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.gauge-ring[b-fxtsa44ixm] { position: relative; width: 48px; height: 48px; }
.gauge-ring svg[b-fxtsa44ixm] { width: 100%; height: 100%; transform: rotate(-90deg); }
.gauge-bg[b-fxtsa44ixm] { fill: none; stroke: var(--color-gray-100); stroke-width: 3; }
.gauge-fill[b-fxtsa44ixm] { fill: none; stroke-width: 3; stroke-linecap: round; transition: stroke-dasharray 0.4s ease; }
.gauge-complete .gauge-fill[b-fxtsa44ixm] { stroke: var(--color-success); }
.gauge-partial .gauge-fill[b-fxtsa44ixm] { stroke: #e6a817; }
.gauge-low .gauge-fill[b-fxtsa44ixm] { stroke: var(--color-danger); }
.gauge-text[b-fxtsa44ixm] { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: var(--font-weight-bold); font-family: var(--font-mono); color: var(--color-primary); }
.gauge-label[b-fxtsa44ixm] { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }

/* Actions */
.actions-separator[b-fxtsa44ixm] { width: 1px; height: 32px; background-color: var(--border-color-light); flex-shrink: 0; }
.item-actions[b-fxtsa44ixm] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-fxtsa44ixm] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-fxtsa44ixm] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }

/* Traceability */
.traceability-row[b-fxtsa44ixm] { padding: var(--space-3) var(--space-4) var(--space-3) calc(40px + var(--space-4) + var(--space-4)); background-color: var(--color-gray-50, #f8f9fa); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.traceability-grid[b-fxtsa44ixm] { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--space-2) var(--space-4); }
.trace-field[b-fxtsa44ixm] { display: flex; flex-direction: column; gap: 1px; }
.trace-label[b-fxtsa44ixm] { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }
.trace-value[b-fxtsa44ixm] { font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); color: var(--color-primary); font-family: var(--font-mono); }

.btn-outline-primary[b-fxtsa44ixm] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-fxtsa44ixm] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-fxtsa44ixm] { flex-wrap: wrap; }
    .item-quantities[b-fxtsa44ixm] { width: 100%; justify-content: flex-end; }
    .actions-separator[b-fxtsa44ixm] { display: none; }
    .item-actions[b-fxtsa44ixm] { margin-left: auto; }
    .traceability-grid[b-fxtsa44ixm] { grid-template-columns: repeat(2, 1fr); }
}

/* /Components/Pages/Orders/DeliveryOrderByItemGroceryList.razor.rz.scp.css */
/* ===========================
   DeliveryOrderByItemGroceryList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-9lbl336lj3] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar-danger[b-9lbl336lj3] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid var(--color-danger); background-color: #fdeded; color: #5f2120; }
.alert-bar-close[b-9lbl336lj3] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-9lbl336lj3] { opacity: 1; }
.search-bar[b-9lbl336lj3] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-9lbl336lj3] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-9lbl336lj3] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-9lbl336lj3] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-9lbl336lj3]::placeholder { color: var(--text-muted); }
.search-clear[b-9lbl336lj3] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-9lbl336lj3] { color: var(--color-primary); }
.search-count[b-9lbl336lj3] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }
.loading-state[b-9lbl336lj3], .empty-state[b-9lbl336lj3] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-9lbl336lj3] { opacity: 0.4; }
.empty-state-text[b-9lbl336lj3] { font-size: var(--font-size-base); margin: 0; }
.item-list[b-9lbl336lj3] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-9lbl336lj3] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-9lbl336lj3] { border-bottom: none; }
.item-row:hover[b-9lbl336lj3] { background-color: rgba(11, 36, 62, 0.03); }
.item-avatar[b-9lbl336lj3] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-9lbl336lj3] { flex: 1; min-width: 0; }
.item-name[b-9lbl336lj3] { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); color: var(--color-primary); font-family: var(--font-mono); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-description[b-9lbl336lj3] { font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); color: var(--color-gray-700); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 1px; }
.item-meta[b-9lbl336lj3] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.meta-separator[b-9lbl336lj3] { color: var(--color-gray-300); }
.badge-um[b-9lbl336lj3] { display: inline-flex; align-items: center; padding: 1px 6px; font-size: 10px; font-weight: var(--font-weight-bold); font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.5px; background-color: var(--color-gray-100); color: var(--color-primary); border: var(--border-width-thin) solid var(--border-color-light); }

/* Grocery-specific: traceable badge & origin inline */
.badge-traceable[b-9lbl336lj3] { display: inline-flex; align-items: center; padding: 1px 6px; font-size: 10px; font-weight: var(--font-weight-bold); text-transform: uppercase; letter-spacing: 0.5px; background-color: #e8f5e9; color: #2e7d32; border: var(--border-width-thin) solid #c8e6c9; }
.trace-inline[b-9lbl336lj3] { font-weight: var(--font-weight-semibold); color: var(--color-primary); }

.item-price[b-9lbl336lj3] { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; min-width: 80px; }
.price-value[b-9lbl336lj3] { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); font-family: var(--font-mono); color: var(--color-primary); }
.price-currency[b-9lbl336lj3] { font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); }
.item-quantities[b-9lbl336lj3] { flex-shrink: 0; display: flex; gap: var(--space-4); align-items: center; }
.quantity-group[b-9lbl336lj3] { display: flex; flex-direction: column; align-items: flex-end; min-width: 90px; }
.quantity-label[b-9lbl336lj3] { font-size: var(--font-size-xs); color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }
.quantity-value[b-9lbl336lj3] { font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); font-family: var(--font-mono); }
.item-gauge[b-9lbl336lj3] { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.gauge-ring[b-9lbl336lj3] { position: relative; width: 48px; height: 48px; }
.gauge-ring svg[b-9lbl336lj3] { width: 100%; height: 100%; transform: rotate(-90deg); }
.gauge-bg[b-9lbl336lj3] { fill: none; stroke: var(--color-gray-100); stroke-width: 3; }
.gauge-fill[b-9lbl336lj3] { fill: none; stroke-width: 3; stroke-linecap: round; transition: stroke-dasharray 0.4s ease; }
.gauge-complete .gauge-fill[b-9lbl336lj3] { stroke: var(--color-success); }
.gauge-partial .gauge-fill[b-9lbl336lj3] { stroke: #e6a817; }
.gauge-low .gauge-fill[b-9lbl336lj3] { stroke: var(--color-danger); }
.gauge-text[b-9lbl336lj3] { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: var(--font-weight-bold); font-family: var(--font-mono); color: var(--color-primary); }
.gauge-label[b-9lbl336lj3] { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }

/* Actions */
.actions-separator[b-9lbl336lj3] { width: 1px; height: 32px; background-color: var(--border-color-light); flex-shrink: 0; }
.item-actions[b-9lbl336lj3] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-9lbl336lj3] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-9lbl336lj3] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }

.btn-outline-primary[b-9lbl336lj3] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-9lbl336lj3] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-9lbl336lj3] { flex-wrap: wrap; }
    .item-quantities[b-9lbl336lj3] { width: 100%; justify-content: flex-end; }
    .actions-separator[b-9lbl336lj3] { display: none; }
    .item-actions[b-9lbl336lj3] { margin-left: auto; }
}

/* /Components/Pages/Orders/DeliveryOrderByItemMeatList.razor.rz.scp.css */
/* ===========================
   DeliveryOrderByItemMeatList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-nxh10irmb7] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert */
.alert-bar-danger[b-nxh10irmb7] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid var(--color-danger);
    background-color: #fdeded;
    color: #5f2120;
}

.alert-bar-close[b-nxh10irmb7] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-nxh10irmb7] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-nxh10irmb7] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-nxh10irmb7] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-nxh10irmb7] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-nxh10irmb7] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-nxh10irmb7]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-nxh10irmb7] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-nxh10irmb7] {
    color: var(--color-primary);
}

.search-count[b-nxh10irmb7] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty */
.loading-state[b-nxh10irmb7],
.empty-state[b-nxh10irmb7] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-nxh10irmb7] {
    opacity: 0.4;
}

.empty-state-text[b-nxh10irmb7] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-nxh10irmb7] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-nxh10irmb7] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:hover[b-nxh10irmb7] {
    background-color: rgba(11, 36, 62, 0.03);
}

.item-avatar[b-nxh10irmb7] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

.item-info[b-nxh10irmb7] {
    flex: 1;
    min-width: 0;
}

.item-name[b-nxh10irmb7] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    font-family: var(--font-mono);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-description[b-nxh10irmb7] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-700);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 1px;
}

.item-meta[b-nxh10irmb7] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.meta-separator[b-nxh10irmb7] {
    color: var(--color-gray-300);
}

.badge-um[b-nxh10irmb7] {
    display: inline-flex;
    align-items: center;
    padding: 1px 6px;
    font-size: 10px;
    font-weight: var(--font-weight-bold);
    font-family: var(--font-mono);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Price */
.item-price[b-nxh10irmb7] {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 80px;
}

.price-value[b-nxh10irmb7] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    font-family: var(--font-mono);
    color: var(--color-primary);
}

.price-currency[b-nxh10irmb7] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
}

/* Quantities */
.item-quantities[b-nxh10irmb7] {
    flex-shrink: 0;
    display: flex;
    gap: var(--space-4);
    align-items: center;
}

.quantity-group[b-nxh10irmb7] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 90px;
}

.quantity-label[b-nxh10irmb7] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-medium);
}

.quantity-value[b-nxh10irmb7] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    font-family: var(--font-mono);
}

/* Gauge */
.item-gauge[b-nxh10irmb7] {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.gauge-ring[b-nxh10irmb7] {
    position: relative;
    width: 48px;
    height: 48px;
}

.gauge-ring svg[b-nxh10irmb7] {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.gauge-bg[b-nxh10irmb7] {
    fill: none;
    stroke: var(--color-gray-100);
    stroke-width: 3;
}

.gauge-fill[b-nxh10irmb7] {
    fill: none;
    stroke-width: 3;
    stroke-linecap: round;
    transition: stroke-dasharray 0.4s ease;
}

.gauge-complete .gauge-fill[b-nxh10irmb7] {
    stroke: var(--color-success);
}

.gauge-partial .gauge-fill[b-nxh10irmb7] {
    stroke: #e6a817;
}

.gauge-low .gauge-fill[b-nxh10irmb7] {
    stroke: var(--color-danger);
}

.gauge-text[b-nxh10irmb7] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: var(--font-weight-bold);
    font-family: var(--font-mono);
    color: var(--color-primary);
}

.gauge-label[b-nxh10irmb7] {
    font-size: 10px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-medium);
}

/* === Traceability Section === */
.traceability-row[b-nxh10irmb7] {
    padding: var(--space-3) var(--space-4) var(--space-3) calc(40px + var(--space-4) + var(--space-4));
    background-color: var(--color-gray-50, #f8f9fa);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.traceability-grid[b-nxh10irmb7] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: var(--space-2) var(--space-4);
}

.trace-field[b-nxh10irmb7] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.trace-label[b-nxh10irmb7] {
    font-size: 10px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-medium);
}

.trace-value[b-nxh10irmb7] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    font-family: var(--font-mono);
}

/* Actions Separator */
.actions-separator[b-nxh10irmb7] {
    width: 1px;
    height: 32px;
    background-color: var(--border-color-light);
    flex-shrink: 0;
}

/* Action Buttons */
.item-actions[b-nxh10irmb7] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-nxh10irmb7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-nxh10irmb7] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

/* Outline Primary Button */
.btn-outline-primary[b-nxh10irmb7] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-nxh10irmb7] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-nxh10irmb7] {
        flex-wrap: wrap;
    }

    .item-quantities[b-nxh10irmb7] {
        width: 100%;
        justify-content: flex-end;
    }

    .actions-separator[b-nxh10irmb7] {
        display: none;
    }

    .item-actions[b-nxh10irmb7] {
        margin-left: auto;
    }

    .traceability-grid[b-nxh10irmb7] {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* /Components/Pages/Orders/DeliveryOrderList.razor.rz.scp.css */
/* ===========================
   DeliveryOrderList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-7q7sje2tba] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bars */
.alert-bar[b-7q7sje2tba] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-7q7sje2tba] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-7q7sje2tba] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-7q7sje2tba] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-7q7sje2tba] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-7q7sje2tba] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-7q7sje2tba] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-7q7sje2tba] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-7q7sje2tba]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-7q7sje2tba] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-7q7sje2tba] {
    color: var(--color-primary);
}

.search-count[b-7q7sje2tba] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-7q7sje2tba] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-7q7sje2tba] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-7q7sje2tba] {
    opacity: 0.4;
}

.empty-state-text[b-7q7sje2tba] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Delivery List */
.delivery-list[b-7q7sje2tba] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Date Group */
.date-group[b-7q7sje2tba] {
    margin-bottom: var(--space-6);
}

.date-group:last-child[b-7q7sje2tba] {
    margin-bottom: 0;
}

.date-group-header[b-7q7sje2tba] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-sm);
}

.date-group-header svg[b-7q7sje2tba] {
    flex-shrink: 0;
    opacity: 0.8;
}

.date-group-name[b-7q7sje2tba] {
    font-weight: var(--font-weight-bold);
    text-transform: capitalize;
}

.date-group-count[b-7q7sje2tba] {
    margin-left: auto;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    opacity: 0.8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Delivery Row */
.delivery-row[b-7q7sje2tba] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.delivery-row:last-child[b-7q7sje2tba] {
    border-bottom: none;
}

.delivery-row:hover[b-7q7sje2tba] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.delivery-avatar[b-7q7sje2tba] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Delivery Info */
.delivery-info[b-7q7sje2tba] {
    flex: 1;
    min-width: 0;
}

.delivery-name[b-7q7sje2tba] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.delivery-meta[b-7q7sje2tba] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.delivery-code[b-7q7sje2tba] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-7q7sje2tba] {
    color: var(--color-gray-300);
}

.delivery-details[b-7q7sje2tba] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-top: var(--space-1);
}

.delivery-detail-item[b-7q7sje2tba] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.delivery-detail-item svg[b-7q7sje2tba] {
    flex-shrink: 0;
}

/* Gauge */
.delivery-gauge[b-7q7sje2tba] {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.gauge-ring[b-7q7sje2tba] {
    position: relative;
    width: 48px;
    height: 48px;
}

.gauge-ring svg[b-7q7sje2tba] {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.gauge-bg[b-7q7sje2tba] {
    fill: none;
    stroke: var(--color-gray-100);
    stroke-width: 3;
}

.gauge-fill[b-7q7sje2tba] {
    fill: none;
    stroke-width: 3;
    stroke-linecap: round;
    transition: stroke-dasharray 0.4s ease;
}

.gauge-complete .gauge-fill[b-7q7sje2tba] {
    stroke: var(--color-success);
}

.gauge-partial .gauge-fill[b-7q7sje2tba] {
    stroke: #e6a817;
}

.gauge-low .gauge-fill[b-7q7sje2tba] {
    stroke: var(--color-danger);
}

.gauge-text[b-7q7sje2tba] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: var(--font-weight-bold);
    font-family: var(--font-mono);
    color: var(--color-primary);
}

.gauge-label[b-7q7sje2tba] {
    font-size: 10px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-medium);
}

/* Actions Separator */
.actions-separator[b-7q7sje2tba] {
    width: 1px;
    height: 32px;
    background-color: var(--border-color-light);
    flex-shrink: 0;
}

/* Action Buttons */
.delivery-actions[b-7q7sje2tba] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-7q7sje2tba] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-7q7sje2tba] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

/* Outline Primary Button */
.btn-outline-primary[b-7q7sje2tba] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-7q7sje2tba] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .delivery-row[b-7q7sje2tba] {
        flex-wrap: wrap;
    }

    .delivery-gauge[b-7q7sje2tba] {
        order: 5;
    }

    .actions-separator[b-7q7sje2tba] {
        order: 6;
        display: none;
    }

    .delivery-actions[b-7q7sje2tba] {
        order: 7;
        margin-left: auto;
    }

    .delivery-details[b-7q7sje2tba] {
        flex-wrap: wrap;
    }
}

/* /Components/Pages/Orders/DeliveryOrderRowList.razor.rz.scp.css */
/* ===========================
   DeliveryOrderRowList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-usqqatvzus] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar-danger[b-usqqatvzus] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid var(--color-danger); background-color: #fdeded; color: #5f2120; }
.alert-bar-close[b-usqqatvzus] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-usqqatvzus] { opacity: 1; }
.search-bar[b-usqqatvzus] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-usqqatvzus] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-usqqatvzus] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-usqqatvzus] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-usqqatvzus]::placeholder { color: var(--text-muted); }
.search-clear[b-usqqatvzus] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-usqqatvzus] { color: var(--color-primary); }
.search-count[b-usqqatvzus] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }
.loading-state[b-usqqatvzus], .empty-state[b-usqqatvzus] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-usqqatvzus] { opacity: 0.4; }
.empty-state-text[b-usqqatvzus] { font-size: var(--font-size-base); margin: 0; }
.item-list[b-usqqatvzus] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-usqqatvzus] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:hover[b-usqqatvzus] { background-color: rgba(11, 36, 62, 0.03); }

/* Row Number */
.item-row-number[b-usqqatvzus] { flex-shrink: 0; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); font-weight: var(--font-weight-bold); font-family: var(--font-mono); font-size: var(--font-size-sm); }

/* Article Info */
.item-info[b-usqqatvzus] { flex: 1; min-width: 0; }
.item-articles[b-usqqatvzus] { display: flex; flex-direction: column; gap: 2px; }
.article-ordered[b-usqqatvzus], .article-fulfilled[b-usqqatvzus] { display: flex; align-items: baseline; gap: var(--space-2); }
.article-label[b-usqqatvzus] { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); min-width: 52px; }
.article-code[b-usqqatvzus] { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); color: var(--color-primary); font-family: var(--font-mono); white-space: nowrap; }
.article-desc[b-usqqatvzus] { font-size: var(--font-size-sm); color: var(--color-gray-700); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.article-fulfilled .article-code[b-usqqatvzus] { color: var(--color-success); }
.item-meta[b-usqqatvzus] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.meta-separator[b-usqqatvzus] { color: var(--color-gray-300); }
.badge-um[b-usqqatvzus] { display: inline-flex; align-items: center; padding: 1px 6px; font-size: 10px; font-weight: var(--font-weight-bold); font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.5px; background-color: var(--color-gray-100); color: var(--color-primary); border: var(--border-width-thin) solid var(--border-color-light); }

/* Price */
.item-price[b-usqqatvzus] { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; min-width: 80px; }
.price-value[b-usqqatvzus] { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); font-family: var(--font-mono); color: var(--color-primary); }
.price-label[b-usqqatvzus] { font-size: var(--font-size-xs); color: var(--text-muted); font-family: var(--font-mono); }

/* Quantities */
.item-quantities[b-usqqatvzus] { flex-shrink: 0; display: flex; gap: var(--space-4); align-items: center; }
.quantity-group[b-usqqatvzus] { display: flex; flex-direction: column; align-items: flex-end; min-width: 90px; }
.quantity-label[b-usqqatvzus] { font-size: var(--font-size-xs); color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }
.quantity-value[b-usqqatvzus] { font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); font-family: var(--font-mono); }

/* Gauge */
.item-gauge[b-usqqatvzus] { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.gauge-ring[b-usqqatvzus] { position: relative; width: 48px; height: 48px; }
.gauge-ring svg[b-usqqatvzus] { width: 100%; height: 100%; transform: rotate(-90deg); }
.gauge-bg[b-usqqatvzus] { fill: none; stroke: var(--color-gray-100); stroke-width: 3; }
.gauge-fill[b-usqqatvzus] { fill: none; stroke-width: 3; stroke-linecap: round; transition: stroke-dasharray 0.4s ease; }
.gauge-complete .gauge-fill[b-usqqatvzus] { stroke: var(--color-success); }
.gauge-partial .gauge-fill[b-usqqatvzus] { stroke: #e6a817; }
.gauge-low .gauge-fill[b-usqqatvzus] { stroke: var(--color-danger); }
.gauge-text[b-usqqatvzus] { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: var(--font-weight-bold); font-family: var(--font-mono); color: var(--color-primary); }
.gauge-label[b-usqqatvzus] { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }

/* Details Row */
.details-row[b-usqqatvzus] { padding: var(--space-3) var(--space-4) var(--space-3) calc(36px + var(--space-4) + var(--space-4)); background-color: var(--color-gray-50, #f8f9fa); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.details-grid[b-usqqatvzus] { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: var(--space-2) var(--space-4); }
.detail-field[b-usqqatvzus] { display: flex; flex-direction: column; gap: 1px; }
.detail-label[b-usqqatvzus] { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: var(--font-weight-medium); }
.detail-value[b-usqqatvzus] { font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); color: var(--color-primary); font-family: var(--font-mono); }

.btn-outline-primary[b-usqqatvzus] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-usqqatvzus] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-usqqatvzus] { flex-wrap: wrap; }
    .item-quantities[b-usqqatvzus] { width: 100%; justify-content: flex-end; }
    .details-grid[b-usqqatvzus] { grid-template-columns: repeat(2, 1fr); }
    .article-ordered[b-usqqatvzus], .article-fulfilled[b-usqqatvzus] { flex-wrap: wrap; }
}

/* /Components/Pages/Orders/Meat/MeatOrderDetail.razor.rz.scp.css */
.page-container[b-ilh2c5e4gl] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6, 24px) var(--space-4, 16px);
}
.alert-bar[b-ilh2c5e4gl] {
    display: flex; align-items: center; gap: 8px;
    padding: 12px 16px; margin-bottom: 12px;
    font-size: 13px; border-left: 4px solid;
}
.alert-bar-danger[b-ilh2c5e4gl] { background: #fdeded; border-left-color: #b91c1c; color: #5f2120; }
.alert-bar-success[b-ilh2c5e4gl] { background: #ecfdf5; border-left-color: #047857; color: #064e3b; }
.alert-bar-close[b-ilh2c5e4gl] { margin-left: auto; background: none; border: none; cursor: pointer; opacity: .6; font-size: 18px; }

.loading-state[b-ilh2c5e4gl], .empty-state[b-ilh2c5e4gl] {
    text-align: center;
    padding: 48px 16px;
    color: #6b7280;
}

.tabs[b-ilh2c5e4gl] {
    display: flex;
    gap: 0;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.tab[b-ilh2c5e4gl] {
    background: none;
    border: none;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 500;
    color: #6b7280;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}
.tab:hover[b-ilh2c5e4gl] { color: #111827; }
.tab.active[b-ilh2c5e4gl] {
    color: #1d4ed8;
    border-bottom-color: #1d4ed8;
    font-weight: 600;
}

.tab-panel[b-ilh2c5e4gl] { padding-top: 8px; }

.cards-grid[b-ilh2c5e4gl] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    gap: 16px;
}

.info-card[b-ilh2c5e4gl] {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 16px;
}
.info-card-title[b-ilh2c5e4gl] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    margin-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 8px;
}
.info-grid[b-ilh2c5e4gl] { display: grid; gap: 8px; }
.info-row[b-ilh2c5e4gl] { display: grid; grid-template-columns: 140px 1fr; gap: 12px; align-items: start; }
.info-label[b-ilh2c5e4gl] { font-size: 11px; text-transform: uppercase; color: #6b7280; letter-spacing: 0.04em; padding-top: 2px; }
.info-value[b-ilh2c5e4gl] { font-size: 13px; color: #111827; overflow-wrap: anywhere; }

.pct-bar[b-ilh2c5e4gl] {
    position: relative;
    background: #f1f5f9;
    height: 18px;
    width: 200px;
    overflow: hidden;
    border-radius: 999px;
}
.pct-bar-fill[b-ilh2c5e4gl] { position: absolute; inset: 0 auto 0 0; background: linear-gradient(90deg, #3b82f6, #10b981); }
.pct-bar-label[b-ilh2c5e4gl] { position: relative; display: block; text-align: center; font-size: 11px; font-weight: 600; line-height: 18px; }

.lines-wrapper[b-ilh2c5e4gl] { background: #fff; border: 1px solid #e5e7eb; overflow-x: auto; }
.lines-table[b-ilh2c5e4gl] { width: 100%; border-collapse: collapse; font-size: 13px; }
.lines-table thead th[b-ilh2c5e4gl] {
    text-align: left;
    padding: 10px 12px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #374151;
}
.lines-table tbody td[b-ilh2c5e4gl] { padding: 10px 12px; border-bottom: 1px solid #f1f5f9; }
.line-row[b-ilh2c5e4gl] { cursor: pointer; }
.line-row:hover[b-ilh2c5e4gl] { background: #f9fafb; }
.line-detail-row[b-ilh2c5e4gl] { background: #fafafa; }
.line-detail-empty[b-ilh2c5e4gl] { padding: 12px; color: #6b7280; font-size: 13px; font-style: italic; }

.trac-card[b-ilh2c5e4gl] {
    background: #fff;
    border: 1px solid #e5e7eb;
    margin-bottom: 16px;
}
.trac-card-header[b-ilh2c5e4gl] {
    padding: 10px 16px;
    border-bottom: 1px solid #f1f5f9;
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fafafa;
}
.line-num[b-ilh2c5e4gl] { font-weight: 700; color: #1f2937; font-size: 12px; }
.line-art[b-ilh2c5e4gl] { color: #4b5563; font-size: 13px; }

.text-end[b-ilh2c5e4gl] { text-align: right; }

.badges-row[b-ilh2c5e4gl] { display: flex; gap: 8px; flex-wrap: wrap; }
.flag-badge[b-ilh2c5e4gl] {
    display: inline-flex;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
}
.flag-on[b-ilh2c5e4gl] { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.flag-off[b-ilh2c5e4gl] { background: #f4f4f5; color: #71717a; border-color: #e4e4e7; }
/* /Components/Pages/Orders/Meat/MeatOrderForm.razor.rz.scp.css */
.page-container[b-tng0cp96f4] {
    max-width: 1400px;
    margin: 0 auto;
    padding: 24px 16px;
}
.alert-bar[b-tng0cp96f4] { display: flex; align-items: center; gap: 8px; padding: 12px 16px; margin-bottom: 12px; font-size: 13px; border-left: 4px solid; }
.alert-bar-danger[b-tng0cp96f4] { background: #fdeded; border-left-color: #b91c1c; color: #5f2120; }
.alert-bar-close[b-tng0cp96f4] { margin-left: auto; background: none; border: none; cursor: pointer; opacity: .6; font-size: 18px; }

.loading-state[b-tng0cp96f4] { text-align: center; padding: 48px 16px; color: #6b7280; }

.form-section[b-tng0cp96f4] {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 16px;
    margin-bottom: 16px;
}
.form-section-header[b-tng0cp96f4] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.form-section-title[b-tng0cp96f4] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    margin-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 8px;
}
.form-section-header .form-section-title[b-tng0cp96f4] { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }

.form-section-collapsible > summary[b-tng0cp96f4] {
    cursor: pointer;
    list-style: none;
    user-select: none;
    display: flex;
    align-items: center;
    gap: 8px;
}
.form-section-collapsible > summary[b-tng0cp96f4]::-webkit-details-marker { display: none; }
.form-section-collapsible > summary[b-tng0cp96f4]::before {
    content: "▸";
    font-size: 12px;
    color: #6b7280;
    transition: transform 0.15s ease;
    display: inline-block;
}
.form-section-collapsible[open] > summary[b-tng0cp96f4]::before {
    transform: rotate(90deg);
}
.form-section-collapsible:not([open]) > summary[b-tng0cp96f4] {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
.form-section-collapsible[open] > summary[b-tng0cp96f4] {
    margin-bottom: 12px;
}

.form-grid[b-tng0cp96f4] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}
.form-group[b-tng0cp96f4] { display: flex; flex-direction: column; gap: 4px; }
.form-group-grow[b-tng0cp96f4] { grid-column: span 2; }
.form-group label[b-tng0cp96f4] { font-size: 11px; text-transform: uppercase; color: #6b7280; letter-spacing: 0.04em; font-weight: 600; }

.empty-state-inline[b-tng0cp96f4] {
    text-align: center;
    padding: 24px;
    color: #9ca3af;
    font-style: italic;
    font-size: 13px;
    border: 1px dashed #e5e7eb;
}

.lines-edit-wrapper[b-tng0cp96f4] { overflow-x: auto; }
.lines-edit-table[b-tng0cp96f4] { width: 100%; border-collapse: collapse; font-size: 13px; }
.lines-edit-table thead th[b-tng0cp96f4] {
    text-align: left;
    padding: 8px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #374151;
}
.lines-edit-table tbody td[b-tng0cp96f4] { padding: 4px; border-bottom: 1px solid #f1f5f9; }
.lines-edit-table .text-end[b-tng0cp96f4] { text-align: right; }
.lines-edit-table .form-control-sm[b-tng0cp96f4] { padding: 4px 8px; font-size: 13px; }
.lines-summary[b-tng0cp96f4] { padding: 12px; background: #f9fafb; font-size: 13px; color: #374151; }
.btn-icon[b-tng0cp96f4] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px;
    background: transparent; border: 1px solid transparent;
    color: #4b5563;
    cursor: pointer;
    border-radius: 4px;
}
.btn-icon-danger:hover[b-tng0cp96f4] { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }

.line-lookup[b-tng0cp96f4] {
    display: flex;
    align-items: stretch;
    gap: 4px;
}
.line-lookup .form-control[b-tng0cp96f4] { flex: 1 1 auto; min-width: 0; }
.btn-lookup-sm[b-tng0cp96f4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    flex: 0 0 28px;
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    color: #374151;
    cursor: pointer;
    border-radius: 4px;
    padding: 0;
}
.btn-lookup-sm:hover[b-tng0cp96f4] { background: #e5e7eb; color: #111827; }
/* /Components/Pages/Orders/Meat/MeatOrderList.razor.rz.scp.css */
/* ===========================
   MeatOrderList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-mgtjkz8pfi] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-mgtjkz8pfi] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-mgtjkz8pfi] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-mgtjkz8pfi] {
    background-color: var(--color-action-active);
}
/* /Components/Pages/Orders/OrderDetail.razor.rz.scp.css */
.page-container[b-xzhwbqdu3t] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6, 24px) var(--space-4, 16px);
}
.alert-bar[b-xzhwbqdu3t] {
    display: flex; align-items: center; gap: 8px;
    padding: 12px 16px; margin-bottom: 12px;
    font-size: 13px; border-left: 4px solid;
}
.alert-bar-danger[b-xzhwbqdu3t] { background: #fdeded; border-left-color: #b91c1c; color: #5f2120; }
.alert-bar-success[b-xzhwbqdu3t] { background: #ecfdf5; border-left-color: #047857; color: #064e3b; }
.alert-bar-close[b-xzhwbqdu3t] { margin-left: auto; background: none; border: none; cursor: pointer; opacity: .6; font-size: 18px; }

.loading-state[b-xzhwbqdu3t], .empty-state[b-xzhwbqdu3t] {
    text-align: center;
    padding: 48px 16px;
    color: #6b7280;
}

.tabs[b-xzhwbqdu3t] {
    display: flex;
    gap: 0;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
/* Etichette in maiuscolo dal foglio di stile, non dal markup: la stringa resta leggibile nel
   codice e l'accento di «Tracciabilità» non va perso in una conversione scritta a mano. */
.tab[b-xzhwbqdu3t] {
    background: none;
    border: none;
    padding: 10px 16px;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}
.tab:hover[b-xzhwbqdu3t] { color: #111827; }
.tab.active[b-xzhwbqdu3t] {
    color: #1d4ed8;
    border-bottom-color: #1d4ed8;
    font-weight: 600;
}

.tab-panel[b-xzhwbqdu3t] { padding-top: 8px; }

.cards-grid[b-xzhwbqdu3t] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    gap: 16px;
}

.info-card[b-xzhwbqdu3t] {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 16px;
}
.info-card-title[b-xzhwbqdu3t] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    margin-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 8px;
}
.info-grid[b-xzhwbqdu3t] { display: grid; gap: 8px; }
.info-row[b-xzhwbqdu3t] { display: grid; grid-template-columns: 140px 1fr; gap: 12px; align-items: start; }
.info-label[b-xzhwbqdu3t] { font-size: 11px; text-transform: uppercase; color: #6b7280; letter-spacing: 0.04em; padding-top: 2px; }
.info-value[b-xzhwbqdu3t] { font-size: 13px; color: #111827; overflow-wrap: anywhere; }

/* Card di soli numeri (tab Totali): valori a destra e cifre a larghezza fissa, così le colonne
   di decimali si leggono incolonnate. Modificatore esplicito — le card di testo restano a
   sinistra, dove una ragione sociale o una nota si legge meglio. */
.info-card-numeric .info-value[b-xzhwbqdu3t] { text-align: right; font-variant-numeric: tabular-nums; }
.info-card-numeric .pct-bar[b-xzhwbqdu3t] { margin-left: auto; }

.pct-bar[b-xzhwbqdu3t] {
    position: relative;
    background: #f1f5f9;
    height: 18px;
    width: 200px;
    overflow: hidden;
    border-radius: 999px;
}
.pct-bar-fill[b-xzhwbqdu3t] { position: absolute; inset: 0 auto 0 0; background: linear-gradient(90deg, #3b82f6, #10b981); }
.pct-bar-label[b-xzhwbqdu3t] { position: relative; display: block; text-align: center; font-size: 11px; font-weight: 600; line-height: 18px; }

.lines-wrapper[b-xzhwbqdu3t] { background: #fff; border: 1px solid #e5e7eb; overflow-x: auto; }
.lines-table[b-xzhwbqdu3t] { width: 100%; border-collapse: collapse; font-size: 13px; }
.lines-table thead th[b-xzhwbqdu3t] {
    text-align: left;
    padding: 10px 12px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #374151;
}
.lines-table tbody td[b-xzhwbqdu3t] { padding: 10px 12px; border-bottom: 1px solid #f1f5f9; }
.line-row[b-xzhwbqdu3t] { cursor: pointer; }
.line-row:hover[b-xzhwbqdu3t] { background: #f9fafb; }
.line-detail-row[b-xzhwbqdu3t] { background: #fafafa; }
.line-detail-empty[b-xzhwbqdu3t] { padding: 12px; color: #6b7280; font-size: 13px; font-style: italic; }

/* Riga secondaria — quantità, evasione e produzione in sola lettura.
   Riga principale e secondaria sono la stessa riga d'ordine: il separatore è uno solo, in fondo
   alla seconda, e l'hover le accende insieme. */
.line-row > td[b-xzhwbqdu3t] { border-bottom: none; }
.line-row-secondary[b-xzhwbqdu3t] { cursor: pointer; }
.line-row-secondary > td[b-xzhwbqdu3t] { padding-top: 0; }
.line-row:hover + .line-row-secondary[b-xzhwbqdu3t],
.line-row-secondary:hover[b-xzhwbqdu3t] { background: #f9fafb; }

.line-facts[b-xzhwbqdu3t] { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px 20px; }
.line-fact[b-xzhwbqdu3t] { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.35; }
.line-fact-label[b-xzhwbqdu3t] { font-size: 11px; color: #9ca3af; }
.line-fact-value[b-xzhwbqdu3t] { font-size: 12px; color: #374151; }
.line-facts-sep[b-xzhwbqdu3t] { width: 1px; align-self: stretch; background: #e5e7eb; }

.trac-card[b-xzhwbqdu3t] {
    background: #fff;
    border: 1px solid #e5e7eb;
    margin-bottom: 16px;
}
.trac-card-header[b-xzhwbqdu3t] {
    padding: 10px 16px;
    border-bottom: 1px solid #f1f5f9;
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fafafa;
}
.line-num[b-xzhwbqdu3t] { font-weight: 700; color: #1f2937; font-size: 12px; }
.line-art[b-xzhwbqdu3t] { color: #4b5563; font-size: 13px; }

.text-end[b-xzhwbqdu3t] { text-align: right; }

.badges-row[b-xzhwbqdu3t] { display: flex; gap: 8px; flex-wrap: wrap; }
.flag-badge[b-xzhwbqdu3t] {
    display: inline-flex;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
}
.flag-on[b-xzhwbqdu3t] { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.flag-off[b-xzhwbqdu3t] { background: #f4f4f5; color: #71717a; border-color: #e4e4e7; }

/* Lo storico degli export EDI (§10.4) NON sta più qui: markup e regole sono in
   Components/Shared/Edi/EdiExportHistoryCard, perché lo stesso riquadro serve al dettaglio del
   documento di vendita. Il CSS isolato non scende nei componenti figli, quindi la card porta con
   sé anche .info-card e .flag-badge — il perché è scritto nel suo foglio. Con loro se n'è andata
   .flag-ko, che esisteva solo per la pastiglia di un export fallito. */
/* /Components/Pages/Orders/OrderDocumentTypeCreate.razor.rz.scp.css */
/* ===========================
   OrderDocumentTypeCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-4x1bf172sg] { max-width: 1100px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-4x1bf172sg] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-4x1bf172sg] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-4x1bf172sg] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-4x1bf172sg] { opacity: 1; }

.form-section[b-4x1bf172sg] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-4x1bf172sg] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }

.form-grid[b-4x1bf172sg] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-4x1bf172sg] { display: flex; flex-direction: column; }
.form-group-wide[b-4x1bf172sg] { grid-column: span 2; }
/* Forza l'inizio di una nuova riga della griglia. Serve quando un campo deve restare da solo
   sulla sua riga: il campo successivo chiede la prima colonna, che è già occupata, e
   l'auto-placement lo manda a capo. Preferito a un separatore vuoto, che occuperebbe una cella
   e sarebbe letto dagli screen reader. */
.form-group-row-start[b-4x1bf172sg] { grid-column-start: 1; }
.form-label[b-4x1bf172sg] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-4x1bf172sg] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-4x1bf172sg] { border-color: var(--color-primary); outline: none; box-shadow: none; }

/* Griglia dei flag. Lo ToggleSwitch ha già una spaziatura verticale propria
   (padding var(--space-2) 0): il gap di riga resta minimo per non sommarsi. */
.switch-grid[b-4x1bf172sg] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-1) var(--space-4); }
.btn-action[b-4x1bf172sg] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-4x1bf172sg] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-4x1bf172sg] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-4x1bf172sg] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-4x1bf172sg] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-4x1bf172sg] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-4x1bf172sg] { grid-template-columns: 1fr; }
    .form-group-wide[b-4x1bf172sg] { grid-column: span 1; }
    .switch-grid[b-4x1bf172sg] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Orders/OrderDocumentTypeEdit.razor.rz.scp.css */
/* ===========================
   OrderDocumentTypeEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-5urltt8bmc] { max-width: 1100px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-5urltt8bmc] { font-family: var(--font-mono); font-size: var(--font-size-xs); background-color: var(--color-gray-100); padding: 1px var(--space-2); color: var(--color-primary); opacity: 0.7; }

.alert-bar[b-5urltt8bmc] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-5urltt8bmc] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-5urltt8bmc] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-5urltt8bmc] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-5urltt8bmc] { opacity: 1; }

.loading-state[b-5urltt8bmc] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-5urltt8bmc] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state-text[b-5urltt8bmc] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-5urltt8bmc] { margin-bottom: var(--space-6); padding: var(--space-6); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-header[b-5urltt8bmc] { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-4); }
.section-title[b-5urltt8bmc] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-header .section-title[b-5urltt8bmc] { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }

.form-grid[b-5urltt8bmc] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-5urltt8bmc] { display: flex; flex-direction: column; }
.form-group-wide[b-5urltt8bmc] { grid-column: span 2; }
/* Forza l'inizio di una nuova riga della griglia. Serve quando un campo deve restare da solo
   sulla sua riga: il campo successivo chiede la prima colonna, che è già occupata, e
   l'auto-placement lo manda a capo. Preferito a un separatore vuoto, che occuperebbe una cella
   e sarebbe letto dagli screen reader. */
.form-group-row-start[b-5urltt8bmc] { grid-column-start: 1; }
.form-label[b-5urltt8bmc] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-5urltt8bmc] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-5urltt8bmc] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control-static[b-5urltt8bmc] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-weight: var(--font-weight-medium); }

/* Griglia dei flag. Lo ToggleSwitch ha già una spaziatura verticale propria
   (padding var(--space-2) 0): il gap di riga resta minimo per non sommarsi. */
.switch-grid[b-5urltt8bmc] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-1) var(--space-4); }
.btn-action[b-5urltt8bmc] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-5urltt8bmc] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-5urltt8bmc] { opacity: 0.65; cursor: not-allowed; }
.btn-sm[b-5urltt8bmc] { padding: var(--space-1) var(--space-3); font-size: var(--font-size-xs); }
.btn-outline-primary[b-5urltt8bmc] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-5urltt8bmc] { background-color: var(--color-primary); color: var(--text-on-primary); }

.detail-loading[b-5urltt8bmc] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-4) 0; font-size: var(--font-size-sm); color: var(--text-muted); }
.detail-empty[b-5urltt8bmc] { padding: var(--space-4) 0; font-size: var(--font-size-sm); color: var(--text-muted); text-align: center; }
.detail-table[b-5urltt8bmc] { border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); }
.detail-table-header[b-5urltt8bmc] { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-3); background-color: var(--color-gray-100); font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; }
.detail-table-row[b-5urltt8bmc] { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-3); border-top: var(--border-width-thin) solid var(--border-color-light); font-size: var(--font-size-sm); transition: background-color var(--transition-fast) var(--transition-ease); }
.detail-table-row:hover[b-5urltt8bmc] { background-color: rgba(11, 36, 62, 0.02); }
.detail-col[b-5urltt8bmc] { min-width: 0; }
.detail-col-indicator[b-5urltt8bmc] { flex: 0 0 90px; }
.detail-col-code[b-5urltt8bmc] { flex: 0 0 140px; }
.detail-col-name[b-5urltt8bmc] { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.detail-col-actions[b-5urltt8bmc] { flex: 0 0 40px; display: flex; justify-content: flex-end; }
.item-code[b-5urltt8bmc] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.btn-icon[b-5urltt8bmc] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-5urltt8bmc] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); }
.btn-icon-danger:hover[b-5urltt8bmc] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }
.btn-icon-sm[b-5urltt8bmc] { width: 30px; height: 30px; }

.overlay[b-5urltt8bmc] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-5urltt8bmc] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-5urltt8bmc] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-5urltt8bmc] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-5urltt8bmc] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-5urltt8bmc] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-5urltt8bmc] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-5urltt8bmc] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }

[b-5urltt8bmc] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-5urltt8bmc] { grid-template-columns: 1fr; }
    .form-group-wide[b-5urltt8bmc] { grid-column: span 1; }
    .switch-grid[b-5urltt8bmc] { grid-template-columns: 1fr; }
    .detail-table-header[b-5urltt8bmc], .detail-table-row[b-5urltt8bmc] { flex-wrap: wrap; }
}
/* /Components/Pages/Orders/OrderDocumentTypeList.razor.rz.scp.css */
/* ===========================
   OrderDocumentTypeList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-uylmgznuyr] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-uylmgznuyr] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-uylmgznuyr] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-uylmgznuyr] { background-color: var(--color-action-active); }

.alert-bar[b-uylmgznuyr] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-uylmgznuyr] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-uylmgznuyr] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-uylmgznuyr] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-uylmgznuyr] { opacity: 1; }

.search-bar[b-uylmgznuyr] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-uylmgznuyr] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-uylmgznuyr] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-uylmgznuyr] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-uylmgznuyr]::placeholder { color: var(--text-muted); }
.search-clear[b-uylmgznuyr] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-uylmgznuyr] { color: var(--color-primary); }
.search-count[b-uylmgznuyr] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-uylmgznuyr] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-uylmgznuyr] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-uylmgznuyr] { opacity: 0.4; }
.empty-state-text[b-uylmgznuyr] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-uylmgznuyr] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-uylmgznuyr] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-uylmgznuyr] { border-bottom: none; }
.item-row:hover[b-uylmgznuyr] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-uylmgznuyr] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-uylmgznuyr] { flex: 1; min-width: 0; }
.item-name[b-uylmgznuyr] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-uylmgznuyr] { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-uylmgznuyr] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }
.item-detail[b-uylmgznuyr] { color: var(--text-muted); }

.item-actions[b-uylmgznuyr] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-uylmgznuyr] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-uylmgznuyr] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-uylmgznuyr] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-uylmgznuyr] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-uylmgznuyr] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-uylmgznuyr] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-uylmgznuyr] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-uylmgznuyr] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-uylmgznuyr] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-uylmgznuyr] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-uylmgznuyr] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-uylmgznuyr] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-uylmgznuyr] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-uylmgznuyr] { flex-wrap: wrap; }
    .item-actions[b-uylmgznuyr] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Orders/OrderForm.razor.rz.scp.css */
.page-container[b-fds7vc2vmk] {
    max-width: 1400px;
    margin: 0 auto;
    padding: 24px 16px;
}
.alert-bar[b-fds7vc2vmk] { display: flex; align-items: center; gap: 8px; padding: 12px 16px; margin-bottom: 12px; font-size: 13px; border-left: 4px solid; }
.alert-bar-danger[b-fds7vc2vmk] { background: #fdeded; border-left-color: #b91c1c; color: #5f2120; }
.alert-bar-close[b-fds7vc2vmk] { margin-left: auto; background: none; border: none; cursor: pointer; opacity: .6; font-size: 18px; }

.loading-state[b-fds7vc2vmk] { text-align: center; padding: 48px 16px; color: #6b7280; }
.empty-state[b-fds7vc2vmk] { text-align: center; padding: 48px 16px; color: #6b7280; }
.empty-state p[b-fds7vc2vmk] { margin: 0 0 8px; }
.empty-state .btn[b-fds7vc2vmk] { margin-top: 8px; }

.form-section[b-fds7vc2vmk] {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 16px;
    margin-bottom: 16px;
}
.form-section-header[b-fds7vc2vmk] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.form-section-title[b-fds7vc2vmk] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    margin-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 8px;
}
.form-section-header .form-section-title[b-fds7vc2vmk] { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }

/* ── Testata della sezione Righe: interruttore «Ultima riga in alto» + Aggiungi riga ──────────
   Stesso interruttore di SalesDocumentForm.razor.css (scoped, quindi non condivisibile): se un
   quarto form lo ripete, va spostato in components.css (CLAUDE.md §CSS di componente). */
.lines-header-actions[b-fds7vc2vmk] { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }

.auto-add-switch[b-fds7vc2vmk] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
    font-size: 12px;
    color: #334155;
    margin: 0;
}

.auto-add-switch input[b-fds7vc2vmk] { position: absolute; opacity: 0; width: 0; height: 0; }

.auto-add-track[b-fds7vc2vmk] {
    position: relative;
    width: 34px;
    height: 18px;
    background: #cbd5e1;
    border-radius: 999px;
    transition: background-color 140ms ease;
    flex-shrink: 0;
}

.auto-add-thumb[b-fds7vc2vmk] {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 14px;
    height: 14px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    transition: transform 140ms ease;
}

.auto-add-switch input:checked + .auto-add-track[b-fds7vc2vmk] { background: #047857; }
.auto-add-switch input:checked + .auto-add-track .auto-add-thumb[b-fds7vc2vmk] { transform: translateX(16px); }
.auto-add-switch input:focus-visible + .auto-add-track[b-fds7vc2vmk] { box-shadow: 0 0 0 3px rgba(4, 120, 87, 0.25); }

.auto-add-label[b-fds7vc2vmk] { line-height: 1.2; text-transform: none; letter-spacing: normal; font-weight: 500; }

.form-section-collapsible > summary[b-fds7vc2vmk] {
    cursor: pointer;
    list-style: none;
    user-select: none;
    display: flex;
    align-items: center;
    gap: 8px;
}
.form-section-collapsible > summary[b-fds7vc2vmk]::-webkit-details-marker { display: none; }
.form-section-collapsible > summary[b-fds7vc2vmk]::before {
    content: "▸";
    font-size: 12px;
    color: #6b7280;
    transition: transform 0.15s ease;
    display: inline-block;
}
.form-section-collapsible[open] > summary[b-fds7vc2vmk]::before {
    transform: rotate(90deg);
}
.form-section-collapsible:not([open]) > summary[b-fds7vc2vmk] {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
.form-section-collapsible[open] > summary[b-fds7vc2vmk] {
    margin-bottom: 12px;
}

.form-grid[b-fds7vc2vmk] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}
/* Senza `gap`: lo spazio fra etichetta e controllo lo dà il margine dell'etichetta, come nei
   componenti condivisi. Con il gap in più, un campo scritto a mano teneva la propria etichetta
   4 px più in alto di quella del <DateField> accanto, dentro la stessa .form-group-row. */
.form-group[b-fds7vc2vmk] { display: flex; flex-direction: column; }
.form-group-grow[b-fds7vc2vmk] { grid-column: span 2; }

/* Il selettore resta sull'elemento perché 10 delle 18 <label> di questa pagina non portano
   class="form-label". I valori però non sono più suoi: sono quelli dell'etichetta di campo del
   design system, gli stessi che LookupField e DateField rendono qui accanto. Erano 11px/600/#6b7280
   contro 12px/500/--text-secondary, e la differenza si leggeva sulla stessa riga. */
.form-group label[b-fds7vc2vmk] {
    font-size: var(--label-font-size);
    font-weight: var(--label-font-weight);
    color: var(--label-color);
    text-transform: uppercase;
    letter-spacing: var(--label-letter-spacing);
    margin-bottom: var(--label-gap);
}

.empty-state-inline[b-fds7vc2vmk] {
    text-align: center;
    padding: 24px;
    color: #9ca3af;
    font-style: italic;
    font-size: 13px;
    border: 1px dashed #e5e7eb;
}

.lines-edit-wrapper[b-fds7vc2vmk] { overflow-x: auto; }
/* ── Scala densa della riga di dettaglio ──────────────────────────────────────────────────
   La riga di una tabella NON è una riga di form: i controlli stanno dentro una cella e devono
   stare all'altezza dell'icona di riga, non a quella della scheda. Qui l'altezza era scritta con
   letterali sparsi in quattro punti — 28px per .cell-num-field e per .btn-icon, e i 31 px che
   .form-control-sm ereditava da Bootstrap per gli input costruiti a mano — e nessuno dei quattro
   sapeva degli altri: la riga mostrava 28 e 31 px insieme.

   Ora è un token solo, --control-height-xs, lo stesso di LabelPrintIconButton. Serve anche a
   tenere fuori --control-height (40 px), che components.css dichiara su ogni .form-control: senza
   questa regola gli input della riga si alzerebbero a 40 accanto ai campi numerici da 28.
   Vedi docs/Analisi-ArmonizzazioneControlliShared-MtsSaas.md §8.

   DUE DETTAGLI CHE LA MISURA SULLA PAGINA VERA HA CORRETTO:
   · `::deep` non è facoltativo. Senza, Blazor mette l'attributo di scope sul BERSAGLIO
     (`.form-control[b-questa-pagina]`) e la regola non raggiunge gli input resi dai componenti
     condivisi, che portano lo scope del componente: DateField e TimeField restavano a 40 px in
     mezzo a una riga da 28. Con `::deep` l'attributo va sull'antenato e la regola vale per tutti.
   · serve anche `min-height`: Bootstrap lo dichiara su .form-control-sm, e batte `height`. */
.lines-edit-table[b-fds7vc2vmk]  .form-control,
.lines-edit-table[b-fds7vc2vmk]  .btn-lookup-sm,
.lines-edit-table[b-fds7vc2vmk]  .btn-icon {
    height: var(--control-height-xs);
    min-height: var(--control-height-xs);
}

/* La scala densa ha anche un suo corpo del testo, e va dichiarato qui per lo stesso motivo:
   `:root .form-control` porta 14 px a ogni campo, e DateField e TimeField della riga restavano a
   14 in mezzo a controlli scritti a 13. */
.lines-edit-table[b-fds7vc2vmk]  .form-control {
    font-size: var(--control-font-size-xs);
}

.lines-edit-table[b-fds7vc2vmk] { width: 100%; border-collapse: collapse; font-size: 13px; }
.lines-edit-table thead th[b-fds7vc2vmk] {
    text-align: left;
    padding: 8px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #374151;
}
.lines-edit-table tbody td[b-fds7vc2vmk] { padding: 4px; border-bottom: 1px solid #f1f5f9; }
.lines-edit-table .text-end[b-fds7vc2vmk] { text-align: right; }
.lines-edit-table .form-control-sm[b-fds7vc2vmk] { padding: 4px 8px; font-size: 13px; }
.lines-summary[b-fds7vc2vmk] { padding: 12px; background: #f9fafb; font-size: 13px; color: #374151; }

/* ── Piede documento: card riepilogo totali ─────────────────────────────── */
.lines-totals[b-fds7vc2vmk] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px;
    background: #f9fafb;
    border-top: 1px solid #e5e7eb;
}
.total-card[b-fds7vc2vmk] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 104px;
    padding: 8px 12px;
    background: #fff;
    border: 1px solid #e5e7eb;
}
.total-card-label[b-fds7vc2vmk] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
}
.total-card-value[b-fds7vc2vmk] {
    font-size: 16px;
    font-weight: 700;
    color: #111827;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
/* Card importo documento: evidenziata e spinta a destra. */
.total-card-emphasis[b-fds7vc2vmk] {
    margin-left: auto;
    background: #eff6ff;
    border-color: #bfdbfe;
}
.total-card-emphasis .total-card-value[b-fds7vc2vmk] { color: #1d4ed8; }

/* Una riga d'ordine occupa due o tre <tr>: principale, quantità/evasione, e — solo dove si
   pianifica la produzione — la terza con Corsia e Data prod.
   Il separatore lo chiude SEMPRE l'ultima riga del gruppo, che non è sempre la stessa: la
   `.line-row-close` la marca in Razor, perché è là che si sa se la terza riga esiste.
   Senza, con la produzione attiva il bordo sarebbe caduto in mezzo al gruppo. */
.lines-edit-table tbody tr.line-row-main td[b-fds7vc2vmk] { border-bottom: none; padding-bottom: 2px; }

.lines-edit-table tbody tr.line-row-secondary td[b-fds7vc2vmk] {
    padding-top: 0;
    padding-bottom: 2px;
    border-bottom: none;
}

.lines-edit-table tbody tr.line-row-close td[b-fds7vc2vmk] {
    padding-bottom: 6px;
    border-bottom: 1px solid #cbd5e1;
}

/* ── Badge del progressivo di riga (prg_ordine_riga) ───────────────────────
   Colonna stretta a sinistra: è un riferimento di lettura, non un dato da editare.
   Stile allineato al documento di vendita, così il badge si legge allo stesso modo
   passando da una griglia all'altra. */
.cell-seq[b-fds7vc2vmk] { text-align: center; vertical-align: middle; }

.seq-badge[b-fds7vc2vmk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 22px;
    padding: 0 6px;
    background: #eef2f7;
    border: 1px solid #d7dee8;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
    /* Tabellare: con progressivi a una e due cifre i badge restano allineati in colonna. */
    font-variant-numeric: tabular-nums;
}

/* Riga non ancora salvata: il progressivo non esiste, il badge è smorzato e mostra un segnaposto. */
.seq-badge.is-new[b-fds7vc2vmk] {
    background: transparent;
    border-style: dashed;
    border-color: #cbd5e1;
    color: #94a3b8;
    font-weight: 400;
}

/* Presenza del piano ricetta sulla riga: la riga che genera ordini di produzione va riconoscibile
   senza doverla aprire. Sta sotto al progressivo, non accanto: la colonna è stretta. */
.recipe-badge[b-fds7vc2vmk] {
    display: block;
    margin-top: 3px;
    padding: 0 4px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #15803d;
    font-size: 10px;
    font-weight: 700;
    line-height: 15px;
    letter-spacing: 0.3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Riga in produzione (colli pianificati dal planner) o in evasione: stesso formato del badge
   ricetta, colore d'avviso. Quantità, articolo, UM e pallet sono bloccati. */
.prod-badge[b-fds7vc2vmk] {
    display: block;
    margin-top: 3px;
    padding: 0 4px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #c2410c;
    font-size: 10px;
    font-weight: 700;
    line-height: 15px;
    white-space: nowrap;
    cursor: help;
}

.prod-badge.is-fulfilled[b-fds7vc2vmk] {
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #475569;
}

/* ── Seconda riga: un campo per cella ──────────────────────────────────────────────────────
   Le larghezze non si dichiarano più. Prima erano otto letterali diversi (114, 90, 96, 96, 180,
   150, 180, 220) dentro due flex-wrap annidati, e producevano tre righe con sette bordi sinistri
   diversi: nessuna colonna si ripeteva da una riga all'altra. Ora ogni campo sta nella cella
   della colonna a cui appartiene, e ad allineare è la tabella — che è l'unica cosa che sa davvero
   dove cadono le colonne, e continua a saperlo quando cambiano.

   Resta una sola condizione da rispettare nel markup: la riga secondaria deve avere lo stesso
   conto di colonne della principale, celle vuote comprese. */
.cell-sub[b-fds7vc2vmk] {
    /* In alto: i campi partono tutti dalla stessa linea qualunque cosa contengano. */
    vertical-align: top;
}

.cell-sub label[b-fds7vc2vmk] {
    display: block;
    font-size: 10px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.4px; color: #94a3b8;
    margin-bottom: 2px;
    white-space: nowrap;
}

/* I componenti condivisi portano con sé le proprie misure — DateField ha max-width: 180px,
   TimeField perfino min-width: 150px — pensate per una scheda, non per una cella di tabella.
   Dentro una colonna il campo deve prendere la larghezza che la colonna gli dà, né più né meno:
   il min-width: 0 è la parte che conta, perché senza di esso la cella non può restringersi sotto
   la misura del componente e allarga la colonna, e con essa tutta la tabella. */
.cell-sub[b-fds7vc2vmk]  .form-group {
    margin: 0;
    width: 100%;
    min-width: 0;
    max-width: none;
}

.cell-sub[b-fds7vc2vmk]  .form-label {
    font-size: 10px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.4px; color: #94a3b8; margin-bottom: 2px;
}

.cell-sub .form-control[b-fds7vc2vmk],
.cell-sub[b-fds7vc2vmk]  .form-control,
.cell-sub .line-lookup[b-fds7vc2vmk] {
    width: 100%;
    min-width: 0;
}
/* Campo quantità collegato all'UM (des_nome_campo_calc): sola lettura, tenuto = qta_merce. */
.qty-readonly[b-fds7vc2vmk] { background: #f3f4f6; color: #6b7280; cursor: default; }

.btn-icon[b-fds7vc2vmk] {
    display: inline-flex; align-items: center; justify-content: center;
    width: var(--control-height-xs); height: var(--control-height-xs);
    background: transparent; border: 1px solid transparent;
    color: #4b5563;
    cursor: pointer;
    border-radius: 4px;
}
.btn-icon-danger:hover[b-fds7vc2vmk] { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }
.btn-icon-pallet:hover[b-fds7vc2vmk] { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }
.btn-icon-pallet:disabled[b-fds7vc2vmk] { opacity: .5; cursor: default; }

/* Piano di produzione da ricetta. Verde come il badge di riga: sono la stessa cosa. */
.btn-icon-recipe:hover[b-fds7vc2vmk] { background: #f0fdf4; color: #15803d; border-color: #bbf7d0; }
.btn-icon-recipe:disabled[b-fds7vc2vmk] { opacity: .5; cursor: default; }
.btn-icon-print:hover[b-fds7vc2vmk] { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }
.btn-icon-print:disabled[b-fds7vc2vmk] { opacity: .5; cursor: default; }

.line-lookup[b-fds7vc2vmk] {
    display: flex;
    align-items: stretch;
    gap: 4px;
}
.line-lookup .form-control[b-fds7vc2vmk] { flex: 1 1 auto; min-width: 0; }
.btn-lookup-sm[b-fds7vc2vmk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--control-height-xs);
    flex: 0 0 var(--control-height-xs);
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    color: #374151;
    cursor: pointer;
    border-radius: 4px;
    padding: 0;
}
.btn-lookup-sm:hover[b-fds7vc2vmk] { background: #e5e7eb; color: #111827; }

/* ── Righe: azioni + stato conferma (flusso due fasi) ─────────────── */
.line-actions[b-fds7vc2vmk] { display: flex; gap: 4px; align-items: center; }
.btn-icon-confirm[b-fds7vc2vmk] {
    display: inline-flex; align-items: center; justify-content: center;
    width: var(--control-height-xs); height: var(--control-height-xs);
    border: 1px solid transparent; border-radius: 4px;
    cursor: pointer; background: transparent;
}
.btn-icon-confirm.needs-confirm[b-fds7vc2vmk] { color: #b91c1c; background: #fef2f2; border-color: #fecaca; }
.btn-icon-confirm.is-confirmed[b-fds7vc2vmk] { color: #047857; background: #ecfdf5; border-color: #a7f3d0; }
.btn-icon-confirm:disabled[b-fds7vc2vmk] { opacity: .5; cursor: default; }
.lines-hint[b-fds7vc2vmk] { font-size: 12px; color: #6b7280; margin: 8px 0 0 0; font-style: italic; }

/* ── Per-line traceability modal ───────────────────────────────── */
.trac-modal-overlay[b-fds7vc2vmk] {
    position: fixed;
    inset: 0;
    background: rgba(17, 24, 39, 0.45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 40px 16px;
    z-index: 1050;
    overflow-y: auto;
}
.trac-modal[b-fds7vc2vmk] {
    background: #fff;
    width: 100%;
    max-width: 900px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 80px);
}
.trac-modal-header[b-fds7vc2vmk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #111827;
    background: #fafafa;
}
.trac-modal-close[b-fds7vc2vmk] {
    background: none;
    border: none;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    color: #6b7280;
}
.trac-modal-close:hover[b-fds7vc2vmk] { color: #111827; }
.trac-modal-body[b-fds7vc2vmk] {
    padding: 16px;
    overflow-y: auto;
}
.trac-modal-footer[b-fds7vc2vmk] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 12px 16px;
    border-top: 1px solid #e5e7eb;
    background: #fafafa;
}
.trac-edit-title[b-fds7vc2vmk] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    margin: 16px 0 8px 0;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 6px;
}
.trac-edit-title:first-child[b-fds7vc2vmk] { margin-top: 0; }
.text-end[b-fds7vc2vmk] { text-align: right; }
.trac-check-label[b-fds7vc2vmk] {
    display: flex;
    align-items: center;
    gap: 8px;
    text-transform: none;
    letter-spacing: normal;
    font-weight: 600;
}

/* Campi numerici culture-aware (QuantityField/PriceField/PercentageField) dentro le celle
   della griglia righe: rimuovono lo spazio del form-group e la label interna, così si
   comportano come gli input compatti della tabella. */
.cell-num-field[b-fds7vc2vmk]  .form-group { margin: 0; padding: 0; }
.cell-num-field[b-fds7vc2vmk]  .form-label { display: none; }
.cell-num-field[b-fds7vc2vmk]  .quantity-input-wrapper,
.cell-num-field[b-fds7vc2vmk]  .price-input-wrapper,
.cell-num-field[b-fds7vc2vmk]  .percentage-input-wrapper { margin: 0; }
.cell-num-field[b-fds7vc2vmk]  .form-control {
    font-size: 13px;
    height: var(--control-height-xs);
    width: 100%;
    text-align: right;
}
/* Nascondiamo il suggerimento decimali. */
.cell-num-field[b-fds7vc2vmk]  [class$="-decimals-hint"] { display: none; }
/* Con il suggerimento nascosto rimuoviamo il padding-right riservato (i componenti lo
   impostano a ~3.5em) così Quantità e Prezzo restano a filo destro. !important perché le
   regole scoped dei componenti hanno pari specificità. */
.cell-num-field[b-fds7vc2vmk]  .quantity-input,
.cell-num-field[b-fds7vc2vmk]  .price-input {
    padding: 4px 8px !important;
    text-align: right !important;
}
/* La percentuale mantiene un piccolo spazio a destra per il simbolo %. */
.cell-num-field[b-fds7vc2vmk]  .percentage-input {
    padding: 4px 1.6em 4px 8px !important;
    text-align: right !important;
}
.cell-num-field[b-fds7vc2vmk]  .percentage-symbol { font-size: 11px; color: #94a3b8; }
/* /Components/Pages/Orders/OrderList.razor.rz.scp.css */
/* ===========================
   OrderList - Scoped Styles
   Stile "lista contatti": righe/card da VwDocOrdTestata
   =========================== */

.page-container[b-3tjmweyrfu] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}
/* Action buttons */
.btn-action[b-3tjmweyrfu] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-3tjmweyrfu] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:disabled[b-3tjmweyrfu] { opacity: 0.5; cursor: default; box-shadow: none; }

.btn-action-secondary[b-3tjmweyrfu] { background-color: transparent; color: var(--color-action); }
.btn-action-secondary:hover[b-3tjmweyrfu] { background-color: var(--color-gray-100, rgba(0,0,0,0.04)); color: var(--color-action); }

/* Alert bar */
.alert-bar[b-3tjmweyrfu] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-3tjmweyrfu] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }

.alert-bar-close[b-3tjmweyrfu] {
    margin-left: auto; background: none; border: none;
    font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1;
}
.alert-bar-close:hover[b-3tjmweyrfu] { opacity: 1; }

/* Status filter chips */
.status-filters[b-3tjmweyrfu] { display: flex; gap: var(--space-1); flex-wrap: wrap; margin-bottom: var(--space-3); }

.status-chip[b-3tjmweyrfu] {
    padding: var(--space-1) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: transparent;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    cursor: pointer;
}

.status-chip.is-active[b-3tjmweyrfu] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary, #fff);
}

/* Search bar */
.search-bar[b-3tjmweyrfu] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-3tjmweyrfu] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-3tjmweyrfu] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-3tjmweyrfu] {
    flex: 1; border: none; background: transparent;
    font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0;
}
.search-input[b-3tjmweyrfu]::placeholder { color: var(--text-muted); }
.search-count[b-3tjmweyrfu] {
    flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted);
    font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px;
}

/* Loading / empty */
.loading-state[b-3tjmweyrfu], .empty-state[b-3tjmweyrfu] {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3);
}
.empty-state svg[b-3tjmweyrfu] { opacity: 0.4; }
.empty-state-text[b-3tjmweyrfu] { font-size: var(--font-size-base); margin: 0; }

/* Order list (righe) */
.order-list[b-3tjmweyrfu] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }

.order-row[b-3tjmweyrfu] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
    cursor: pointer;
}
.order-row:last-child[b-3tjmweyrfu] { border-bottom: none; }
.order-row:hover[b-3tjmweyrfu] { background-color: rgba(11, 36, 62, 0.03); }

.order-avatar[b-3tjmweyrfu] {
    flex-shrink: 0;
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

.order-info[b-3tjmweyrfu] { flex: 1; min-width: 0; }

.order-name[b-3tjmweyrfu] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.order-meta[b-3tjmweyrfu] {
    display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap;
    font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px;
}
.order-code[b-3tjmweyrfu] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.8; }
.meta-separator[b-3tjmweyrfu] { color: var(--color-gray-300); }

.order-details[b-3tjmweyrfu] { display: flex; align-items: center; gap: var(--space-4); margin-top: var(--space-1); flex-wrap: wrap; }
.order-detail-item[b-3tjmweyrfu] { font-size: var(--font-size-xs); color: var(--text-muted); }
.detail-label[b-3tjmweyrfu] { color: var(--color-gray-400); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.3px; margin-right: 2px; }

.order-badges[b-3tjmweyrfu] { flex-shrink: 0; display: flex; gap: var(--space-2); }

/* Action buttons */
.order-actions[b-3tjmweyrfu] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }

/* Separatore fra le azioni sul documento (visualizza/modifica) e quelle che ne creano uno nuovo. */
.action-separator[b-3tjmweyrfu] {
    width: var(--border-width-thin);
    align-self: stretch;
    margin: var(--space-1) var(--space-1);
    background-color: var(--border-color-light);
}

.btn-icon[b-3tjmweyrfu] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px;
    background: none; border: var(--border-width-thin) solid transparent;
    cursor: pointer; color: var(--text-muted); text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}
.btn-icon:hover[b-3tjmweyrfu] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

/* Paginazione */
.list-pagination[b-3tjmweyrfu] {
    display: flex; align-items: center; justify-content: center;
    gap: var(--space-3); margin-top: var(--space-4);
}
.pagination-info[b-3tjmweyrfu] { color: var(--text-muted); font-size: var(--font-size-sm); }

/* Responsive */
@media (max-width: 768px) {
    .order-row[b-3tjmweyrfu] { flex-wrap: wrap; }
    .order-badges[b-3tjmweyrfu] { order: 5; }
    .order-actions[b-3tjmweyrfu] { order: 6; margin-left: auto; }
    .order-details[b-3tjmweyrfu] { flex-wrap: wrap; }
}

/* /Components/Pages/Orders/OrderListByMetaquery.razor.rz.scp.css */
/* ===========================
   OrderListByMetaquery - Scoped Styles
   Lista ordini basata su MetaQuery
   =========================== */

.page-container[b-6s2w9tdt9s] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-6s2w9tdt9s] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-6s2w9tdt9s] {
    flex: 1;
}

.page-header-right[b-6s2w9tdt9s] {
    flex-shrink: 0;
    display: flex;
    gap: var(--space-2);
}

.page-title[b-6s2w9tdt9s] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-6s2w9tdt9s] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-6s2w9tdt9s] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

.btn-action[b-6s2w9tdt9s] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-6s2w9tdt9s] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-6s2w9tdt9s] {
    background-color: var(--color-action-active);
}

/* Variante secondaria per il link alla lista principale */
.btn-action-secondary[b-6s2w9tdt9s] {
    background-color: transparent;
    color: var(--color-action);
}

.btn-action-secondary:hover[b-6s2w9tdt9s] {
    background-color: var(--color-surface-hover, rgba(0, 0, 0, 0.04));
    color: var(--color-action);
}

/* Pulsante "torna al menu": affianca il blocco icona/titolo/sottotitolo. */
.page-header-left[b-6s2w9tdt9s] { display: flex; align-items: center; gap: var(--space-3); }
.page-heading[b-6s2w9tdt9s] { min-width: 0; }
/* /Components/Pages/Orders/OrderPlannerList.razor.rz.scp.css */
/* ===========================
   OrderPlannerList - Scoped Styles
   Flat Industrial Minimal (PRD-OrderPlanner-MtsSaas F1)
   =========================== */

/* Page Container */
.page-container[b-vwo0np7lkg] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-vwo0np7lkg] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-vwo0np7lkg] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-vwo0np7lkg] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-vwo0np7lkg] {
    opacity: 1;
}

/* Filter Bar */
.filter-bar[b-vwo0np7lkg] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    flex-wrap: wrap;
}

/* Main filter row: dates + refresh + separator + view toggle, all on one baseline */
.filter-bar-main[b-vwo0np7lkg] {
    gap: var(--space-2);
}

/* UNA sola altezza per tutti i controlli delle barre filtro: --control-height è il token della riga
   di form (input, select, pulsanti) ed è la stessa altezza che il design system dà al campo data.
   La versione precedente la ricalcolava a mano (line-height + padding + bordi) e sbagliava di 10px:
   i pulsanti erano più alti dei campi che dovevano affiancare, e la riga non chiudeva.
   Vale su entrambe le barre, così lo stesso .status-btn non ha due altezze a seconda di dove sta. */
.filter-bar .btn-refresh[b-vwo0np7lkg],
.filter-bar .status-btn[b-vwo0np7lkg],
.filter-bar .filter-separator[b-vwo0np7lkg] {
    height: var(--control-height);
    box-sizing: border-box;
}

/* I campi con etichetta (DateField e il selettore di criterio) portano il .form-group globale, che
   ha un margine inferiore. `align-items: flex-end` allinea il MARGIN BOX, non il bordo del
   controllo: con quel margine i campi restano sollevati di 12px rispetto ai pulsanti, che margine
   non ne hanno. Si toglie il margine, non si compensa altrove.
   `::deep` è necessario: il .form-group dei campi data nasce dentro DateField, quindi porta lo
   scope di quel componente e una regola scoped di pagina non lo raggiungerebbe. */
.filter-bar[b-vwo0np7lkg]  .form-group {
    margin-bottom: 0;
}

/* Stessa distanza etichetta → controllo per tutti i campi della barra, così le etichette stanno
   sulla stessa riga. Senza, l'etichetta dichiarata qui prende gli 8px di Bootstrap e quella di
   DateField i 4px del proprio scoped, e le due righe si sfalsano. */
.filter-bar[b-vwo0np7lkg]  .form-label {
    margin-bottom: var(--label-gap);
}

/* Tutto ciò che sta nella riga principale si appoggia allo stesso bordo inferiore. Elencato per
   ruolo e non con `> *`: align-self su un discendente qualunque romperebbe lo stretch dell'input
   dentro .date-input-wrapper. */
.filter-bar-main[b-vwo0np7lkg]  .form-group,
.filter-bar-main .btn-refresh[b-vwo0np7lkg],
.filter-bar-main .filter-separator[b-vwo0np7lkg],
.filter-bar-main > .view-toggle[b-vwo0np7lkg] {
    align-self: flex-end;
}

/* Date-basis selector: same shape as a DateField (label above, control below), so it shares
   their baseline instead of floating on its own. */
.filter-bar-main .date-basis-group[b-vwo0np7lkg] {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
}

/* Nota sotto la barra filtro: dice perché mancano righe quando l'intervallo è sulla produzione.
   Senza, la loro assenza si legge come «non ci sono ordini». */
/* La nota appartiene alla barra che ha sopra: le sta attaccata (il margine inferiore della barra si
   annulla) e tiene sotto di sé lo stesso passo delle altre. Il padding sinistro sconta il bordo di
   richiamo — 3px qui contro 1px della barra — così il testo parte sulla stessa colonna dei filtri. */
.filter-note[b-vwo0np7lkg] {
    margin-top: calc(-1 * var(--space-4));
    margin-bottom: var(--space-4);
    padding: var(--space-2) var(--space-4);
    padding-left: calc(var(--space-4) - 2px);
    border-left: 3px solid var(--color-primary);
    background-color: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    line-height: 1.5;
}

/* Vertical divider between groups (criterio | date → aggiorna | per produzione → per ordine).
   L'altezza arriva dalla regola comune sopra: il separatore è alto quanto i controlli che separa. */
.filter-separator[b-vwo0np7lkg] {
    width: 1px;
    margin-left: var(--space-2);
    margin-right: var(--space-2);
    background-color: var(--border-color-light);
}

/* Buttons: view toggle + status filters share the .status-btn look */
.view-toggle[b-vwo0np7lkg],
.status-filters[b-vwo0np7lkg] {
    display: flex;
    gap: var(--space-1);
    flex-shrink: 0;
}

.status-btn[b-vwo0np7lkg] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-2) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-primary);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
    white-space: nowrap;
}

.status-btn:hover[b-vwo0np7lkg] {
    background-color: var(--color-gray-100);
}

.status-btn.active[b-vwo0np7lkg] {
    background-color: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
}

/* Refresh button */
.btn-refresh[b-vwo0np7lkg] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-2) var(--space-4);
    background: var(--color-primary);
    color: #fff;
    border: var(--border-width-thin) solid var(--color-primary);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
    transition: filter var(--transition-fast) var(--transition-ease);
    white-space: nowrap;
}

.btn-refresh:hover[b-vwo0np7lkg] {
    filter: brightness(1.1);
}

/* Filtro di corsia: larghezza minima fissa, così la barra non cambia forma al variare della
   descrizione più lunga fra quelle proposte — che dipende dall'intervallo, non dalla pagina.
   `::deep` perché la classe sta sul .form-group reso da SelectField. */
.filter-bar[b-vwo0np7lkg]  .lane-filter {
    min-width: 16rem;
    flex-shrink: 0;
}

/* Il conteggio non è un controllo: si centra sull'altezza dei pulsanti invece di appoggiarsi al
   loro bordo inferiore, dove la riga di testo cadrebbe sotto la loro etichetta. */
.search-count[b-vwo0np7lkg] {
    margin-left: auto;
    align-self: center;
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty */
.loading-state[b-vwo0np7lkg],
.empty-state[b-vwo0np7lkg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state-text[b-vwo0np7lkg] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Table */
.table-responsive[b-vwo0np7lkg] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.planner-table[b-vwo0np7lkg] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}

.planner-table thead th[b-vwo0np7lkg] {
    position: sticky;
    top: 0;
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    text-align: left;
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    white-space: nowrap;
}

.planner-table tbody td[b-vwo0np7lkg] {
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    vertical-align: middle;
}

.planner-table tbody tr:hover[b-vwo0np7lkg] {
    background-color: rgba(11, 36, 62, 0.03);
}

.planner-table tbody tr.row-click[b-vwo0np7lkg] {
    cursor: pointer;
}

/* Last selected row, restored on return from the Pallet Editor */
.planner-table tbody tr.row-selected[b-vwo0np7lkg],
.planner-table tbody tr.row-selected:hover[b-vwo0np7lkg] {
    background-color: rgba(11, 36, 62, 0.10);
    box-shadow: inset 3px 0 0 0 var(--color-primary);
}

/* Data row + its reference sub-row form a single visual unit:
   the data row drops its bottom border, the ref-row carries it. */
.planner-table tbody tr.row-click td[b-vwo0np7lkg] {
    border-bottom: none;
}

.planner-table tbody tr.ref-row[b-vwo0np7lkg],
.planner-table tbody tr.note-row[b-vwo0np7lkg] {
    cursor: pointer;
}

/* Sub-rows carry no bottom border by default; the LAST sub-row of the unit does. */
.planner-table tbody tr.ref-row td.ref-cell[b-vwo0np7lkg] {
    padding: 0 var(--space-3) var(--space-1) var(--space-3);
}

.planner-table tbody tr.ref-row.unit-end td.ref-cell[b-vwo0np7lkg],
.planner-table tbody tr.note-row td.note-cell[b-vwo0np7lkg] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.planner-table tbody tr.note-row td.note-cell[b-vwo0np7lkg] {
    padding: 0 var(--space-3) var(--space-2) var(--space-3);
}

/* des_note_tes can be very long: wrap freely, don't force horizontal scroll. */
.note-value[b-vwo0np7lkg] {
    display: inline;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.ref-label[b-vwo0np7lkg] {
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: var(--font-weight-semibold);
    color: var(--text-muted);
    margin-right: var(--space-2);
}

.ref-value[b-vwo0np7lkg] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    font-family: var(--font-mono);
}

.ref-muted[b-vwo0np7lkg] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-left: var(--space-2);
}

/* Group header row */
.planner-table tbody tr.group-row[b-vwo0np7lkg] {
    background-color: var(--color-gray-100);
}

.planner-table tbody tr.group-row:hover[b-vwo0np7lkg] {
    background-color: var(--color-gray-100);
}

.planner-table tbody tr.group-row td[b-vwo0np7lkg] {
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    border-top: var(--border-width-thick) solid var(--color-primary);
}

.group-label[b-vwo0np7lkg] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-muted);
    margin-right: var(--space-2);
}

.group-date[b-vwo0np7lkg] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    text-transform: capitalize;
}

.group-count[b-vwo0np7lkg] {
    margin-left: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* Subtotal row (per group) */
.planner-table tbody tr.subtotal-row[b-vwo0np7lkg],
.planner-table tbody tr.subtotal-row:hover[b-vwo0np7lkg] {
    background-color: var(--bg-secondary);
}

.planner-table tbody tr.subtotal-row td[b-vwo0np7lkg] {
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

/* Grand total row (table footer) */
.planner-table tfoot tr.total-row td[b-vwo0np7lkg] {
    padding: var(--space-3);
    background-color: var(--color-primary);
    color: #fff;
    font-weight: var(--font-weight-bold);
    border-top: var(--border-width-thick) solid var(--color-primary);
}

.planner-table tfoot tr.total-row .text-end[b-vwo0np7lkg] {
    font-variant-numeric: tabular-nums;
}

.planner-table .text-end[b-vwo0np7lkg] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.cell-strong[b-vwo0np7lkg] {
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.cell-muted[b-vwo0np7lkg] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

/* Badges */
.badge[b-vwo0np7lkg] {
    display: inline-flex;
    align-items: center;
    padding: 2px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.badge-warning[b-vwo0np7lkg] {
    background-color: #fef3c7;
    color: #92400e;
}

.badge-success[b-vwo0np7lkg] {
    background-color: #dcfce7;
    color: #166534;
}

/* Riga chiusa (riga evasa, ordine evaso o annullato): visibile, attenuata, non si apre. */
.badge-closed[b-vwo0np7lkg] {
    background-color: #e2e8f0;
    color: #334155;
}

.planner-table tbody tr.row-closed[b-vwo0np7lkg],
.planner-table tbody tr.row-closed:hover[b-vwo0np7lkg] {
    cursor: not-allowed;
}

.planner-table tbody tr.row-closed > td[b-vwo0np7lkg] {
    --bs-table-accent-bg: transparent;
    --bs-table-bg-type: transparent;
    background-color: #eef2f6;
    color: #6c7a89;
}

.planner-table tbody tr.row-closed .cell-strong[b-vwo0np7lkg] {
    color: #52606d;
}

/* Report overview cards */
.report-cards[b-vwo0np7lkg] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.report-card[b-vwo0np7lkg] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-md);
    background: var(--bg-primary);
    text-decoration: none;
    color: inherit;
    transition: box-shadow .15s, border-color .15s;
}

.report-card:hover[b-vwo0np7lkg] {
    border-color: var(--color-primary);
    box-shadow: var(--shadow-sm);
}

.report-card-icon[b-vwo0np7lkg] {
    color: var(--color-primary);
}

.report-card-title[b-vwo0np7lkg] {
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

.report-card-sub[b-vwo0np7lkg] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

@media (max-width: 900px) {
    .report-cards[b-vwo0np7lkg] {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* /Components/Pages/Orders/OrderPlannerMoveTargetPicker.razor.rz.scp.css */
/* ===========================
   OrderPlannerMoveTargetPicker - Scoped Styles
   Feature "Sposta pedana su altro ordine" (docs/PRD-OrderPlanner-SpostaPedana-MtsSaas.md)
   =========================== */

.page-container[b-gdkuqz4mav] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-gdkuqz4mav] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

/* Indietro → separatore → titolo: la forma di default dell'header di pagina
   (CLAUDE.md §«Header di pagina»). Il pulsante è MenuBackLink e porta con sé misure e
   separatore; qui resta solo l'impaginazione della riga.
   `.page-header` non era una riga: sinistra e destra si impilavano, e le azioni finivano
   sotto il titolo invece che accanto. */
.page-header-left[b-gdkuqz4mav] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.page-heading[b-gdkuqz4mav] { min-width: 0; }

.page-header-right[b-gdkuqz4mav] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
}



.page-title[b-gdkuqz4mav] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-gdkuqz4mav] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-gdkuqz4mav] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Alerts */
.alert-bar[b-gdkuqz4mav] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-gdkuqz4mav] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-gdkuqz4mav] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

/* Avviso di ristampa etichetta: non è un errore e non si chiude — resta finché la pagina è aperta,
   perché riguarda ogni destinazione che l'operatore sceglierà. */
.alert-bar-warning[b-gdkuqz4mav] {
    background-color: #fff8e6;
    border-left-color: var(--color-warning, #d97706);
    color: #7a4b06;
}

/* Destinazione che consegnerebbe prima della produzione della pedana: è una segnalazione, non un
   divieto, quindi non spegne la riga — la marca soltanto. */
.badge-before-production[b-gdkuqz4mav] {
    display: inline-block;
    margin-left: var(--space-2);
    padding: 0 var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: .03em;
    white-space: nowrap;
    background-color: #fff8e6;
    color: #7a4b06;
    border: var(--border-width) solid var(--color-warning, #d97706);
}

.alert-bar-close[b-gdkuqz4mav] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-gdkuqz4mav] {
    opacity: 1;
}

/* Filter bar */
.filter-bar[b-gdkuqz4mav] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    flex-wrap: wrap;
}

.view-toggle[b-gdkuqz4mav] {
    display: flex;
    gap: var(--space-1);
    flex-shrink: 0;
}

.status-btn[b-gdkuqz4mav] {
    padding: var(--space-2) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-primary);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
    white-space: nowrap;
}

.status-btn:hover[b-gdkuqz4mav] {
    background-color: var(--color-gray-100);
}

.status-btn.active[b-gdkuqz4mav] {
    background-color: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
}

.search-count[b-gdkuqz4mav] {
    margin-left: auto;
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* States */
.loading-state[b-gdkuqz4mav],
.empty-state[b-gdkuqz4mav] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state-text[b-gdkuqz4mav] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Table */
.table-responsive[b-gdkuqz4mav] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.planner-table[b-gdkuqz4mav] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}

.planner-table thead th[b-gdkuqz4mav] {
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    text-align: left;
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    white-space: nowrap;
}

.planner-table tbody td[b-gdkuqz4mav] {
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    vertical-align: middle;
}

.planner-table tbody tr:hover[b-gdkuqz4mav] {
    background-color: rgba(11, 36, 62, 0.03);
}

.planner-table .text-end[b-gdkuqz4mav] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.cell-strong[b-gdkuqz4mav] {
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.cell-muted[b-gdkuqz4mav] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

/* Row action button */
.btn-row[b-gdkuqz4mav] {
    padding: 2px var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-primary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    white-space: nowrap;
}

.btn-row:disabled[b-gdkuqz4mav] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-select[b-gdkuqz4mav] {
    border-color: var(--color-success);
    color: #166534;
}

.btn-select:hover:not(:disabled)[b-gdkuqz4mav] {
    background-color: #dcfce7;
}

.btn-danger[b-gdkuqz4mav] {
    border-color: var(--color-danger);
    color: #991b1b;
}

.btn-danger:hover:not(:disabled)[b-gdkuqz4mav] {
    background-color: #fee2e2;
}

/* Confirmation modal (delete emptied source order) */
.modal-overlay[b-gdkuqz4mav] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: var(--space-4);
}

.modal-card[b-gdkuqz4mav] {
    background: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
    max-width: 480px;
    width: 100%;
    padding: var(--space-5);
}

.modal-title[b-gdkuqz4mav] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    margin: 0 0 var(--space-3) 0;
}

.modal-text[b-gdkuqz4mav] {
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    margin: 0 0 var(--space-3) 0;
    line-height: 1.5;
}

.modal-actions[b-gdkuqz4mav] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-2);
    margin-top: var(--space-4);
}

/* Campi data nella barra filtro: stessa linea di base dei pulsanti (vedi OrderPlannerList). Il
   .form-group globale ha un margine inferiore che solleverebbe i campi: si toglie. */
.filter-bar[b-gdkuqz4mav]  .form-group {
    margin-bottom: 0;
    align-self: flex-end;
}

.filter-bar .view-toggle[b-gdkuqz4mav],
.filter-bar .filter-separator[b-gdkuqz4mav] {
    align-self: flex-end;
}

.filter-bar .status-btn[b-gdkuqz4mav],
.filter-bar .filter-separator[b-gdkuqz4mav] {
    height: var(--control-height);
    box-sizing: border-box;
}

.filter-separator[b-gdkuqz4mav] {
    width: 1px;
    background-color: var(--border-color-light);
}

.filter-bar .search-count[b-gdkuqz4mav] {
    align-self: center;
}
/* /Components/Pages/Orders/OrderPlannerPalletEditor.razor.rz.scp.css */
/* ===========================
   OrderPlannerPalletEditor - Scoped Styles (PRD-OrderPlanner-MtsSaas F2)
   =========================== */

.page-container[b-7op19zog6n] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Testata a due blocchi: identità della pagina a sinistra, azioni a destra.
   Le regole per i due contenitori mancavano — c'era solo il margine su .page-header — quindi
   .page-header-right finiva sotto il titolo invece che in linea. Stessa struttura delle altre
   pagine con testata (liste documenti, dettagli). */
.page-header[b-7op19zog6n] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

/* min-width: 0 perché il sottotitolo è lungo (documento · cliente · articolo · produzione):
   senza, il blocco non si restringe e spinge fuori le azioni. */
/* Indietro → separatore → titolo: la forma di default dell'header di pagina
   (CLAUDE.md §«Header di pagina»). Il pulsante è MenuBackLink e porta con sé misure e
   separatore; qui resta solo l'impaginazione della riga. */
.page-header-left[b-7op19zog6n] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.page-heading[b-7op19zog6n] { min-width: 0; }

.page-header-right[b-7op19zog6n] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
}



.page-title[b-7op19zog6n] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-7op19zog6n] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-7op19zog6n] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Alert */
.alert-bar[b-7op19zog6n] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-7op19zog6n] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-7op19zog6n] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-7op19zog6n] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-7op19zog6n] {
    opacity: 1;
}

/* Filter bar */
.filter-bar[b-7op19zog6n] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    flex-wrap: wrap;
}

.view-toggle[b-7op19zog6n],
.status-filters[b-7op19zog6n] {
    display: flex;
    gap: var(--space-1);
    flex-shrink: 0;
}

.status-btn[b-7op19zog6n] {
    padding: var(--space-2) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-primary);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
    white-space: nowrap;
}

.status-btn:hover[b-7op19zog6n] {
    background-color: var(--color-gray-100);
}

.status-btn.active[b-7op19zog6n] {
    background-color: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
}

.search-count[b-7op19zog6n] {
    margin-left: auto;
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* States */
.loading-state[b-7op19zog6n],
.empty-state[b-7op19zog6n] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state-text[b-7op19zog6n] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Table */
.table-responsive[b-7op19zog6n] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.planner-table[b-7op19zog6n] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}

.planner-table thead th[b-7op19zog6n] {
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    text-align: left;
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    white-space: nowrap;
}

.planner-table tbody td[b-7op19zog6n] {
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    vertical-align: middle;
}

.planner-table tbody tr:hover[b-7op19zog6n] {
    background-color: rgba(11, 36, 62, 0.03);
}

.planner-table tbody tr.row-click[b-7op19zog6n] {
    cursor: pointer;
}

/* Last selected pallet, restored on return from the Parcel Editor / Traceability Picker */
.planner-table tbody tr.row-selected[b-7op19zog6n],
.planner-table tbody tr.row-selected:hover[b-7op19zog6n] {
    background-color: rgba(11, 36, 62, 0.10);
    box-shadow: inset 3px 0 0 0 var(--color-primary);
}

/* Per-row pallet actions — icon-only buttons, label in the tooltip */
.row-actions[b-7op19zog6n] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
}

/* Separator between the pallet-state actions and "sposta" */
.row-actions-sep[b-7op19zog6n] {
    display: inline-block;
    width: var(--border-width-thin);
    align-self: stretch;
    margin: 0 var(--space-1);
    background-color: var(--border-color-light);
}

.btn-row[b-7op19zog6n] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-primary);
    color: var(--text-secondary);
    cursor: pointer;
    flex-shrink: 0;
}

.btn-row svg[b-7op19zog6n] {
    flex-shrink: 0;
}

.btn-row:disabled[b-7op19zog6n] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-trace[b-7op19zog6n] {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.btn-trace:hover:not(:disabled)[b-7op19zog6n] {
    background-color: rgba(11, 36, 62, 0.06);
}

.btn-deliver[b-7op19zog6n] {
    border-color: var(--color-success);
    color: #166534;
}

.btn-deliver:hover:not(:disabled)[b-7op19zog6n] {
    background-color: #dcfce7;
}

.btn-cancel[b-7op19zog6n] {
    border-color: var(--color-warning, #f59e0b);
    color: #92400e;
}

.btn-cancel:hover:not(:disabled)[b-7op19zog6n] {
    background-color: #fef3c7;
}

.btn-move[b-7op19zog6n] {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.btn-move:hover:not(:disabled)[b-7op19zog6n] {
    background-color: rgba(11, 36, 62, 0.06);
}

.planner-table .text-end[b-7op19zog6n] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.cell-strong[b-7op19zog6n] {
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.cell-muted[b-7op19zog6n] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

/* Badges */
.badge[b-7op19zog6n] {
    display: inline-flex;
    align-items: center;
    padding: 2px var(--space-2);
    margin-right: 4px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.badge-success[b-7op19zog6n] {
    background-color: #dcfce7;
    color: #166534;
}

.badge-warning[b-7op19zog6n] {
    background-color: #fef3c7;
    color: #92400e;
}

.badge-info[b-7op19zog6n] {
    background-color: #e0f2fe;
    color: #0369a1;
}

.badge-secondary[b-7op19zog6n] {
    background-color: var(--color-gray-100);
    color: var(--text-secondary);
}

.badge-danger[b-7op19zog6n] {
    background-color: #fdeded;
    color: #b42318;
}

/* Il badge «Caricata» è un link al documento di carico: deve restare un badge, non diventare
   il link azzurro sottolineato del foglio globale. */
a.badge[b-7op19zog6n] {
    text-decoration: none;
}

a.badge:hover[b-7op19zog6n] {
    text-decoration: none;
    filter: brightness(0.95);
}

/* Carico di magazzino: stessa forma degli altri pulsanti di riga.
   .btn-load è il comando, .btn-loaded lo stato già raggiunto — che è un link e non un bottone,
   quindi va riportato all'allineamento degli altri. */
.btn-load:hover:not(:disabled)[b-7op19zog6n] {
    background-color: #e0f2fe;
    border-color: #7dd3fc;
    color: #0369a1;
}

.btn-loaded[b-7op19zog6n] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #166534;
    background-color: #dcfce7;
    border-color: #86efac;
}

.btn-loaded:hover[b-7op19zog6n] {
    text-decoration: none;
    filter: brightness(0.97);
}

/* Responsive: sotto il breakpoint la testata si impila, altrimenti titolo e azioni si
   comprimono a vicenda. */
@media (max-width: 768px) {
    .page-header[b-7op19zog6n] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-header-right[b-7op19zog6n] {
        width: 100%;
    }
}

/* ══ Vista a card ══════════════════════════════════════════════════════════
   Default della pagina. Stessi dati della tabella, disposti perché si leggano
   senza scorrere le colonne: identità in alto, avanzamento, quattro dati,
   stato del carico e azioni in fondo. */

.pallet-cards[b-7op19zog6n] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: var(--space-3);
}

.pallet-card[b-7op19zog6n] {
    background: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    padding: var(--space-3) var(--space-4);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.pallet-card:hover[b-7op19zog6n] {
    border-color: var(--border-color);
    background-color: rgba(11, 36, 62, 0.02);
}

/* Ultima pedana aperta, ripristinata al ritorno dal picker: stesso segno della riga selezionata
   in tabella, così il ritorno si riconosce in entrambe le viste. */
.pallet-card.is-selected[b-7op19zog6n] {
    border-color: var(--color-primary);
    box-shadow: inset 3px 0 0 0 var(--color-primary);
}

.pallet-card-head[b-7op19zog6n] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-2);
}

.pallet-card-id[b-7op19zog6n] { min-width: 0; }

/* Casella di selezione per l'unione in un posto pallet.
   Sta nella colonna dell'identità e non fra le azioni: spuntare una pedana non è un'azione su di
   essa, è dichiarare che fa parte di un insieme — e l'insieme si legge scorrendo la colonna
   sinistra delle card, non i pulsanti in fondo. */
.pallet-card-pick[b-7op19zog6n] {
    display: inline-flex;
    align-items: center;
    margin-right: var(--space-2);
    cursor: pointer;
}

.pallet-card-pick input[disabled][b-7op19zog6n] { cursor: not-allowed; }

.pallet-card-number[b-7op19zog6n] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

/* Barcode e SSCC: monospazio, perché sono stringhe da confrontare carattere per carattere. */
.pallet-card-barcode[b-7op19zog6n] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pallet-card-flags[b-7op19zog6n] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    flex-shrink: 0;
}

/* Avanzamento: sostituisce le colonne ordinato/evaso/percentuale con una lettura sola. */
.pallet-progress[b-7op19zog6n] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.pallet-progress-track[b-7op19zog6n] {
    flex: 1;
    height: 6px;
    background: var(--color-gray-100);
    overflow: hidden;
}

.pallet-progress-fill[b-7op19zog6n] { height: 100%; }
.pallet-progress-fill.is-complete[b-7op19zog6n] { background: var(--color-success); }
.pallet-progress-fill.is-partial[b-7op19zog6n] { background: var(--color-warning, #f59e0b); }

.pallet-progress-label[b-7op19zog6n] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.pallet-card-facts[b-7op19zog6n] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px var(--space-3);
    padding-top: var(--space-2);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    font-size: var(--font-size-sm);
}

.fact-label[b-7op19zog6n] {
    color: var(--color-gray-400);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-right: 4px;
}

.fact-value[b-7op19zog6n] { color: var(--text-primary); }

.pallet-card-foot[b-7op19zog6n] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding-top: var(--space-2);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    cursor: default;
}

.pallet-card-foot .row-actions[b-7op19zog6n] { margin-left: auto; }

/* Interruttore card/tabella nella barra filtri. */
.view-toggle-mode .status-btn[b-7op19zog6n] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
/* /Components/Pages/Orders/OrderPlannerPalletPlaces.razor.rz.scp.css */
/* Vista posti pallet della consegna.
   Rif.: docs/Analisi-PostoPallet-MezzePedane-MtsSaas.md §6

   Le regole stanno qui e non in components.css perché il markup è dichiarato tutto in questo
   componente: il CSS isolato lo raggiunge (CLAUDE.md, «CSS di componente»).

   I NOMI DELLE VARIABILI VENGONO DA design-system.css, non inventati: la prima stesura usava
   --color-surface, --color-border, --color-text-muted e --font-family-mono, che NON esistono. Una
   var() non risolta non è un errore per il browser: la dichiarazione viene semplicemente scartata,
   e la pagina esce senza stile senza che nulla lo segnali. I nomi veri sono --bg-primary,
   --border-color(-light), --text-muted/secondary e --font-mono, ed è quello che usa
   OrderPlannerPalletEditor.razor.css. */

/* ── Chrome di pagina ────────────────────────────────────────────────── */
/* page-container, page-header*, page-title/subtitle e alert-bar* NON sono in components.css: ogni
   pagina ne porta la propria copia scoped, e CLAUDE.md le conta in oltre 320. Anche .loading-state,
   .empty-state, .filter-bar e .badge-info stanno cosi': sono scoped su OrderPlannerPalletEditor, e
   il CSS isolato di un componente non raggiunge il markup di un altro.

   Usarle senza ridichiararle le lascia senza regole — che e' come questa pagina e' nata: il markup
   c'era, gli stili no, e nulla lo segnalava.

   Sono quindi copie, e questo e' il caso in cui NON si consolida: il confine praticato e' «si
   consolida cio' che si sta gia' modificando», e sanare 320 copie da qui sarebbe un intervento
   trasversale mascherato dentro un'altra consegna (CLAUDE.md, «CSS di componente»). */

.page-container[b-o5bjisbq4m] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-o5bjisbq4m] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.page-header-left[b-o5bjisbq4m] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.page-heading[b-o5bjisbq4m] { min-width: 0; }

.page-header-right[b-o5bjisbq4m] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
}

.page-title[b-o5bjisbq4m] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-o5bjisbq4m] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-o5bjisbq4m] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

.alert-bar[b-o5bjisbq4m] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-o5bjisbq4m] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-o5bjisbq4m] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-o5bjisbq4m] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-o5bjisbq4m] { opacity: 1; }

.loading-state[b-o5bjisbq4m],
.empty-state[b-o5bjisbq4m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state-text[b-o5bjisbq4m] {
    font-size: var(--font-size-base);
    margin: 0;
}

.filter-bar[b-o5bjisbq4m] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    flex-wrap: wrap;
}

.badge-info[b-o5bjisbq4m] {
    background-color: #e0f2fe;
    color: #0369a1;
}

/* ── I numeri in testa ───────────────────────────────────────────────── */

.place-summary[b-o5bjisbq4m] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.place-kpi[b-o5bjisbq4m] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.place-kpi-value[b-o5bjisbq4m] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
    color: var(--color-primary);
    font-variant-numeric: tabular-nums;
}

.place-kpi-label[b-o5bjisbq4m] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-primary);
}

.place-kpi-note[b-o5bjisbq4m] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* Il riquadro delle mezze pedane non abbinate è la LISTA DI LAVORO: si distingue perché è l'unico
   numero su cui si può agire, non perché sia un problema. Ambra e non rosso. */
.place-kpi.is-actionable[b-o5bjisbq4m] { box-shadow: inset 3px 0 0 0 var(--color-warning); }
.place-kpi.is-warning[b-o5bjisbq4m] { box-shadow: inset 3px 0 0 0 var(--color-danger); }
.place-kpi.is-muted .place-kpi-value[b-o5bjisbq4m] { color: var(--text-muted); }

/* ── Barra d'azione dell'unione ──────────────────────────────────────── */
/* La barra resta agganciata IN ALTO mentre si scorre l'elenco dei posti: la selezione si fa
   scendendo fra le schede, e il totale di riempimento più il pulsante «Unisci in un posto» devono
   restare sotto gli occhi fino all'ultima spunta.

   Ancorata a `bottom: 0` non reggeva: un antenato della pagina (article.content) ha `overflow: clip`
   sull'asse orizzontale, e dentro un contenitore di ritaglio l'aggancio in basso si perde — scorrendo,
   la barra usciva dallo schermo verso l'alto. Con `top: 0` l'aggancio tiene. */
.merge-bar[b-o5bjisbq4m] {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    flex-wrap: wrap;
    margin-bottom: var(--space-3);
    padding: var(--space-3) var(--space-4);
    /* Opaco e non trasparente: le schede dei posti le scorrono sotto. */
    background: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    box-shadow: inset 3px 0 0 0 var(--color-primary), var(--shadow-md);
}

.merge-bar.is-blocked[b-o5bjisbq4m] { box-shadow: inset 3px 0 0 0 var(--color-danger), var(--shadow-md); }
/* Ambra: il posto è superato ma l'unione resta possibile con conferma. Rosso sarebbe la lingua
   del divieto, e qui non c'è divieto. */
.merge-bar.is-warning[b-o5bjisbq4m] { box-shadow: inset 3px 0 0 0 var(--color-warning), var(--shadow-md); }

.merge-bar-facts[b-o5bjisbq4m] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    flex-wrap: wrap;
    min-width: 0;
}

.merge-bar-count[b-o5bjisbq4m] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.merge-bar-fill[b-o5bjisbq4m] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    font-variant-numeric: tabular-nums;
}

.merge-bar-note[b-o5bjisbq4m] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.merge-bar-note.is-warning[b-o5bjisbq4m] {
    color: var(--color-warning);
    font-weight: var(--font-weight-medium);
}

.merge-bar-note.is-blocked[b-o5bjisbq4m] {
    color: var(--color-danger);
    font-weight: var(--font-weight-medium);
}

.merge-bar-actions[b-o5bjisbq4m] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-shrink: 0;
}

/* ── I posti ─────────────────────────────────────────────────────────── */

.place-cards[b-o5bjisbq4m] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.place-card[b-o5bjisbq4m] {
    background: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    padding: var(--space-3) var(--space-4);
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

/* Stesso segno della card selezionata nel Pallet Editor: una barra interna a sinistra, non un
   bordo colorato che cambierebbe lo spessore del riquadro rispetto agli altri. */
.place-card.is-unpaired[b-o5bjisbq4m] { box-shadow: inset 3px 0 0 0 var(--color-warning); }
.place-card.is-overfull[b-o5bjisbq4m] { box-shadow: inset 3px 0 0 0 var(--color-danger); }

.place-card-head[b-o5bjisbq4m] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
}

.place-card-number[b-o5bjisbq4m] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.place-card-sub[b-o5bjisbq4m] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.place-card-fill[b-o5bjisbq4m] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    min-width: 160px;
}

.place-card-percent[b-o5bjisbq4m] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    min-width: 4ch;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

/* Ridichiarate e non riusate: .pallet-progress-* sono scoped su OrderPlannerPalletEditor, e il CSS
   isolato di un componente non raggiunge il markup di un altro (CLAUDE.md). Sono due copie, ed è
   il caso in cui NON si consolida: il consolidamento si fa su ciò che si sta già modificando. */
.pallet-progress-track[b-o5bjisbq4m] {
    flex: 1;
    height: 6px;
    background: var(--color-gray-100);
    overflow: hidden;
}

.pallet-progress-fill[b-o5bjisbq4m] { height: 100%; }
.pallet-progress-fill.is-complete[b-o5bjisbq4m] { background: var(--color-success); }
.pallet-progress-fill.is-partial[b-o5bjisbq4m] { background: var(--color-warning); }
.pallet-progress-fill.is-overfull[b-o5bjisbq4m] { background: var(--color-danger); }

/* ── Le pedane dentro il posto ───────────────────────────────────────── */

.place-card-list[b-o5bjisbq4m] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.place-member[b-o5bjisbq4m] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    background: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* La casella di selezione sta nella colonna dell'identità, prima del numero di pedana: spuntare
   non è un'azione sulla pedana, è dichiarare che fa parte di un insieme — e l'insieme si legge
   scorrendo la colonna sinistra. */
.place-member-pick[b-o5bjisbq4m] {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    flex-shrink: 0;
}

.place-member-pick input[disabled][b-o5bjisbq4m] { cursor: not-allowed; }

/* Selezionata: lo stesso segno della card scelta nel Pallet Editor. */
.place-member.is-picked[b-o5bjisbq4m] {
    box-shadow: inset 3px 0 0 0 var(--color-primary);
    background: var(--bg-primary);
}

.place-member-main[b-o5bjisbq4m] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
    min-width: 0;
}

.place-member-id[b-o5bjisbq4m] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-primary);
}

.place-member-sscc[b-o5bjisbq4m] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* I metadati vanno a capo su schermo stretto invece di comprimere l'identità della pedana:
   il numero e l'SSCC sono ciò con cui si trova il bancale sul piazzale. */
.place-member-meta[b-o5bjisbq4m] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1) var(--space-3);
    margin-left: auto;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.place-card-hint[b-o5bjisbq4m] {
    padding-top: var(--space-2);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.place-card-hint.is-muted[b-o5bjisbq4m] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.filter-check[b-o5bjisbq4m] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    cursor: pointer;
}
/* /Components/Pages/Orders/OrderPlannerParcelEditor.razor.rz.scp.css */
/* ===========================
   OrderPlannerParcelEditor - Scoped Styles (PRD-OrderPlanner-MtsSaas F3)
   =========================== */

.page-container[b-yhg9qh3017] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-yhg9qh3017] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

/* Indietro → separatore → titolo: la forma di default dell'header di pagina
   (CLAUDE.md §«Header di pagina»). Il pulsante è MenuBackLink e porta con sé misure e
   separatore; qui resta solo l'impaginazione della riga.
   `.page-header` non era una riga: sinistra e destra si impilavano, e le azioni finivano
   sotto il titolo invece che accanto. */
.page-header-left[b-yhg9qh3017] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.page-heading[b-yhg9qh3017] { min-width: 0; }

.page-header-right[b-yhg9qh3017] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
}



.page-title[b-yhg9qh3017] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-yhg9qh3017] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-yhg9qh3017] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Alerts */
.alert-bar[b-yhg9qh3017] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-yhg9qh3017] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-yhg9qh3017] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-yhg9qh3017] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-yhg9qh3017] {
    opacity: 1;
}

/* Toolbar / filters */
.filter-bar[b-yhg9qh3017] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    flex-wrap: wrap;
}

.filter-dates[b-yhg9qh3017] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-3);
}

.bulk-actions[b-yhg9qh3017] {
    display: flex;
    gap: var(--space-2);
    margin-left: auto;
}

.status-filters[b-yhg9qh3017] {
    display: flex;
    gap: var(--space-1);
}

.status-btn[b-yhg9qh3017] {
    padding: var(--space-2) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-primary);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
    white-space: nowrap;
}

.status-btn:hover[b-yhg9qh3017] {
    background-color: var(--color-gray-100);
}

.status-btn.active[b-yhg9qh3017] {
    background-color: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
}

.search-count[b-yhg9qh3017] {
    margin-left: auto;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Action buttons */
.btn-action[b-yhg9qh3017] {
    padding: var(--space-2) var(--space-4);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-primary);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
    transition: filter var(--transition-fast) var(--transition-ease);
}

.btn-action:disabled[b-yhg9qh3017] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-row[b-yhg9qh3017] {
    padding: 2px var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-primary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    margin-left: 4px;
}

.btn-row:disabled[b-yhg9qh3017] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-deliver[b-yhg9qh3017] {
    border-color: var(--color-success);
    color: #166534;
}

.btn-deliver:hover:not(:disabled)[b-yhg9qh3017] {
    background-color: #dcfce7;
}

.btn-cancel[b-yhg9qh3017] {
    border-color: var(--color-warning, #f59e0b);
    color: #92400e;
}

.btn-cancel:hover:not(:disabled)[b-yhg9qh3017] {
    background-color: #fef3c7;
}

.btn-reset[b-yhg9qh3017] {
    color: var(--text-secondary);
}

.btn-reset:hover:not(:disabled)[b-yhg9qh3017] {
    background-color: var(--color-gray-100);
}

.btn-trace[b-yhg9qh3017] {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.btn-trace:hover:not(:disabled)[b-yhg9qh3017] {
    background-color: rgba(11, 36, 62, 0.06);
}

/* Comandi sul lotto: viola, distinti sia dalle azioni di evasione sia dalla stampa. Sono i due
   soli comandi che SOVRASCRIVONO un lotto esistente, e il colore proprio serve a non farli
   confondere con «Reset data», che è accanto e fa tutt'altro. */
.btn-lot[b-yhg9qh3017] {
    border-color: #ddd6fe;
    color: #6d28d9;
}

.btn-lot:hover:not(:disabled)[b-yhg9qh3017] {
    background-color: #f5f3ff;
}

/* Stampa etichetta: azzurro, distinto dalle azioni che toccano l'evasione — stampare non
   cambia lo stato del collo. Vale sia in riga (.btn-row) sia in barra (.btn-action). */
.btn-print[b-yhg9qh3017] {
    border-color: #bfdbfe;
    color: #1d4ed8;
}

.btn-print:hover:not(:disabled)[b-yhg9qh3017] {
    background-color: #eff6ff;
}

.row-actions[b-yhg9qh3017] {
    display: inline-flex;
    justify-content: flex-end;
    gap: 2px;
}

/* States */
.loading-state[b-yhg9qh3017],
.empty-state[b-yhg9qh3017] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state-text[b-yhg9qh3017] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Table */
.table-responsive[b-yhg9qh3017] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.planner-table[b-yhg9qh3017] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}

.planner-table thead th[b-yhg9qh3017] {
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    text-align: left;
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    white-space: nowrap;
}

.planner-table tbody td[b-yhg9qh3017] {
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    vertical-align: middle;
}

.planner-table tbody tr:hover[b-yhg9qh3017] {
    background-color: rgba(11, 36, 62, 0.03);
}

.planner-table .text-end[b-yhg9qh3017] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.cell-strong[b-yhg9qh3017] {
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.cell-muted[b-yhg9qh3017] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

/* Badges */
.badge[b-yhg9qh3017] {
    display: inline-flex;
    align-items: center;
    padding: 2px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.badge-success[b-yhg9qh3017] {
    background-color: #dcfce7;
    color: #166534;
}

.badge-warning[b-yhg9qh3017] {
    background-color: #fef3c7;
    color: #92400e;
}

/* Progressivo riga (prg_riga): numero da contare, allineato a destra e in cifre tabulari. */
.row-progressive[b-yhg9qh3017] {
    display: inline-block;
    min-width: 2rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--text-primary, #1f2937);
}
/* /Components/Pages/Orders/OrderPlannerTraceabilityPicker.razor.rz.scp.css */
/* ===========================
   OrderPlannerTraceabilityPicker - Scoped Styles (PRD-OrderPlanner-TraceabilityPicker F4)
   =========================== */

.page-container[b-nnsrwjd0rx] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Testata a due blocchi: identità a sinistra, azioni a destra. Le regole dei due contenitori
   mancavano — c'era solo il margine — quindi la guida finiva sotto il titolo. Stessa struttura
   delle altre pagine del planner. */
.page-header[b-nnsrwjd0rx] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

/* min-width: 0 perché il sottotitolo porta il barcode di scope, che è lungo e non va a capo. */
/* Indietro → separatore → titolo: la forma di default dell'header di pagina
   (CLAUDE.md §«Header di pagina»). Il pulsante è MenuBackLink e porta con sé misure e
   separatore; qui resta solo l'impaginazione della riga. */
.page-header-left[b-nnsrwjd0rx] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.page-heading[b-nnsrwjd0rx] { min-width: 0; }

.page-header-right[b-nnsrwjd0rx] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
}



.page-title[b-nnsrwjd0rx] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-nnsrwjd0rx] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-nnsrwjd0rx] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Alert */
.alert-bar[b-nnsrwjd0rx] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-nnsrwjd0rx] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-nnsrwjd0rx] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

/* Corsie: due righe, riempite per colonna, con scorrimento orizzontale.
   Su una riga sola gli impianti con molte linee costringevano a scorrere a lungo per arrivare in
   fondo; su due righe ne entrano il doppio a parità di larghezza. La lettura è
   colonna per colonna — prima e seconda riga, poi si avanza — che è l'unico ordine possibile
   riempiendo per colonne, e va tenuto presente se un giorno le corsie andranno ordinate. */
.lane-cards[b-nnsrwjd0rx] {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(2, auto);
    grid-auto-columns: minmax(180px, max-content);
    align-content: start;
    gap: var(--space-3);
    overflow-x: auto;
    padding: var(--space-1) 0 var(--space-3) 0;
    margin-bottom: var(--space-4);
}

.lane-card[b-nnsrwjd0rx] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-left: var(--border-width-thick) solid var(--color-gray-300);
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
    text-align: left;
}

.lane-card:hover[b-nnsrwjd0rx] {
    background-color: var(--color-gray-100);
}

.lane-card.active[b-nnsrwjd0rx] {
    border-left-color: var(--color-primary);
    background-color: rgba(11, 36, 62, 0.04);
}

.lane-card-name[b-nnsrwjd0rx] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.lane-card-meta[b-nnsrwjd0rx] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

/* States */
.loading-state[b-nnsrwjd0rx],
.empty-state[b-nnsrwjd0rx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-12) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state-text[b-nnsrwjd0rx] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Entries grid */
.table-responsive[b-nnsrwjd0rx] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.planner-table[b-nnsrwjd0rx] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}

.planner-table thead th[b-nnsrwjd0rx] {
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    text-align: left;
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    white-space: nowrap;
}

.planner-table tbody td[b-nnsrwjd0rx] {
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    vertical-align: middle;
}

.planner-table tbody tr:hover[b-nnsrwjd0rx] {
    background-color: rgba(11, 36, 62, 0.03);
}

.planner-table .text-end[b-nnsrwjd0rx] {
    text-align: right;
}

.cell-strong[b-nnsrwjd0rx] {
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    font-family: var(--font-mono);
}

/* Pulsante di selezione: solo icona, testo nel tooltip — stessa forma dei pulsanti di riga del
   planner (.btn-row), così le due pagine si comportano allo stesso modo. */
.btn-row[b-nnsrwjd0rx] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-primary);
    color: var(--text-secondary);
    cursor: pointer;
    flex-shrink: 0;
}

.btn-row svg[b-nnsrwjd0rx] {
    flex-shrink: 0;
}

.btn-row:disabled[b-nnsrwjd0rx] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Verde come l'evasione nel planner: è l'azione che conferma. */
.btn-select[b-nnsrwjd0rx] {
    border-color: var(--color-success);
    color: #166534;
}

.btn-select:hover:not(:disabled)[b-nnsrwjd0rx] {
    background-color: #dcfce7;
}

/* ── «Tutti i lotti»: non è una corsia, è l'assenza del filtro ───────────────── */
/* Sta insieme alle corsie perché è la stessa scelta, ma tratteggiata e in       */
/* corsivo per non farsi scambiare per una linea di produzione.                  */
.lane-card-all[b-nnsrwjd0rx] {
    border-style: dashed;
}

.lane-card-all .lane-card-meta[b-nnsrwjd0rx] {
    font-style: italic;
}

/* Barra di ricerca dell'elenco senza filtro di corsia.
   Le regole mancavano: il markup c'era ma non lo stile, quindi il campo compariva nudo.
   Stessa forma delle barre di ricerca delle liste documenti. */
.search-bar[b-nnsrwjd0rx] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-nnsrwjd0rx] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-nnsrwjd0rx] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-nnsrwjd0rx] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-nnsrwjd0rx]::placeholder {
    color: var(--text-muted);
}

.search-count[b-nnsrwjd0rx] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Colonna «Disponibile» dell'elenco senza corsia: numeri da confrontare in colonna. */
.planner-table .cell-mono[b-nnsrwjd0rx] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: var(--font-size-xs);
}

/* Sotto il breakpoint la testata si impila e le corsie tornano su una riga sola:
   in verticale due righe di card larghe 180px non ci stanno comunque. */
@media (max-width: 768px) {
    .page-header[b-nnsrwjd0rx] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .lane-cards[b-nnsrwjd0rx] {
        grid-template-rows: auto;
    }
}
/* /Components/Pages/Orders/OrderProgressiveEdit.razor.rz.scp.css */
/* ===========================
   OrderProgressiveEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-ihae485rah] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-ihae485rah] { font-family: var(--font-mono); font-size: var(--font-size-xs); background-color: var(--color-gray-100); padding: 1px var(--space-2); color: var(--color-primary); opacity: 0.7; }

.alert-bar[b-ihae485rah] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-ihae485rah] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-ihae485rah] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-ihae485rah] { opacity: 1; }

.loading-state[b-ihae485rah] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-ihae485rah] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state-text[b-ihae485rah] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-ihae485rah] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-ihae485rah] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }

.form-grid[b-ihae485rah] { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-4); }
.form-group[b-ihae485rah] { display: flex; flex-direction: column; }
.form-label[b-ihae485rah] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-ihae485rah] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-ihae485rah] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control-static[b-ihae485rah] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-weight: var(--font-weight-medium); }
.btn-action[b-ihae485rah] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-ihae485rah] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-ihae485rah] { opacity: 0.65; cursor: not-allowed; }
.btn-sm[b-ihae485rah] { padding: var(--space-1) var(--space-3); font-size: var(--font-size-xs); }
.btn-outline-primary[b-ihae485rah] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-ihae485rah] { background-color: var(--color-primary); color: var(--text-on-primary); }

[b-ihae485rah] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-ihae485rah] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Orders/OrderProgressiveList.razor.rz.scp.css */
/* ===========================
   OrderProgressiveList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-5aa05os3jc] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-5aa05os3jc] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-5aa05os3jc] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-5aa05os3jc] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-5aa05os3jc] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-5aa05os3jc] { opacity: 1; }

.search-bar[b-5aa05os3jc] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-5aa05os3jc] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-5aa05os3jc] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-5aa05os3jc] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-5aa05os3jc]::placeholder { color: var(--text-muted); }
.search-clear[b-5aa05os3jc] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-5aa05os3jc] { color: var(--color-primary); }
.search-count[b-5aa05os3jc] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-5aa05os3jc] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-5aa05os3jc] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-5aa05os3jc] { opacity: 0.4; }
.empty-state-text[b-5aa05os3jc] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-5aa05os3jc] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-5aa05os3jc] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-5aa05os3jc] { border-bottom: none; }
.item-row:hover[b-5aa05os3jc] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-5aa05os3jc] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-5aa05os3jc] { flex: 1; min-width: 0; }
.item-name[b-5aa05os3jc] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-5aa05os3jc] { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-detail[b-5aa05os3jc] { color: var(--text-muted); }

.item-actions[b-5aa05os3jc] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-5aa05os3jc] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-5aa05os3jc] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }

.btn-outline-primary[b-5aa05os3jc] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-5aa05os3jc] { background-color: var(--color-primary); color: var(--text-on-primary); }
.btn-sm[b-5aa05os3jc] { padding: var(--space-1) var(--space-3); font-size: var(--font-size-xs); }

@media (max-width: 768px) {
    .item-row[b-5aa05os3jc] { flex-wrap: wrap; }
    .item-actions[b-5aa05os3jc] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Orders/OrderReasonCreate.razor.rz.scp.css */
/* ===========================
   OrderReasonCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-kmie2v6uw5] { max-width: 1100px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-kmie2v6uw5] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-kmie2v6uw5] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-kmie2v6uw5] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-kmie2v6uw5] { opacity: 1; }

.form-section[b-kmie2v6uw5] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-kmie2v6uw5] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }

.form-grid[b-kmie2v6uw5] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.indicator-grid[b-kmie2v6uw5] { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-3); }
.form-group[b-kmie2v6uw5] { display: flex; flex-direction: column; }
.form-group-wide[b-kmie2v6uw5] { grid-column: span 2; }
.form-label[b-kmie2v6uw5] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-kmie2v6uw5] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-kmie2v6uw5] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.btn-action[b-kmie2v6uw5] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-kmie2v6uw5] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-kmie2v6uw5] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-kmie2v6uw5] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-kmie2v6uw5] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-kmie2v6uw5] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 900px) { .indicator-grid[b-kmie2v6uw5] { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) {
    .form-grid[b-kmie2v6uw5] { grid-template-columns: 1fr; }
    .form-group-wide[b-kmie2v6uw5] { grid-column: span 1; }
    .indicator-grid[b-kmie2v6uw5] { grid-template-columns: repeat(2, 1fr); }
}
/* /Components/Pages/Orders/OrderReasonEdit.razor.rz.scp.css */
/* ===========================
   OrderReasonEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-2lbwhttr03] { max-width: 1100px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-2lbwhttr03] { font-family: var(--font-mono); font-size: var(--font-size-xs); background-color: var(--color-gray-100); padding: 1px var(--space-2); color: var(--color-primary); opacity: 0.7; }

.alert-bar[b-2lbwhttr03] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-2lbwhttr03] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-2lbwhttr03] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-2lbwhttr03] { opacity: 1; }

.loading-state[b-2lbwhttr03] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-2lbwhttr03] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state-text[b-2lbwhttr03] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-2lbwhttr03] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-2lbwhttr03] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }

.form-grid[b-2lbwhttr03] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.indicator-grid[b-2lbwhttr03] { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-3); }
.form-group[b-2lbwhttr03] { display: flex; flex-direction: column; }
.form-group-wide[b-2lbwhttr03] { grid-column: span 2; }
.form-label[b-2lbwhttr03] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-2lbwhttr03] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-2lbwhttr03] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control-static[b-2lbwhttr03] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-weight: var(--font-weight-medium); }
.btn-action[b-2lbwhttr03] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-2lbwhttr03] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-2lbwhttr03] { opacity: 0.65; cursor: not-allowed; }
.btn-sm[b-2lbwhttr03] { padding: var(--space-1) var(--space-3); font-size: var(--font-size-xs); }
.btn-outline-primary[b-2lbwhttr03] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-2lbwhttr03] { background-color: var(--color-primary); color: var(--text-on-primary); }

[b-2lbwhttr03] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 900px) { .indicator-grid[b-2lbwhttr03] { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) {
    .form-grid[b-2lbwhttr03] { grid-template-columns: 1fr; }
    .form-group-wide[b-2lbwhttr03] { grid-column: span 1; }
    .indicator-grid[b-2lbwhttr03] { grid-template-columns: repeat(2, 1fr); }
}
/* /Components/Pages/Orders/OrderReasonList.razor.rz.scp.css */
/* ===========================
   OrderReasonList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-cjmwt1hrnt] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-cjmwt1hrnt] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-cjmwt1hrnt] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-cjmwt1hrnt] { background-color: var(--color-action-active); }

.alert-bar[b-cjmwt1hrnt] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-cjmwt1hrnt] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-cjmwt1hrnt] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-cjmwt1hrnt] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-cjmwt1hrnt] { opacity: 1; }

.search-bar[b-cjmwt1hrnt] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-cjmwt1hrnt] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-cjmwt1hrnt] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-cjmwt1hrnt] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-cjmwt1hrnt]::placeholder { color: var(--text-muted); }
.search-clear[b-cjmwt1hrnt] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-cjmwt1hrnt] { color: var(--color-primary); }
.search-count[b-cjmwt1hrnt] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-cjmwt1hrnt] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-cjmwt1hrnt] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-cjmwt1hrnt] { opacity: 0.4; }
.empty-state-text[b-cjmwt1hrnt] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-cjmwt1hrnt] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-cjmwt1hrnt] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-cjmwt1hrnt] { border-bottom: none; }
.item-row:hover[b-cjmwt1hrnt] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-cjmwt1hrnt] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-cjmwt1hrnt] { flex: 1; min-width: 0; }
.item-name[b-cjmwt1hrnt] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-cjmwt1hrnt] { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-cjmwt1hrnt] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-cjmwt1hrnt] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-cjmwt1hrnt] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-cjmwt1hrnt] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-cjmwt1hrnt] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-cjmwt1hrnt] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-cjmwt1hrnt] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-cjmwt1hrnt] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-cjmwt1hrnt] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-cjmwt1hrnt] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-cjmwt1hrnt] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-cjmwt1hrnt] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-cjmwt1hrnt] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-cjmwt1hrnt] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-cjmwt1hrnt] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-cjmwt1hrnt] { flex-wrap: wrap; }
    .item-actions[b-cjmwt1hrnt] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Orders/PalletCalculator.razor.rz.scp.css */
/* ===========================
   PalletCalculator - Scoped Styles
   Flat Industrial Minimal (design system MTS)
   =========================== */

.page-container[b-g5jm6zh2l5] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* ── Testata ──────────────────────────────────────────────────────
   Il CSS scoped di Blazor non eredita da altre pagine: page-header,
   page-title, page-subtitle, btn-back e alert-bar non esistono nei fogli
   globali e vanno definiti qui, come in tutte le altre pagine.

   Il modello è la testata standard del repository — btn-back quadrato con la
   sola icona, primo figlio, poi .page-header-text e .page-header-right (rif.
   Common/BankEdit, e le ~208 pagine che la seguono). L'area Ordini ha anche
   varianti proprie con il ritorno etichettato dentro .page-header-left
   (OrderPlannerPalletEditor): NON sono il riferimento. */

.page-header[b-g5jm6zh2l5] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

/* Il blocco di testo si prende lo spazio residuo: è così che le azioni a destra restano a destra
   senza uno justify-content, e che il titolo resta allineato al pulsante di ritorno anche quando
   quel pulsante non c'è (pagina aperta da menu). */
.page-header-text[b-g5jm6zh2l5] {
    flex: 1;
    min-width: 0;
}

.page-header-right[b-g5jm6zh2l5] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-shrink: 0;
}

.page-title[b-g5jm6zh2l5] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-g5jm6zh2l5] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-g5jm6zh2l5] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Ritorno: quadrato di 40px con la sola icona, a sinistra del titolo. È la forma standard del
   pulsante «indietro» nel repository (~208 pagine); il margine superiore di 2px lo allinea alla
   prima riga del titolo, che è più alta dell'icona. */


/* ── Barra di avviso ────────────────────────────────────────────── */

.alert-bar[b-g5jm6zh2l5] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar svg[b-g5jm6zh2l5] {
    flex-shrink: 0;
}

.alert-bar-danger[b-g5jm6zh2l5] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-g5jm6zh2l5] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    line-height: 1;
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
}

.alert-bar-close:hover[b-g5jm6zh2l5] {
    opacity: 1;
}

/* Utility di testo usate nella pagina: non esistono nei fogli globali. */
.text-muted[b-g5jm6zh2l5] { color: var(--text-muted); }
.text-danger[b-g5jm6zh2l5] { color: var(--color-danger); }
.text-warning[b-g5jm6zh2l5] { color: #8a6100; }

.calculator-grid[b-g5jm6zh2l5] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-6);
    margin-top: var(--space-4);
}

.config-column[b-g5jm6zh2l5],
.results-column[b-g5jm6zh2l5] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

/* Angoli a 90° e palette dal design system, come nel resto dell'area Ordini. */
.card[b-g5jm6zh2l5] {
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    box-shadow: var(--shadow-sm);
}

.card-header[b-g5jm6zh2l5] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-sm);
    color: var(--color-primary);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-secondary);
}

.card-header svg[b-g5jm6zh2l5] {
    flex-shrink: 0;
}

.card-body[b-g5jm6zh2l5] {
    padding: var(--space-4);
}

.info-grid[b-g5jm6zh2l5] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2);
}

.info-item[b-g5jm6zh2l5] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-1) var(--space-2);
    background-color: var(--bg-secondary);
    font-size: var(--font-size-sm);
}

.info-label[b-g5jm6zh2l5] {
    color: var(--text-muted);
    font-size: var(--font-size-xs);
}

.info-value[b-g5jm6zh2l5] {
    font-weight: var(--font-weight-semibold);
}

.input-row[b-g5jm6zh2l5] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.basis-selector[b-g5jm6zh2l5] {
    display: flex;
    gap: var(--space-2);
    flex-wrap: wrap;
}

.basis-option[b-g5jm6zh2l5] {
    flex: 1 1 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-1);
    padding: var(--space-2) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-medium);
    cursor: pointer;
    user-select: none;
    font-size: var(--font-size-sm);
    transition: background-color var(--transition-base) var(--transition-ease),
                border-color var(--transition-base) var(--transition-ease);
}

.basis-option:hover[b-g5jm6zh2l5] {
    border-color: var(--color-primary);
}

.basis-option.is-active[b-g5jm6zh2l5] {
    border-color: var(--color-primary);
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    font-weight: var(--font-weight-semibold);
}

.basis-option input[type="radio"][b-g5jm6zh2l5] {
    margin: 0;
}

.text-end[b-g5jm6zh2l5] {
    text-align: right;
}

/* Campi quantità non-base: disabilitati e visibilmente "calcolati", non editabili. */
.form-control-readonly[b-g5jm6zh2l5] {
    background-color: var(--bg-secondary);
    color: var(--text-muted);
}

/* I campi della pagina occupano la larghezza della colonna. */
.form-control[b-g5jm6zh2l5] {
    width: 100%;
}

/* Note sotto i campi (es. l'avviso sulle composizioni abbinate all'articolo): una per riga,
   altrimenti due <small> consecutivi finiscono affiancati e si leggono come una frase sola. */
.form-group small[b-g5jm6zh2l5] {
    display: block;
    margin-top: var(--space-1);
    font-size: var(--font-size-xs);
    line-height: 1.35;
}

.results-grid[b-g5jm6zh2l5] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2);
}

.result-item[b-g5jm6zh2l5] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    background-color: var(--bg-secondary);
    font-size: var(--font-size-sm);
}

.result-item-total[b-g5jm6zh2l5] {
    grid-column: 1 / -1;
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    font-weight: var(--font-weight-bold);
}

.result-item-total .result-label[b-g5jm6zh2l5] {
    color: inherit;
}

.result-label[b-g5jm6zh2l5] {
    color: var(--text-muted);
    font-size: var(--font-size-xs);
}

.result-value[b-g5jm6zh2l5] {
    font-weight: var(--font-weight-semibold);
}

.section-subtitle[b-g5jm6zh2l5] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-muted);
    margin-bottom: var(--space-2);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.badge[b-g5jm6zh2l5] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: 2px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.bg-success[b-g5jm6zh2l5] {
    background-color: #dcfce7;
    color: #166534;
}

.bg-danger[b-g5jm6zh2l5] {
    background-color: #fdeded;
    color: #5f2120;
}

.table-compact[b-g5jm6zh2l5] {
    width: 100%;
    font-size: var(--font-size-sm);
    border-collapse: collapse;
}

.table-compact th[b-g5jm6zh2l5],
.table-compact td[b-g5jm6zh2l5] {
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.table-compact thead th[b-g5jm6zh2l5] {
    background-color: var(--bg-secondary);
    color: var(--text-muted);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.action-bar[b-g5jm6zh2l5] {
    display: flex;
    justify-content: flex-end;
    padding: var(--space-4) 0;
}

.mt-2[b-g5jm6zh2l5] {
    margin-top: var(--space-2);
}

.mt-3[b-g5jm6zh2l5] {
    margin-top: var(--space-4);
}

.p-0[b-g5jm6zh2l5] {
    padding: 0;
}

@media (max-width: 768px) {
    .calculator-grid[b-g5jm6zh2l5] {
        grid-template-columns: 1fr;
    }

    .info-grid[b-g5jm6zh2l5],
    .results-grid[b-g5jm6zh2l5],
    .input-row[b-g5jm6zh2l5] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Orders/Reports/ProductionLineLoadGrid.razor.rz.scp.css */
.pivot-scroll[b-ug3mflzk0b] {
    overflow: auto;
    max-height: calc(100vh - 360px);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-md);
}

.pivot-table[b-ug3mflzk0b] {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    font-size: var(--font-size-sm);
}

.pivot-table th[b-ug3mflzk0b],
.pivot-table td[b-ug3mflzk0b] {
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    white-space: nowrap;
}

.pivot-table thead th[b-ug3mflzk0b] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--bg-secondary);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.pivot-corner[b-ug3mflzk0b],
.pivot-row-head[b-ug3mflzk0b] {
    position: sticky;
    left: 0;
    z-index: 1;
    background: var(--bg-primary);
    text-align: left;
    min-width: 200px;
    max-width: 300px;
    padding-left: var(--space-5);
}

.pivot-table thead .pivot-corner[b-ug3mflzk0b] {
    z-index: 3;
}

.col-num[b-ug3mflzk0b],
.pivot-cell[b-ug3mflzk0b] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.pivot-order-col[b-ug3mflzk0b] {
    text-align: right;
    min-width: 84px;
}

.pivot-total-col[b-ug3mflzk0b] {
    font-weight: var(--font-weight-semibold);
}

.group-row td[b-ug3mflzk0b] {
    background: var(--bg-secondary);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    text-align: left;
    position: sticky;
    left: 0;
}

.subtotal-row td[b-ug3mflzk0b] {
    background: var(--bg-secondary);
    font-weight: var(--font-weight-bold);
}

.subtotal-row .pivot-row-head[b-ug3mflzk0b],
.total-row .pivot-row-head[b-ug3mflzk0b] {
    background: var(--bg-secondary);
}

.total-row td[b-ug3mflzk0b] {
    background: var(--bg-secondary);
    font-weight: var(--font-weight-bold);
    position: sticky;
    bottom: 0;
    z-index: 1;
}

.cell-strong[b-ug3mflzk0b] {
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.cell-muted[b-ug3mflzk0b] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}
/* /Components/Pages/Orders/Reports/ProductionLineLoadReport.razor.rz.scp.css */
/* ===========================
   ProductionLineLoadReport - Scoped Styles
   Shared layout classes are redefined here (per-page scoped CSS, no global layout classes).
   =========================== */

.page-container[b-6v8jkf0e89] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-6v8jkf0e89] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-6v8jkf0e89] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

/* Il titolo può andare a capo: senza min-width:0 un flex item non scende sotto il proprio
   contenuto e spingerebbe fuori il pulsante. */
.page-heading[b-6v8jkf0e89] {
    min-width: 0;
}

/* Pulsante di ritorno nello standard MTS: quadrato del lato di --control-height, angoli a 90°,
   sola icona. Lo stesso lato di MenuBackLink e HelpLink, che stanno nello stesso header. */



.page-title[b-6v8jkf0e89] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-6v8jkf0e89] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-6v8jkf0e89] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Alert */
.alert-bar[b-6v8jkf0e89] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-6v8jkf0e89] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-6v8jkf0e89] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-6v8jkf0e89] {
    opacity: 1;
}

/* Filter bar */
.filter-bar[b-6v8jkf0e89] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    flex-wrap: wrap;
}

.filter-bar-main[b-6v8jkf0e89] {
    gap: var(--space-2);
}

/* UNA sola altezza per tutti i controlli della barra: --control-height è il token della riga di
   form (input, select, pulsanti) ed è l'altezza che il design system dà al campo data.
   La versione precedente la ricalcolava a mano — line-height + padding + bordi — e sbagliava di
   10px: i pulsanti erano più alti dei campi che dovevano affiancare. */
.filter-bar .btn-refresh[b-6v8jkf0e89],
.filter-bar .status-btn[b-6v8jkf0e89],
.filter-bar .dept-select[b-6v8jkf0e89],
.filter-bar .filter-separator[b-6v8jkf0e89] {
    height: var(--control-height);
    box-sizing: border-box;
}

/* I campi data portano il .form-group globale, che ha un margine inferiore. `align-items: flex-end`
   allinea il MARGIN BOX, non il bordo del controllo: con quel margine i campi restano sollevati di
   12px rispetto ai pulsanti, che margine non ne hanno. Si toglie il margine, non si compensa.
   `::deep` è necessario: quel .form-group nasce dentro DateField, quindi porta lo scope di quel
   componente e una regola scoped di pagina non lo raggiungerebbe. */
.filter-bar[b-6v8jkf0e89]  .form-group {
    margin-bottom: 0;
}

/* Tutto ciò che sta nella riga si appoggia allo stesso bordo inferiore. Elencato per ruolo e non
   con `> *`: align-self su un discendente qualunque romperebbe lo stretch dell'input dentro
   .date-input-wrapper. */
.filter-bar-main[b-6v8jkf0e89]  .form-group,
.filter-bar-main .btn-refresh[b-6v8jkf0e89],
.filter-bar-main .dept-select[b-6v8jkf0e89],
.filter-bar-main .filter-separator[b-6v8jkf0e89],
.filter-bar-main > .view-toggle[b-6v8jkf0e89] {
    align-self: flex-end;
}

/* L'altezza arriva dalla regola comune sopra: il separatore è alto quanto i controlli che separa. */
.filter-separator[b-6v8jkf0e89] {
    width: 1px;
    margin-left: var(--space-2);
    margin-right: var(--space-2);
    background-color: var(--border-color-light);
}

.view-toggle[b-6v8jkf0e89] {
    display: flex;
    gap: var(--space-1);
    flex-shrink: 0;
}

.status-btn[b-6v8jkf0e89] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-2) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-primary);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
    white-space: nowrap;
}

.status-btn:hover[b-6v8jkf0e89] {
    background-color: var(--color-gray-100);
}

.status-btn.active[b-6v8jkf0e89] {
    background-color: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
}

.btn-refresh[b-6v8jkf0e89] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-2) var(--space-4);
    background: var(--color-primary);
    color: #fff;
    border: var(--border-width-thin) solid var(--color-primary);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
    transition: filter var(--transition-fast) var(--transition-ease);
    white-space: nowrap;
}

.btn-refresh:hover[b-6v8jkf0e89] {
    filter: brightness(1.1);
}

.dept-select[b-6v8jkf0e89] {
    padding: 0 var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-primary);
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    cursor: pointer;
}

/* States */
.loading-state[b-6v8jkf0e89],
.empty-state[b-6v8jkf0e89] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state-text[b-6v8jkf0e89] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* KPI cards */
.summary-stats[b-6v8jkf0e89] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--space-3);
    margin-bottom: var(--space-5);
}

.stat-card[b-6v8jkf0e89] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: var(--space-3) var(--space-4);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-md);
    background: var(--bg-primary);
}

.stat-label[b-6v8jkf0e89] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.stat-value[b-6v8jkf0e89] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

.stat-sub[b-6v8jkf0e89] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-variant-numeric: tabular-nums;
}

/* Load bars */
.load-bars[b-6v8jkf0e89] {
    margin-bottom: var(--space-5);
}

.section-title[b-6v8jkf0e89] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-3) 0;
}

.load-row[b-6v8jkf0e89] {
    display: grid;
    grid-template-columns: 200px 1fr 100px;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-2);
}

.load-label[b-6v8jkf0e89] {
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.load-track[b-6v8jkf0e89] {
    display: block;
    height: 16px;
    background: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: 3px;
    overflow: hidden;
}

.load-fill[b-6v8jkf0e89] {
    display: block;
    height: 100%;
    background: var(--color-primary);
}

.load-value[b-6v8jkf0e89] {
    text-align: right;
    font-size: var(--font-size-sm);
    font-variant-numeric: tabular-nums;
    color: var(--text-primary);
}

/* Heat legend */
.legend[b-6v8jkf0e89] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.legend-heat[b-6v8jkf0e89] {
    margin-bottom: var(--space-2);
}

.legend-gradient[b-6v8jkf0e89] {
    display: inline-block;
    width: 160px;
    height: 12px;
    border-radius: 3px;
    border: var(--border-width-thin) solid var(--border-color-light);
    background: linear-gradient(to right,
        hsl(55, 85%, 92%), hsl(40, 85%, 75%), hsl(20, 85%, 62%), hsl(0, 85%, 50%));
}
/* /Components/Pages/Orders/Reports/ProductionPlannerOverviewGrid.razor.rz.scp.css */
.pivot-scroll[b-x23ouwu2d5] {
    overflow: auto;
    max-height: calc(100vh - 280px);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-md);
}

.pivot-table[b-x23ouwu2d5] {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    font-size: var(--font-size-sm);
}

.pivot-table th[b-x23ouwu2d5],
.pivot-table td[b-x23ouwu2d5] {
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    white-space: nowrap;
}

.pivot-table thead th[b-x23ouwu2d5] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--bg-secondary);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.pivot-corner[b-x23ouwu2d5],
.pivot-row-head[b-x23ouwu2d5] {
    position: sticky;
    left: 0;
    z-index: 1;
    background: var(--bg-primary);
    text-align: left;
    min-width: 220px;
    max-width: 320px;
    padding-left: var(--space-5);
}

.pivot-table thead .pivot-corner[b-x23ouwu2d5] {
    z-index: 3;
}

.col-num[b-x23ouwu2d5],
.pivot-cell[b-x23ouwu2d5] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.pivot-order-col[b-x23ouwu2d5] {
    text-align: right;
    min-width: 84px;
}

.pivot-total-col[b-x23ouwu2d5] {
    font-weight: var(--font-weight-semibold);
}

.group-row td[b-x23ouwu2d5] {
    background: var(--bg-secondary);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    text-align: left;
    position: sticky;
    left: 0;
}

.subtotal-row td[b-x23ouwu2d5] {
    background: var(--bg-secondary);
    font-weight: var(--font-weight-bold);
}

.subtotal-row .pivot-row-head[b-x23ouwu2d5],
.total-row .pivot-row-head[b-x23ouwu2d5] {
    background: var(--bg-secondary);
}

.total-row td[b-x23ouwu2d5] {
    background: var(--bg-secondary);
    font-weight: var(--font-weight-bold);
    position: sticky;
    bottom: 0;
    z-index: 1;
}

.cell-strong[b-x23ouwu2d5] {
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.cell-muted[b-x23ouwu2d5] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    white-space: normal;
}
/* /Components/Pages/Orders/Reports/ProductionPlannerOverviewReport.razor.rz.scp.css */
/* ===========================
   ProductionPlannerOverviewReport - Scoped Styles
   Shared layout classes (page/header/filter/states) are redefined here because
   the design uses per-page scoped CSS (no global layout classes).
   =========================== */

/* Page Container */
.page-container[b-6fks31o4tj] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Header */
.page-header[b-6fks31o4tj] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-6fks31o4tj] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

/* Il titolo può andare a capo: senza min-width:0 un flex item non scende sotto il proprio
   contenuto e spingerebbe fuori il pulsante. */
.page-heading[b-6fks31o4tj] {
    min-width: 0;
}

/* Pulsante di ritorno nello standard MTS: quadrato del lato di --control-height, angoli a 90°,
   sola icona. Lo stesso lato di MenuBackLink e HelpLink, che stanno nello stesso header. */



.page-title[b-6fks31o4tj] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-6fks31o4tj] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-6fks31o4tj] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Alert Bar */
.alert-bar[b-6fks31o4tj] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-6fks31o4tj] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-6fks31o4tj] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-6fks31o4tj] {
    opacity: 1;
}

/* Filter Bar */
.filter-bar[b-6fks31o4tj] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    flex-wrap: wrap;
}

.filter-bar-main[b-6fks31o4tj] {
    gap: var(--space-2);
}

/* UNA sola altezza per tutti i controlli della barra: --control-height è il token della riga di
   form (input, select, pulsanti) ed è l'altezza che il design system dà al campo data.
   La versione precedente la ricalcolava a mano — line-height + padding + bordi — e sbagliava di
   10px: i pulsanti erano più alti dei campi che dovevano affiancare. */
.filter-bar .btn-refresh[b-6fks31o4tj],
.filter-bar .status-btn[b-6fks31o4tj],
.filter-bar .filter-separator[b-6fks31o4tj] {
    height: var(--control-height);
    box-sizing: border-box;
}

/* I campi data portano il .form-group globale, che ha un margine inferiore. `align-items: flex-end`
   allinea il MARGIN BOX, non il bordo del controllo: con quel margine i campi restano sollevati di
   12px rispetto ai pulsanti, che margine non ne hanno. Si toglie il margine, non si compensa.
   `::deep` è necessario: quel .form-group nasce dentro DateField, quindi porta lo scope di quel
   componente e una regola scoped di pagina non lo raggiungerebbe. */
.filter-bar[b-6fks31o4tj]  .form-group {
    margin-bottom: 0;
}

/* Tutto ciò che sta nella riga si appoggia allo stesso bordo inferiore. Elencato per ruolo e non
   con `> *`: align-self su un discendente qualunque romperebbe lo stretch dell'input dentro
   .date-input-wrapper. La legenda non è un controllo e si centra sull'altezza degli altri. */
.filter-bar-main[b-6fks31o4tj]  .form-group,
.filter-bar-main .btn-refresh[b-6fks31o4tj],
.filter-bar-main .filter-separator[b-6fks31o4tj],
.filter-bar-main > .view-toggle[b-6fks31o4tj] {
    align-self: flex-end;
}

/* La legenda non è un controllo, ma sta nella loro fascia: occupa la stessa altezza e centra il
   proprio contenuto. Con un semplice `align-self: center` si centrerebbe sulla RIGA, che è più alta
   dei controlli perché contiene i campi data con l'etichetta sopra — e finirebbe 11px più in alto. */
.filter-bar-main .legend[b-6fks31o4tj] {
    align-self: flex-end;
    height: var(--control-height);
}

/* L'altezza arriva dalla regola comune sopra: il separatore è alto quanto i controlli che separa. */
.filter-separator[b-6fks31o4tj] {
    width: 1px;
    margin-left: var(--space-2);
    margin-right: var(--space-2);
    background-color: var(--border-color-light);
}

.view-toggle[b-6fks31o4tj] {
    display: flex;
    gap: var(--space-1);
    flex-shrink: 0;
}

.status-btn[b-6fks31o4tj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-2) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-primary);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
    white-space: nowrap;
}

.status-btn:hover[b-6fks31o4tj] {
    background-color: var(--color-gray-100);
}

.status-btn.active[b-6fks31o4tj] {
    background-color: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
}

.btn-refresh[b-6fks31o4tj] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-2) var(--space-4);
    background: var(--color-primary);
    color: #fff;
    border: var(--border-width-thin) solid var(--color-primary);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
    transition: filter var(--transition-fast) var(--transition-ease);
    white-space: nowrap;
}

.btn-refresh:hover[b-6fks31o4tj] {
    filter: brightness(1.1);
}

/* Loading / Empty */
.loading-state[b-6fks31o4tj],
.empty-state[b-6fks31o4tj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state-text[b-6fks31o4tj] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Fulfilment legend */
.legend[b-6fks31o4tj] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.legend-swatch[b-6fks31o4tj] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 3px;
    vertical-align: middle;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.legend-red[b-6fks31o4tj] {
    background: hsl(0, 70%, 88%);
}

.legend-green[b-6fks31o4tj] {
    background: hsl(120, 70%, 88%);
}
/* /Components/Pages/Orders/Shared/OrderDuplicateModal.razor.rz.scp.css */
/* Modale «Duplica ordine» — stile allineato a OrderLineDetailsModal. */

.dup-modal-backdrop[b-2qrnk9y9j6] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
}

.dup-modal[b-2qrnk9y9j6] {
    background: #fff;
    border-radius: 8px;
    width: 100%;
    max-width: 620px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

.dup-modal-header[b-2qrnk9y9j6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1.2rem;
    background-color: var(--color-primary, #0B243E);
    color: #fff;
}

.dup-modal-header h3[b-2qrnk9y9j6] {
    margin: 0;
    font-size: 1.05rem;
    color: #fff;
}

.dup-modal-header .btn-close[b-2qrnk9y9j6] {
    border: none;
    background: transparent;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.85);
    padding: 0 0.25rem;
}

.dup-modal-header .btn-close:hover[b-2qrnk9y9j6] {
    color: #fff;
}

.dup-modal-body[b-2qrnk9y9j6] {
    padding: 1.2rem;
    overflow-y: auto;
}

.dup-modal-footer[b-2qrnk9y9j6] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.9rem 1.2rem;
    border-top: 1px solid #e5e7eb;
}

/* Riepilogo ordine di origine */
.dup-source[b-2qrnk9y9j6] {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    padding: 0.7rem 0.9rem;
    margin-bottom: 1rem;
}

.dup-source-title[b-2qrnk9y9j6] {
    font-weight: 600;
    font-size: 0.95rem;
    color: #111827;
}

.dup-source-meta[b-2qrnk9y9j6] {
    margin-top: 0.15rem;
    font-size: 0.8rem;
    color: #6b7280;
}

.dup-sep[b-2qrnk9y9j6] {
    margin: 0 0.35rem;
}

/* Campi */
.dup-grid[b-2qrnk9y9j6] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 0.75rem;
}

.dup-field label[b-2qrnk9y9j6] {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #6b7280;
    margin-bottom: 0.2rem;
}

.dup-toggles[b-2qrnk9y9j6] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 1rem;
}

.dup-note[b-2qrnk9y9j6] {
    margin-top: 1rem;
    padding: 0.6rem 0.8rem;
    border-left: 3px solid var(--color-primary, #0B243E);
    background: #f8fafc;
    font-size: 0.8rem;
    color: #374151;
    line-height: 1.45;
}
/* /Components/Pages/Orders/Shared/OrderLineDetailsModal.razor.rz.scp.css */
.dtl-modal-backdrop[b-db3366co5j] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
}

.dtl-modal[b-db3366co5j] {
    background: #fff;
    border-radius: 8px;
    width: 100%;
    max-width: 920px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

.dtl-modal-header[b-db3366co5j] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1.2rem;
    background-color: var(--color-primary, #0B243E);
    color: #fff;
    border-bottom: 1px solid var(--color-primary, #0B243E);
}

.dtl-modal-header h3[b-db3366co5j] { margin: 0; font-size: 1.05rem; color: #fff; }

.dtl-modal-header .btn-close[b-db3366co5j] {
    border: none; background: transparent;
    font-size: 1.5rem; line-height: 1; cursor: pointer; color: rgba(255, 255, 255, 0.85); padding: 0 0.25rem;
}

.dtl-modal-header .btn-close:hover[b-db3366co5j] { color: #fff; }

/* Tabs */
.dtl-tabs[b-db3366co5j] {
    display: flex;
    gap: 0;
    border-bottom: 1px solid #e5e7eb;
    padding: 0 1.2rem;
}

.dtl-tab[b-db3366co5j] {
    border: none;
    background: transparent;
    padding: 0.65rem 1rem;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #6b7280;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}

.dtl-tab.is-active[b-db3366co5j] {
    color: var(--color-primary, #0b243e);
    border-bottom-color: var(--color-primary, #0b243e);
}

.dtl-modal-body[b-db3366co5j] {
    padding: 1.2rem;
    overflow-y: auto;
}

.dtl-modal-footer[b-db3366co5j] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.9rem 1.2rem;
    border-top: 1px solid #e5e7eb;
}

/* Campi tracciabilità */
.trac-grid[b-db3366co5j] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.75rem;
}

.trac-field[b-db3366co5j] { display: flex; flex-direction: column; gap: 0.25rem; }
.trac-field label[b-db3366co5j] { font-size: 0.8rem; color: #374151; font-weight: 600; }
.trac-field-check[b-db3366co5j] { margin-top: 1rem; }
.trac-field-check label[b-db3366co5j] { display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 600; cursor: pointer; }

/* Campi imballi */
.pkg-composition[b-db3366co5j] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    max-width: 420px;
    margin-bottom: 1rem;
    padding-bottom: 0.9rem;
    border-bottom: 1px solid #e5e7eb;
}
.pkg-composition label[b-db3366co5j] { font-size: 0.8rem; color: #374151; font-weight: 600; }

.pkg-table[b-db3366co5j] { width: 100%; border-collapse: collapse; margin-bottom: 1rem; }
.pkg-table th[b-db3366co5j] { font-size: 0.8rem; color: #374151; text-align: left; padding: 0.25rem 0.5rem; border-bottom: 1px solid #e5e7eb; }
.pkg-table td[b-db3366co5j] { padding: 0.25rem 0.5rem; }
.pkg-table .text-end[b-db3366co5j] { text-align: right; }

.pkg-grid[b-db3366co5j] { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 0.75rem; }
.pkg-field[b-db3366co5j] { display: flex; flex-direction: column; gap: 0.25rem; }
.pkg-field label[b-db3366co5j] { font-size: 0.8rem; color: #374151; font-weight: 600; }
/* /Components/Pages/Orders/Shared/OrderLinePackageModal.razor.rz.scp.css */
.pkg-modal-backdrop[b-d666k8f4hp] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
}

.pkg-modal[b-d666k8f4hp] {
    background: #fff;
    border-radius: 8px;
    width: 100%;
    max-width: 820px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

.pkg-modal-header[b-d666k8f4hp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1.2rem;
    border-bottom: 1px solid #e5e7eb;
}

.pkg-modal-header h3[b-d666k8f4hp] {
    margin: 0;
    font-size: 1.05rem;
}

.pkg-modal-header .btn-close[b-d666k8f4hp] {
    border: none;
    background: transparent;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    color: #6b7280;
    padding: 0 0.25rem;
}

.pkg-modal-body[b-d666k8f4hp] {
    padding: 1.2rem;
    overflow-y: auto;
}

.pkg-table[b-d666k8f4hp] {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1rem;
}

.pkg-table th[b-d666k8f4hp] {
    font-size: 0.8rem;
    color: #374151;
    text-align: left;
    padding: 0.25rem 0.5rem;
    border-bottom: 1px solid #e5e7eb;
}

.pkg-table td[b-d666k8f4hp] {
    padding: 0.25rem 0.5rem;
}

.pkg-table .text-end[b-d666k8f4hp] {
    text-align: right;
}

.pkg-grid[b-d666k8f4hp] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 0.75rem;
}

.pkg-field[b-d666k8f4hp] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.pkg-field label[b-d666k8f4hp] {
    font-size: 0.8rem;
    color: #374151;
    font-weight: 600;
}

.pkg-modal-footer[b-d666k8f4hp] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.9rem 1.2rem;
    border-top: 1px solid #e5e7eb;
}
/* /Components/Pages/Orders/Shared/OrderLineRecipeModal.razor.rz.scp.css */
.rcp-modal-backdrop[b-1l4bkqudeg] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
}

.rcp-modal[b-1l4bkqudeg] {
    background: #fff;
    border-radius: 8px;
    width: 100%;
    /* Con data e ora su due controlli distinti la tabella delle fasi ha una colonna in più. */
    max-width: 1060px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

.rcp-modal-header[b-1l4bkqudeg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1.2rem;
    background-color: var(--color-primary, #0B243E);
    color: #fff;
    border-bottom: 1px solid var(--color-primary, #0B243E);
}

.rcp-modal-header h3[b-1l4bkqudeg] { margin: 0; font-size: 1.05rem; color: #fff; }

.rcp-modal-header .btn-close[b-1l4bkqudeg] {
    border: none;
    background: transparent;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.85);
    padding: 0 0.25rem;
}

.rcp-modal-header .btn-close:hover[b-1l4bkqudeg] { color: #fff; }

.rcp-modal-body[b-1l4bkqudeg] { padding: 1.2rem; overflow-y: auto; }

.rcp-modal-footer[b-1l4bkqudeg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1.2rem;
    border-top: 1px solid #e5e7eb;
}

.rcp-modal-actions[b-1l4bkqudeg] { display: flex; gap: 0.5rem; }

/* Avviso permanente: confermare qui genera documenti a valle. */
.rcp-warn[b-1l4bkqudeg] { font-size: 0.8rem; color: #92400e; }
/* /Components/Pages/Orders/Shared/OrderLineTraceabilityModal.razor.rz.scp.css */
.trac-modal-backdrop[b-2u6qvgbibv] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
}

.trac-modal[b-2u6qvgbibv] {
    background: #fff;
    border-radius: 8px;
    width: 100%;
    max-width: 920px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

.trac-modal-header[b-2u6qvgbibv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1.2rem;
    border-bottom: 1px solid #e5e7eb;
}

.trac-modal-header h3[b-2u6qvgbibv] {
    margin: 0;
    font-size: 1.05rem;
}

.trac-modal-header .btn-close[b-2u6qvgbibv] {
    border: none;
    background: transparent;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    color: #6b7280;
    padding: 0 0.25rem;
}

.trac-modal-body[b-2u6qvgbibv] {
    padding: 1.2rem;
    overflow-y: auto;
}

.trac-modal-footer[b-2u6qvgbibv] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.9rem 1.2rem;
    border-top: 1px solid #e5e7eb;
}

.trac-grid[b-2u6qvgbibv] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.75rem;
}

.trac-field[b-2u6qvgbibv] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.trac-field label[b-2u6qvgbibv] {
    font-size: 0.8rem;
    color: #374151;
    font-weight: 600;
}

.trac-field-check[b-2u6qvgbibv] {
    margin-top: 1rem;
}

.trac-field-check label[b-2u6qvgbibv] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
    cursor: pointer;
}
/* /Components/Pages/Orders/Shared/OrderStatusBadge.razor.rz.scp.css */
.order-status[b-6n5z0dy0mi] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    font-size: var(--font-size-xs, 12px);
    font-weight: var(--font-weight-medium, 500);
    line-height: 1;
    white-space: nowrap;
    border: 1px solid transparent;
    border-radius: 999px;
}

.order-status svg[b-6n5z0dy0mi] {
    flex-shrink: 0;
}

.status-draft[b-6n5z0dy0mi] {
    background-color: #f4f4f5;
    color: #52525b;
    border-color: #e4e4e7;
}

.status-confirmed[b-6n5z0dy0mi] {
    background-color: #eff6ff;
    color: #1d4ed8;
    border-color: #bfdbfe;
}

.status-partial[b-6n5z0dy0mi] {
    background-color: #fffbeb;
    color: #b45309;
    border-color: #fde68a;
}

.status-fulfilled[b-6n5z0dy0mi] {
    background-color: #ecfdf5;
    color: #047857;
    border-color: #a7f3d0;
}

.status-cancelled[b-6n5z0dy0mi] {
    background-color: #fef2f2;
    color: #b91c1c;
    border-color: #fecaca;
}

.status-default[b-6n5z0dy0mi] {
    background-color: #f4f4f5;
    color: #52525b;
    border-color: #e4e4e7;
}
/* /Components/Pages/Orders/Shared/RecipePlanEditor.razor.rz.scp.css */
.rcp-editor[b-gh7tapq443] { display: flex; flex-direction: column; gap: 1rem; }

/* Testata: ricetta + ancora del calcolo */
.rcp-head[b-gh7tapq443] {
    display: grid;
    grid-template-columns: minmax(260px, 2fr) minmax(160px, 1fr) minmax(140px, 1fr);
    gap: 0.75rem;
    align-items: end;
}

.rcp-field[b-gh7tapq443] { display: flex; flex-direction: column; gap: 0.25rem; }
.rcp-field label[b-gh7tapq443] { font-size: 0.8rem; color: #374151; font-weight: 600; }

.rcp-readonly[b-gh7tapq443] {
    font-size: 0.9rem;
    color: #111827;
    padding: 0.35rem 0.5rem;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    min-height: 2rem;
    display: flex;
    align-items: center;
}

.rcp-alert[b-gh7tapq443] { margin: 0; }

/* Tabelle piano e ordini collegati */
.rcp-table[b-gh7tapq443] { width: 100%; border-collapse: collapse; }

.rcp-table th[b-gh7tapq443] {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #6b7280;
    text-align: left;
    padding: 0.35rem 0.5rem;
    border-bottom: 1px solid #e5e7eb;
}

.rcp-table td[b-gh7tapq443] {
    padding: 0.4rem 0.5rem;
    font-size: 0.88rem;
    border-bottom: 1px solid #f3f4f6;
}

.rcp-table .rcp-col-num[b-gh7tapq443] { width: 3.5rem; text-align: center; }
.rcp-table .rcp-col-dur[b-gh7tapq443] { width: 8rem; }
.rcp-table .rcp-col-date[b-gh7tapq443] { width: 10.5rem; }
.rcp-table .rcp-col-time[b-gh7tapq443] { width: 8.5rem; }
.rcp-table .rcp-col-act[b-gh7tapq443] { width: 2.5rem; text-align: center; }
.rcp-table .text-end[b-gh7tapq443] { text-align: right; }

/* ── Controlli condivisi (DateField/TimeField) dentro una cella ───────────────
   Sono pensati per un form: etichetta sopra, larghezza fissa, margini propri. In tabella
   l'etichetta la dà l'intestazione di colonna e la larghezza la dà la cella, quindi qui si
   spengono i vincoli del componente. Serve ::deep: il markup è di un componente figlio. */
.rcp-cell-field[b-gh7tapq443]  .form-group {
    margin: 0;
    min-width: 0;
    max-width: none;
}

.rcp-cell-field[b-gh7tapq443]  .form-label { display: none; }

.rcp-cell-field[b-gh7tapq443]  .form-control {
    height: 30px;
    font-size: 0.85rem;
    width: 100%;
}

/* Il pulsante calendario è alto quanto il campo: senza questo resta tarato su un input di form. */
.rcp-cell-field[b-gh7tapq443]  .date-picker-btn { width: 28px; }

/* Riga con data forzata a mano: segnale, non errore. Una banda a sinistra invece di un'icona:
   si legge alla stessa velocità e non ruba spazio a una tabella già larga. */
.rcp-table tr.is-adjusted td[b-gh7tapq443] { background: #fffbeb; }
.rcp-table tr.is-adjusted td:first-child[b-gh7tapq443] { box-shadow: inset 3px 0 0 #f59e0b; }

/* Ripristino del valore calcolato per la singola riga. */
.rcp-restore[b-gh7tapq443] {
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #92400e;
    width: 1.6rem;
    height: 1.6rem;
    line-height: 1;
    font-size: 0.95rem;
    cursor: pointer;
    padding: 0;
}

.rcp-restore:hover[b-gh7tapq443] { background: #fffbeb; border-color: #fcd34d; }

.rcp-foot[b-gh7tapq443] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

/* ── Timeline delle fasi ──────────────────────────────────────────────────────
   I vuoti fra le barre sono informazione, non spazio sprecato: sono le notti, le
   pause e i giorni di chiusura che il calendario lavorativo ha saltato. */
.rcp-timeline[b-gh7tapq443] { margin-bottom: 0.9rem; }

.rcp-timeline-track[b-gh7tapq443] {
    position: relative;
    height: 1.6rem;
    background: repeating-linear-gradient(
        90deg,
        #f9fafb 0,
        #f9fafb 8px,
        #f3f4f6 8px,
        #f3f4f6 16px
    );
    border: 1px solid #e5e7eb;
}

.rcp-bar[b-gh7tapq443] {
    position: absolute;
    top: 3px;
    bottom: 3px;
    background: var(--color-primary, #0b243e);
    border: 1px solid var(--color-primary, #0b243e);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    cursor: help;
}

.rcp-bar-label[b-gh7tapq443] {
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1;
    padding: 0 2px;
}

/* Coerente con la riga in tabella: stessa ambra, stesso significato. */
.rcp-bar.is-adjusted[b-gh7tapq443] { background: #f59e0b; border-color: #b45309; }

/* Data fuori sequenza: la fase comincia dopo la successiva. Non si nasconde. */
.rcp-bar.is-broken[b-gh7tapq443] {
    background: #b91c1c;
    border-color: #7f1d1d;
    min-width: 4px;
}

.rcp-timeline-axis[b-gh7tapq443] {
    display: flex;
    justify-content: space-between;
    font-size: 0.72rem;
    color: #6b7280;
    margin-top: 0.2rem;
    font-variant-numeric: tabular-nums;
}

.rcp-timeline-end[b-gh7tapq443] { font-weight: 600; color: #374151; }

.rcp-recalc[b-gh7tapq443] { white-space: nowrap; flex-shrink: 0; }

.rcp-hint[b-gh7tapq443] { font-size: 0.8rem; color: #6b7280; margin: 0.25rem 0 0; }
.rcp-empty[b-gh7tapq443] { font-size: 0.88rem; color: #6b7280; margin: 0.25rem 0; }

/* Ordini collegati */
.rcp-linked[b-gh7tapq443] { border-top: 1px solid #e5e7eb; padding-top: 0.9rem; }

.rcp-linked h4[b-gh7tapq443] {
    margin: 0 0 0.5rem;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--color-primary, #0b243e);
}

.rcp-state[b-gh7tapq443] {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    font-size: 0.75rem;
    font-weight: 600;
    border: 1px solid transparent;
}

.rcp-state.is-pending[b-gh7tapq443] { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }
.rcp-state.is-fulfilled[b-gh7tapq443] { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }
/* /Components/Pages/Orders/Shared/Traceability/FishTraceabilityPanel.razor.rz.scp.css */
.trac-panel[b-3n5b0av4pz] {
    border: 1px solid var(--border-color-light, #e5e7eb);
    background-color: #fff;
    padding: var(--space-4, 16px);
    margin-top: var(--space-3, 12px);
}

.trac-header[b-3n5b0av4pz] {
    display: flex;
    align-items: center;
    gap: var(--space-2, 8px);
    padding-bottom: var(--space-3, 12px);
    border-bottom: 1px solid var(--border-color-light, #e5e7eb);
    margin-bottom: var(--space-3, 12px);
    color: var(--color-primary, #1f2937);
}

.trac-title[b-3n5b0av4pz] {
    font-weight: var(--font-weight-bold, 700);
    font-size: var(--font-size-md, 14px);
    flex: 1;
}

.trac-badge[b-3n5b0av4pz] {
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
}

.trac-badge-success[b-3n5b0av4pz] {
    background-color: #ecfdf5;
    color: #047857;
    border-color: #a7f3d0;
}

.trac-badge-muted[b-3n5b0av4pz] {
    background-color: #f4f4f5;
    color: #71717a;
    border-color: #e4e4e7;
}

.trac-section + .trac-section[b-3n5b0av4pz] {
    margin-top: var(--space-4, 16px);
    padding-top: var(--space-3, 12px);
    border-top: 1px dashed var(--border-color-light, #e5e7eb);
}

.trac-section-title[b-3n5b0av4pz] {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-muted, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: var(--space-2, 8px);
}

.trac-grid[b-3n5b0av4pz] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--space-2, 8px) var(--space-4, 16px);
}

.trac-field[b-3n5b0av4pz] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.trac-label[b-3n5b0av4pz] {
    font-size: 11px;
    color: var(--text-muted, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.trac-value[b-3n5b0av4pz] {
    font-size: 13px;
    color: var(--color-gray-900, #111827);
    overflow-wrap: anywhere;
}
/* /Components/Pages/Orders/Shared/Traceability/FruitTraceabilityPanel.razor.rz.scp.css */
.trac-panel[b-nccqyj1eu8] {
    border: 1px solid var(--border-color-light, #e5e7eb);
    background-color: #fff;
    padding: var(--space-4, 16px);
    margin-top: var(--space-3, 12px);
}

.trac-header[b-nccqyj1eu8] {
    display: flex;
    align-items: center;
    gap: var(--space-2, 8px);
    padding-bottom: var(--space-3, 12px);
    border-bottom: 1px solid var(--border-color-light, #e5e7eb);
    margin-bottom: var(--space-3, 12px);
    color: var(--color-primary, #1f2937);
}

.trac-title[b-nccqyj1eu8] {
    font-weight: var(--font-weight-bold, 700);
    font-size: var(--font-size-md, 14px);
    flex: 1;
}

.trac-badge[b-nccqyj1eu8] {
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
}

.trac-badge-success[b-nccqyj1eu8] {
    background-color: #ecfdf5;
    color: #047857;
    border-color: #a7f3d0;
}

.trac-badge-muted[b-nccqyj1eu8] {
    background-color: #f4f4f5;
    color: #71717a;
    border-color: #e4e4e7;
}

.trac-section + .trac-section[b-nccqyj1eu8] {
    margin-top: var(--space-4, 16px);
    padding-top: var(--space-3, 12px);
    border-top: 1px dashed var(--border-color-light, #e5e7eb);
}

.trac-section-title[b-nccqyj1eu8] {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-muted, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: var(--space-2, 8px);
}

.trac-grid[b-nccqyj1eu8] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--space-2, 8px) var(--space-4, 16px);
}

.trac-field[b-nccqyj1eu8] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.trac-label[b-nccqyj1eu8] {
    font-size: 11px;
    color: var(--text-muted, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.trac-value[b-nccqyj1eu8] {
    font-size: 13px;
    color: var(--color-gray-900, #111827);
    overflow-wrap: anywhere;
}
/* /Components/Pages/Orders/Shared/Traceability/GroceryTraceabilityPanel.razor.rz.scp.css */
.trac-panel[b-jb3fyjh68i] {
    border: 1px solid var(--border-color-light, #e5e7eb);
    background-color: #fff;
    padding: var(--space-4, 16px);
    margin-top: var(--space-3, 12px);
}

.trac-header[b-jb3fyjh68i] {
    display: flex;
    align-items: center;
    gap: var(--space-2, 8px);
    padding-bottom: var(--space-3, 12px);
    border-bottom: 1px solid var(--border-color-light, #e5e7eb);
    margin-bottom: var(--space-3, 12px);
    color: var(--color-primary, #1f2937);
}

.trac-title[b-jb3fyjh68i] {
    font-weight: var(--font-weight-bold, 700);
    font-size: var(--font-size-md, 14px);
    flex: 1;
}

.trac-badge[b-jb3fyjh68i] {
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
}

.trac-badge-success[b-jb3fyjh68i] {
    background-color: #ecfdf5;
    color: #047857;
    border-color: #a7f3d0;
}

.trac-badge-muted[b-jb3fyjh68i] {
    background-color: #f4f4f5;
    color: #71717a;
    border-color: #e4e4e7;
}

.trac-section-title[b-jb3fyjh68i] {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-muted, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: var(--space-2, 8px);
}

.trac-grid[b-jb3fyjh68i] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--space-2, 8px) var(--space-4, 16px);
}

.trac-field[b-jb3fyjh68i] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.trac-label[b-jb3fyjh68i] {
    font-size: 11px;
    color: var(--text-muted, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.trac-value[b-jb3fyjh68i] {
    font-size: 13px;
    color: var(--color-gray-900, #111827);
    overflow-wrap: anywhere;
}
/* /Components/Pages/Orders/Shared/Traceability/MeatTraceabilityPanel.razor.rz.scp.css */
.trac-panel[b-5qegp2og4r] {
    border: 1px solid var(--border-color-light, #e5e7eb);
    background-color: #fff;
    padding: var(--space-4, 16px);
    margin-top: var(--space-3, 12px);
}

.trac-header[b-5qegp2og4r] {
    display: flex;
    align-items: center;
    gap: var(--space-2, 8px);
    padding-bottom: var(--space-3, 12px);
    border-bottom: 1px solid var(--border-color-light, #e5e7eb);
    margin-bottom: var(--space-3, 12px);
    color: var(--color-primary, #1f2937);
}

.trac-title[b-5qegp2og4r] {
    font-weight: var(--font-weight-bold, 700);
    font-size: var(--font-size-md, 14px);
    flex: 1;
}

.trac-badge[b-5qegp2og4r] {
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
}

.trac-badge-success[b-5qegp2og4r] {
    background-color: #ecfdf5;
    color: #047857;
    border-color: #a7f3d0;
}

.trac-badge-muted[b-5qegp2og4r] {
    background-color: #f4f4f5;
    color: #71717a;
    border-color: #e4e4e7;
}

.trac-section + .trac-section[b-5qegp2og4r] {
    margin-top: var(--space-4, 16px);
    padding-top: var(--space-3, 12px);
    border-top: 1px dashed var(--border-color-light, #e5e7eb);
}

.trac-section-title[b-5qegp2og4r] {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-muted, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: var(--space-2, 8px);
}

.trac-grid[b-5qegp2og4r] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--space-2, 8px) var(--space-4, 16px);
}

.trac-field[b-5qegp2og4r] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.trac-label[b-5qegp2og4r] {
    font-size: 11px;
    color: var(--text-muted, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.trac-value[b-5qegp2og4r] {
    font-size: 13px;
    color: var(--color-gray-900, #111827);
    overflow-wrap: anywhere;
}
/* /Components/Pages/Prices/PriceListCreate.razor.rz.scp.css */
/* ===========================
   PriceListCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-imb6tjkpp4] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-imb6tjkpp4] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-imb6tjkpp4] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-imb6tjkpp4] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-imb6tjkpp4] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-imb6tjkpp4] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-imb6tjkpp4] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-imb6tjkpp4] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-imb6tjkpp4] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-imb6tjkpp4] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-imb6tjkpp4] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-imb6tjkpp4] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-imb6tjkpp4] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-imb6tjkpp4] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-imb6tjkpp4]::placeholder {
    color: var(--color-gray-400);
}

/* Checkbox Group */
.form-check-group[b-imb6tjkpp4] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.form-check[b-imb6tjkpp4] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    cursor: pointer;
}

.form-check-label[b-imb6tjkpp4] {
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
}

.btn-action[b-imb6tjkpp4] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-imb6tjkpp4] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-imb6tjkpp4] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-imb6tjkpp4] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-imb6tjkpp4] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-imb6tjkpp4] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Info Box (Validity Hint) */
.form-section-info[b-imb6tjkpp4] {
    background-color: var(--color-gray-50);
}

.info-box[b-imb6tjkpp4] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-3);
}

.info-box svg[b-imb6tjkpp4] {
    color: var(--color-primary);
    opacity: 0.7;
    flex-shrink: 0;
    margin-top: 2px;
}

.info-box-content strong[b-imb6tjkpp4] {
    display: block;
    font-size: var(--font-size-sm);
    color: var(--color-primary);
    margin-bottom: var(--space-1);
}

.info-box-content p[b-imb6tjkpp4] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    margin: 0;
    line-height: 1.5;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-imb6tjkpp4] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-imb6tjkpp4] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Prices/PriceListEdit.razor.rz.scp.css */
/* ===========================
   PriceListEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-ulel2k0or2] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-ulel2k0or2] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-ulel2k0or2] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-ulel2k0or2] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-ulel2k0or2] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-ulel2k0or2] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-ulel2k0or2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-ulel2k0or2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-ulel2k0or2] {
    opacity: 0.4;
}

.empty-state-text[b-ulel2k0or2] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-ulel2k0or2] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-ulel2k0or2] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-ulel2k0or2] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-ulel2k0or2] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-ulel2k0or2] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-ulel2k0or2] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-ulel2k0or2] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-ulel2k0or2] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-ulel2k0or2] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-ulel2k0or2]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-ulel2k0or2] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

/* Checkbox Group */
.form-check-group[b-ulel2k0or2] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.form-check[b-ulel2k0or2] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    cursor: pointer;
}

.form-check-label[b-ulel2k0or2] {
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
}

.btn-action[b-ulel2k0or2] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-ulel2k0or2] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-ulel2k0or2] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-ulel2k0or2] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-ulel2k0or2] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-ulel2k0or2] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* ===========================
   Validity Periods (Detail)
   =========================== */

.form-group-actions[b-ulel2k0or2] {
    justify-content: flex-end;
}

.validity-form-actions[b-ulel2k0or2] {
    display: flex;
    gap: var(--space-2);
    align-items: center;
}

.validity-toolbar[b-ulel2k0or2] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--space-3);
}

.validity-toolbar .btn[b-ulel2k0or2] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    white-space: nowrap;
}

.validity-form-actions .btn[b-ulel2k0or2] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
}

.btn-sm[b-ulel2k0or2] {
    font-size: var(--font-size-xs) !important;
    padding: var(--space-1) var(--space-3) !important;
}

.empty-state-inline[b-ulel2k0or2] {
    padding: var(--space-6) 0 !important;
    gap: var(--space-2) !important;
}

.table-responsive[b-ulel2k0or2] {
    width: 100%;
    overflow-x: auto;
    margin-top: var(--space-4);
}

.validity-table[b-ulel2k0or2] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}

.validity-table thead th[b-ulel2k0or2] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    text-align: left;
    background-color: var(--color-gray-50);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.validity-table tbody td[b-ulel2k0or2] {
    padding: var(--space-2) var(--space-3);
    color: var(--color-gray-700);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    vertical-align: middle;
}

.validity-table tbody tr:hover[b-ulel2k0or2] {
    background-color: var(--color-gray-50);
}

.validity-table tr.row-editing[b-ulel2k0or2] {
    background-color: #fff8e1;
}

.validity-table tr.row-editing:hover[b-ulel2k0or2] {
    background-color: #fff3c4;
}

.text-end[b-ulel2k0or2] {
    text-align: right;
}

.text-center[b-ulel2k0or2] {
    text-align: center;
}

/* Badges */
.badge[b-ulel2k0or2] {
    display: inline-block;
    padding: 2px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    line-height: 1.4;
}

.badge-success[b-ulel2k0or2] {
    background-color: #e6f4ea;
    color: #1e6f3a;
    border: var(--border-width-thin) solid #b6dec4;
}

.badge-secondary[b-ulel2k0or2] {
    background-color: var(--color-gray-100);
    color: var(--text-muted);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Icon buttons in table */
.btn-icon[b-ulel2k0or2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: transparent;
    border: var(--border-width-thin) solid var(--border-color-light);
    color: var(--text-muted);
    cursor: pointer;
    margin-left: var(--space-1);
    transition: all var(--transition-fast) var(--transition-ease);
    text-decoration: none;
}

.btn-icon:hover[b-ulel2k0or2] {
    color: var(--color-primary);
    border-color: var(--color-primary);
    background-color: var(--color-gray-50);
}

.btn-icon-danger:hover[b-ulel2k0or2] {
    color: var(--color-danger);
    border-color: var(--color-danger);
}

/* Vertical separator between action-icon groups in the validity table */
.btn-icon-separator[b-ulel2k0or2] {
    display: inline-block;
    width: 1px;
    height: 18px;
    background-color: var(--border-color-light);
    margin: 0 var(--space-2);
    vertical-align: middle;
}

/* Info Box (Create page) */
.form-section-info[b-ulel2k0or2] {
    background-color: var(--color-gray-50);
}

.info-box[b-ulel2k0or2] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-3);
}

.info-box svg[b-ulel2k0or2] {
    color: var(--color-primary);
    opacity: 0.7;
    flex-shrink: 0;
    margin-top: 2px;
}

.info-box-content strong[b-ulel2k0or2] {
    display: block;
    font-size: var(--font-size-sm);
    color: var(--color-primary);
    margin-bottom: var(--space-1);
}

.info-box-content p[b-ulel2k0or2] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    margin: 0;
    line-height: 1.5;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-ulel2k0or2] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-ulel2k0or2] {
        grid-column: span 1;
    }
}

/* ===========================
   Overlay & Modal Dialog
   =========================== */
.overlay[b-ulel2k0or2] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-ulel2k0or2] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.dialog-wide[b-ulel2k0or2] {
    max-width: 500px;
    text-align: left;
}

.confirm-dialog h3[b-ulel2k0or2] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-ulel2k0or2] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-actions[b-ulel2k0or2] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-ulel2k0or2] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
}

.dialog-form[b-ulel2k0or2] {
    display: flex;
    gap: var(--space-4);
    margin-top: var(--space-4);
}

.dialog-form .form-group[b-ulel2k0or2] {
    flex: 1;
}

@media (max-width: 768px) {
    .dialog-form[b-ulel2k0or2] {
        flex-direction: column;
    }
}
/* /Components/Pages/Prices/PriceListList.razor.rz.scp.css */
/* ===========================
   PriceListList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-awc5boeqdz] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-awc5boeqdz] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-awc5boeqdz] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-awc5boeqdz] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-awc5boeqdz] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-awc5boeqdz] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-awc5boeqdz] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-awc5boeqdz] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-awc5boeqdz] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-awc5boeqdz] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-awc5boeqdz] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-awc5boeqdz] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-awc5boeqdz] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-awc5boeqdz]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-awc5boeqdz] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-awc5boeqdz] {
    color: var(--color-primary);
}

.search-count[b-awc5boeqdz] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-awc5boeqdz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-awc5boeqdz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-awc5boeqdz] {
    opacity: 0.4;
}

.empty-state-text[b-awc5boeqdz] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-awc5boeqdz] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-awc5boeqdz] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-awc5boeqdz] {
    border-bottom: none;
}

.item-row:hover[b-awc5boeqdz] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-awc5boeqdz] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-awc5boeqdz] {
    flex: 1;
    min-width: 0;
}

.item-name[b-awc5boeqdz] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-awc5boeqdz] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-awc5boeqdz] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-awc5boeqdz] {
    color: var(--color-gray-300);
}

/* Action Buttons */
.item-actions[b-awc5boeqdz] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-awc5boeqdz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-awc5boeqdz] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-awc5boeqdz] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-awc5boeqdz] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-awc5boeqdz] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-awc5boeqdz] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-awc5boeqdz] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-awc5boeqdz] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-awc5boeqdz] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-awc5boeqdz] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-awc5boeqdz] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-awc5boeqdz] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-awc5boeqdz] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-awc5boeqdz] {
        flex-wrap: wrap;
    }
}

/* /Components/Pages/Prices/PriceListPricesEdit.razor.rz.scp.css */
/* ===========================
   PriceListPricesEdit - Scoped Styles
   Editable grid for ListinoPrezzo
   =========================== */

.page-container[b-dwrf7p9k2h] {
    max-width: 1600px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-warning[b-dwrf7p9k2h] { color: #b45309; font-weight: 600; }

.subtitle-code[b-dwrf7p9k2h],
.subtitle-period[b-dwrf7p9k2h] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.7;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alerts */
.alert-bar[b-dwrf7p9k2h] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-dwrf7p9k2h] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-dwrf7p9k2h] {
    background-color: #e6f4ea;
    border-left-color: #1e6f3a;
    color: #1e6f3a;
}

.alert-bar-close[b-dwrf7p9k2h] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-dwrf7p9k2h] {
    opacity: 1;
}

.loading-state[b-dwrf7p9k2h] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.btn-action[b-dwrf7p9k2h] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
}

.btn-action:hover[b-dwrf7p9k2h] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
}

.btn-action:disabled[b-dwrf7p9k2h] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-outline-primary[b-dwrf7p9k2h] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-dwrf7p9k2h] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Grid */
.prices-grid-wrapper[b-dwrf7p9k2h] {
    width: 100%;
    overflow-x: auto;
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
    margin-bottom: var(--space-3);
}

.prices-grid[b-dwrf7p9k2h] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    min-width: 700px;
}

.col-hidden[b-dwrf7p9k2h] {
    display: none;
}

.prices-grid thead th[b-dwrf7p9k2h] {
    padding: var(--space-2) var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    text-align: left;
    background-color: var(--color-gray-50);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    white-space: nowrap;
    position: sticky;
    top: 0;
    z-index: 1;
}

.prices-grid tbody td[b-dwrf7p9k2h] {
    padding: var(--space-1) var(--space-1);
    color: var(--color-gray-700);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    vertical-align: middle;
    font-family: var(--font-sans);
}

.prices-grid tbody tr.row-dirty[b-dwrf7p9k2h] {
    background-color: #fff8e1;
}

.prices-grid tbody tr.row-new[b-dwrf7p9k2h] {
    background-color: #e6f4ea;
}

.prices-grid tbody tr:hover[b-dwrf7p9k2h] {
    filter: brightness(0.98);
}

/* Column widths */
.col-row-seq[b-dwrf7p9k2h] { width: 45px; }
.col-depot[b-dwrf7p9k2h] { width: 110px; }
.col-product[b-dwrf7p9k2h] { width: 320px; }
.col-um[b-dwrf7p9k2h] { width: 42px; }
.col-price[b-dwrf7p9k2h] { width: 60px; max-width: 60px; }
.col-disc[b-dwrf7p9k2h] { width: 80px; }
.col-actions[b-dwrf7p9k2h] { width: 60px; }

.text-end[b-dwrf7p9k2h] { text-align: right; }
.text-center[b-dwrf7p9k2h] { text-align: center; }

/* Inline inputs */
.form-control-sm[b-dwrf7p9k2h] {
    padding: var(--space-1) var(--space-1);
    font-size: var(--font-size-sm);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    width: 100%;
    height: 28px;
    line-height: 1.2;
    font-family: var(--font-sans);
}

.form-control-sm:focus[b-dwrf7p9k2h] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.input-num[b-dwrf7p9k2h] {
    text-align: right;
    font-family: var(--font-sans);
}

/* PriceField inside grid cells: strip the form-group wrapper spacing/label */
.cell-price-field[b-dwrf7p9k2h]  .form-group {
    margin: 0;
    padding: 0;
}

.cell-price-field[b-dwrf7p9k2h]  .form-label {
    display: none;
}

.cell-price-field[b-dwrf7p9k2h]  .price-input-wrapper {
    margin: 0;
}

.cell-price-field[b-dwrf7p9k2h]  .price-input,
.cell-price-field[b-dwrf7p9k2h]  .price-input-wrapper .price-input {
    padding: var(--space-1) var(--space-1);
    font-size: var(--font-size-sm);
    height: 28px;
    text-align: right;
    font-family: var(--font-sans);
    width: 100%;
}

.cell-price-field[b-dwrf7p9k2h]  .price-decimals-hint {
    display: none;
}

/* LookupField inside grid cells */
.cell-lookup-field[b-dwrf7p9k2h]  .form-group {
    margin: 0;
    padding: 0;
}

.cell-lookup-field[b-dwrf7p9k2h]  .form-label {
    display: none;
}

.cell-lookup-field[b-dwrf7p9k2h]  .input-with-lookup {
    margin: 0;
}

.cell-lookup-field[b-dwrf7p9k2h]  .form-control {
    padding: var(--space-1) var(--space-1);
    font-size: var(--font-size-sm);
    height: 28px;
    font-family: var(--font-sans);
}

.cell-lookup-field[b-dwrf7p9k2h]  .btn-lookup {
    height: 28px;
    width: 28px;
}

.cell-lookup-field[b-dwrf7p9k2h]  .lookup-hint {
    display: none;
}

.cell-readonly[b-dwrf7p9k2h] {
    display: inline-block;
    padding: var(--space-1) var(--space-1);
    font-family: var(--font-sans);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
}

.empty-row[b-dwrf7p9k2h] {
    padding: var(--space-8) var(--space-4) !important;
    color: var(--text-muted);
    font-style: italic;
}

/* Icon buttons */
.btn-icon[b-dwrf7p9k2h] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: transparent;
    border: var(--border-width-thin) solid var(--border-color-light);
    color: var(--text-muted);
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-dwrf7p9k2h] {
    color: var(--color-primary);
    border-color: var(--color-primary);
    background-color: var(--color-gray-50);
}

.btn-icon-danger:hover[b-dwrf7p9k2h] {
    color: var(--color-danger);
    border-color: var(--color-danger);
}

/* Help text */
.grid-help[b-dwrf7p9k2h] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    margin: var(--space-3) 0 0 0;
    font-style: italic;
}

.grid-help svg[b-dwrf7p9k2h] {
    flex-shrink: 0;
    opacity: 0.6;
}

/* Overlay & Dialog */
.overlay[b-dwrf7p9k2h] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-dwrf7p9k2h] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-dwrf7p9k2h] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-dwrf7p9k2h] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-dwrf7p9k2h] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-dwrf7p9k2h] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-dwrf7p9k2h] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-dwrf7p9k2h] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}
/* /Components/Pages/Prices/Reports/PriceAnalysisReport.razor.rz.scp.css */
/* ===========================
   PriceAnalysisReport - Price Analysis Dashboard
   Flat Industrial Minimal
   =========================== */

.page-container[b-nc82zhht44] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-nc82zhht44] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-nc82zhht44] { flex: 1; }

.page-title[b-nc82zhht44] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-nc82zhht44] { color: var(--color-primary); flex-shrink: 0; }

.page-subtitle[b-nc82zhht44] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Alert */
.alert-bar[b-nc82zhht44] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-nc82zhht44] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-nc82zhht44] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-nc82zhht44] { opacity: 1; }

/* Layout */
.analysis-layout[b-nc82zhht44] {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: var(--space-5);
    align-items: start;
}

/* Left panel */
.article-list-panel[b-nc82zhht44] {
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 180px);
}

.panel-header[b-nc82zhht44] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-3) var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.panel-title[b-nc82zhht44] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.panel-count[b-nc82zhht44] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    background: rgba(11, 36, 62, 0.06);
    padding: 1px 8px;
}

/* Search */
.search-bar[b-nc82zhht44] {
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-nc82zhht44] {
    display: flex;
    align-items: center;
}

.search-icon[b-nc82zhht44] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-nc82zhht44] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-nc82zhht44]::placeholder { color: var(--text-muted); }

.search-clear[b-nc82zhht44] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-nc82zhht44] { color: var(--color-primary); }

/* Article items */
.article-items[b-nc82zhht44] {
    overflow-y: auto;
    flex: 1;
}

.article-item[b-nc82zhht44] {
    padding: var(--space-3) var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.article-item:hover[b-nc82zhht44] { background-color: rgba(11, 36, 62, 0.03); }

.article-item.active[b-nc82zhht44] {
    background-color: rgba(11, 36, 62, 0.06);
    border-left: 3px solid var(--color-primary);
}

.article-item-header[b-nc82zhht44] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2px;
}

.article-code[b-nc82zhht44] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    font-family: var(--font-mono);
}

.article-item-desc[b-nc82zhht44] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-bottom: var(--space-1);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.article-item-prices[b-nc82zhht44] {
    display: flex;
    gap: var(--space-2);
}

.price-tag[b-nc82zhht44] {
    font-size: 11px;
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    padding: 1px 6px;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.price-min[b-nc82zhht44] { color: #2e7d32; border-color: rgba(46, 125, 50, 0.3); }
.price-avg[b-nc82zhht44] { color: var(--color-primary); border-color: rgba(11, 36, 62, 0.2); }
.price-max[b-nc82zhht44] { color: #b22222; border-color: rgba(178, 34, 34, 0.3); }

/* Detail panel */
.detail-panel[b-nc82zhht44] {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

.empty-state[b-nc82zhht44] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-8) var(--space-4);
    color: var(--text-muted);
    text-align: center;
    gap: var(--space-3);
}

.empty-state svg[b-nc82zhht44] { opacity: 0.4; }

.detail-header[b-nc82zhht44] { margin-bottom: 0; }

.detail-title[b-nc82zhht44] {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    margin: 0;
    font-family: var(--font-mono);
}

.detail-subtitle[b-nc82zhht44] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* KPI Strip */
.kpi-strip[b-nc82zhht44] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-4);
}

.kpi-card[b-nc82zhht44] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-4) var(--space-5);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-top: 3px solid var(--border-color-light);
}

.kpi-icon[b-nc82zhht44] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    background: rgba(11, 36, 62, 0.06);
    color: var(--color-primary);
}

.kpi-icon-min[b-nc82zhht44] { color: #2e7d32; background: rgba(46, 125, 50, 0.08); }
.kpi-icon-avg[b-nc82zhht44] { color: #1565c0; background: rgba(21, 101, 192, 0.08); }
.kpi-icon-max[b-nc82zhht44] { color: #b22222; background: rgba(178, 34, 34, 0.08); }

.kpi-body[b-nc82zhht44] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.kpi-label[b-nc82zhht44] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.kpi-value[b-nc82zhht44] {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    line-height: 1.2;
}

.kpi-detail[b-nc82zhht44] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: 2px;
}

.kpi-tag[b-nc82zhht44] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 1px 8px;
    font-size: 11px;
    font-weight: var(--font-weight-medium);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.kpi-tag-purchase[b-nc82zhht44] { color: #1565c0; border-color: rgba(21, 101, 192, 0.3); }
.kpi-tag-sale[b-nc82zhht44] { color: #e65100; border-color: rgba(230, 81, 0, 0.3); }

/* Filtro controparti */
.filter-panel[b-nc82zhht44] {
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-toggle[b-nc82zhht44] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    width: 100%;
    padding: var(--space-3) var(--space-5);
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-primary);
    text-align: left;
}

.filter-toggle:hover[b-nc82zhht44] { background: rgba(11, 36, 62, 0.03); }

.filter-toggle svg[b-nc82zhht44] { flex-shrink: 0; }

.filter-toggle-label[b-nc82zhht44] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-summary[b-nc82zhht44] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-left: var(--space-3);
}

.filter-chip[b-nc82zhht44] {
    font-size: 11px;
    font-weight: var(--font-weight-medium);
    padding: 1px 8px;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-chip-purchase[b-nc82zhht44] { color: #1565c0; border-color: rgba(21, 101, 192, 0.3); }
.filter-chip-sale[b-nc82zhht44] { color: #e65100; border-color: rgba(230, 81, 0, 0.3); }

.filter-caret[b-nc82zhht44] {
    display: flex;
    margin-left: auto;
    color: var(--text-muted);
    transition: transform 0.15s linear;
}

.filter-caret.open[b-nc82zhht44] { transform: rotate(180deg); }

.filter-body[b-nc82zhht44] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-5);
    padding: 0 var(--space-5) var(--space-4);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    padding-top: var(--space-4);
}

.filter-column[b-nc82zhht44] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.filter-column-header[b-nc82zhht44] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    margin-bottom: var(--space-2);
}

.filter-column-title[b-nc82zhht44] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-actions[b-nc82zhht44] {
    display: flex;
    gap: var(--space-2);
}

.filter-link[b-nc82zhht44] {
    background: none;
    border: none;
    padding: 0;
    font-size: 11px;
    color: var(--color-primary);
    cursor: pointer;
    text-decoration: underline;
}

.filter-link:hover[b-nc82zhht44] { opacity: 0.7; }

.filter-options[b-nc82zhht44] {
    display: flex;
    flex-direction: column;
    max-height: 220px;
    overflow-y: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-option[b-nc82zhht44] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: 4px var(--space-2);
    font-size: var(--font-size-xs);
    cursor: pointer;
    margin: 0;
    min-width: 0;
}

.filter-option:hover[b-nc82zhht44] { background: rgba(11, 36, 62, 0.04); }

.filter-option input[b-nc82zhht44] { flex-shrink: 0; cursor: pointer; }

.filter-option-name[b-nc82zhht44] {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.filter-option-count[b-nc82zhht44] {
    flex-shrink: 0;
    font-size: 11px;
    font-family: var(--font-mono);
    color: var(--text-muted);
}

.filter-empty[b-nc82zhht44] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin: 0;
    padding: var(--space-2) 0;
}

.filter-footer[b-nc82zhht44] {
    display: flex;
    justify-content: flex-end;
    padding: 0 var(--space-5) var(--space-3);
}

/* Chart */
.chart-container[b-nc82zhht44] {
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    padding: var(--space-4) var(--space-5);
}

.section-title[b-nc82zhht44] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    margin: 0 0 var(--space-4) 0;
    display: flex;
    align-items: center;
    gap: var(--space-2);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Chart tooltip */
.chart-tooltip[b-nc82zhht44] {
    font-size: var(--font-size-xs);
    line-height: 1.5;
}

.chart-tooltip-price[b-nc82zhht44] {
    font-weight: var(--font-weight-bold);
    font-family: var(--font-mono);
    color: var(--color-primary);
}

/* Detail table */
.detail-table-section[b-nc82zhht44] {
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    padding: var(--space-4) var(--space-5);
}

.movement-badge[b-nc82zhht44] {
    display: inline-block;
    padding: 1px 8px;
    font-size: 11px;
    font-weight: var(--font-weight-medium);
}

.badge-purchase[b-nc82zhht44] { color: #1565c0; background: rgba(21, 101, 192, 0.08); }
.badge-sale[b-nc82zhht44] { color: #e65100; background: rgba(230, 81, 0, 0.08); }

/* Loading */
.loading-indicator[b-nc82zhht44] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: var(--space-6);
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.spinner[b-nc82zhht44] {
    width: 18px;
    height: 18px;
    border: 2px solid var(--border-color-light);
    border-top-color: var(--color-primary);
    border-radius: 50%;
    animation: spin-b-nc82zhht44 0.6s linear infinite;
}

@keyframes spin-b-nc82zhht44 {
    to { transform: rotate(360deg); }
}

/* Chart Legend */
.chart-legend[b-nc82zhht44] {
    display: flex;
    gap: 16px;
    margin-bottom: 8px;
    font-size: 13px;
    color: #555;
}

.legend-item[b-nc82zhht44] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.legend-dot[b-nc82zhht44] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}

.legend-period[b-nc82zhht44] {
    margin-left: auto;
    color: #888;
    font-size: 12px;
}
/* /Components/Pages/Printing/MyPrinters.razor.rz.scp.css */
/* ===========================
   MyPrinters - Scoped Styles
   Flat Industrial Minimal

   La pagina non aveva alcun foglio scoped: le classi del markup
   (page-container, page-header, alert-bar, form-row, lines-table, input,
   checkbox) non esistono né in components.css né altrove, quindi rendeva
   praticamente senza stile, con i soli fallback Bootstrap su .card e .btn.

   L'idioma qui sotto è quello delle liste anagrafiche (AllergenList,
   AgentList e le altre): stesse variabili, stesse classi, stessi nomi. Il CSS
   di Blazor è scoped, quindi va ridichiarato per pagina — consolidarlo in
   globale è un intervento trasversale a sé (CLAUDE.md).
   =========================== */

/* ===========================
   PAGE CONTAINER & HEADER
   =========================== */

.page-container[b-2e6hff16s9] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-2e6hff16s9] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

/* Il pulsante "torna al menu" affianca il blocco icona/titolo/sottotitolo. */
.page-header-left[b-2e6hff16s9] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    flex: 1;
    min-width: 0;
}

.page-heading[b-2e6hff16s9] {
    min-width: 0;
}

.page-header-right[b-2e6hff16s9] {
    flex-shrink: 0;
}

.page-title[b-2e6hff16s9] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

.page-title svg[b-2e6hff16s9] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-2e6hff16s9] {
    margin: var(--space-1) 0 0 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

/* ===========================
   ALERT BAR
   =========================== */

.alert-bar[b-2e6hff16s9] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar svg[b-2e6hff16s9] {
    flex-shrink: 0;
}

.alert-bar-success[b-2e6hff16s9] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-2e6hff16s9] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-2e6hff16s9] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    line-height: 1;
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
}

.alert-bar-close:hover[b-2e6hff16s9] {
    opacity: 1;
}

/* ===========================
   PANNELLO "AGGIUNGI STAMPANTE"

   Non è una .card Bootstrap: quella porta box-shadow e angoli propri, e senza
   .card-body il titolo finiva a filo del bordo. Pannello squadrato con testata,
   coerente con il resto dell'app.
   =========================== */

.panel[b-2e6hff16s9] {
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    margin-bottom: var(--space-6);
}

.panel-header[b-2e6hff16s9] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.panel-body[b-2e6hff16s9] {
    padding: var(--space-4);
}

/* ===========================
   FORM DI AGGIUNTA
   =========================== */

.form-row[b-2e6hff16s9] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-3);
    flex-wrap: wrap;
}

.form-field[b-2e6hff16s9] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    flex: 1 1 200px;
    min-width: 0;
}

.form-label[b-2e6hff16s9] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.input[b-2e6hff16s9] {
    width: 100%;
    padding: var(--space-2) var(--space-3);
    font-family: var(--font-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-medium);
    border-radius: var(--radius-none);
    outline: none;
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.input:focus[b-2e6hff16s9] {
    border-color: var(--color-primary);
}

.input[b-2e6hff16s9]::placeholder {
    color: var(--text-muted);
}

.checkbox[b-2e6hff16s9] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    cursor: pointer;
    padding-bottom: var(--space-2);
    white-space: nowrap;
}

.checkbox input[type="checkbox"][b-2e6hff16s9] {
    width: 16px;
    height: 16px;
    accent-color: var(--color-primary);
    cursor: pointer;
}

/* ===========================
   BOTTONI

   btn-link e btn-danger erano classi Bootstrap: angoli arrotondati e palette
   estranea al design system. Qui l'azione primaria è btn-action e le azioni di
   riga sono btn-icon, come nelle altre liste.
   =========================== */

.btn-action[b-2e6hff16s9] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    border-radius: var(--radius-none);
    font-family: var(--font-primary);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover:not(:disabled)[b-2e6hff16s9] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    box-shadow: var(--shadow-sm);
}

.btn-action:active:not(:disabled)[b-2e6hff16s9] {
    background-color: var(--color-action-active);
}

.btn-action:disabled[b-2e6hff16s9] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-icon[b-2e6hff16s9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    height: 36px;
    padding: 0 var(--space-3);
    background: none;
    border: var(--border-width-thin) solid transparent;
    border-radius: var(--radius-none);
    font-family: var(--font-primary);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover:not(:disabled)[b-2e6hff16s9] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
}

.btn-icon:disabled[b-2e6hff16s9] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-icon-danger:hover:not(:disabled)[b-2e6hff16s9] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* ===========================
   ELENCO STAMPANTI

   Stesso idioma item-list/item-row delle liste anagrafiche, al posto della
   lines-table che non aveva stile: su tre colonne di dati la tabella non porta
   vantaggi e la riga regge meglio il responsive.
   =========================== */

.item-list[b-2e6hff16s9] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.item-row[b-2e6hff16s9] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    border-left: var(--border-width-thick) solid transparent;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-2e6hff16s9] {
    border-bottom: none;
}

.item-row:hover[b-2e6hff16s9] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* La stampante predefinita porta l'accento a sinistra: si individua a colpo
   d'occhio anche quando l'elenco è lungo. */
.item-row-default[b-2e6hff16s9] {
    border-left-color: var(--color-primary);
}

.item-avatar[b-2e6hff16s9] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

.item-info[b-2e6hff16s9] {
    flex: 1;
    min-width: 0;
}

.item-name[b-2e6hff16s9] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-2e6hff16s9] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
    margin-top: 2px;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.item-type[b-2e6hff16s9] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.item-actions[b-2e6hff16s9] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-shrink: 0;
}

/* ===========================
   BADGE
   =========================== */

.badge-default[b-2e6hff16s9] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: 2px var(--space-2);
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    border-radius: var(--radius-none);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.badge-inactive[b-2e6hff16s9] {
    display: inline-flex;
    align-items: center;
    padding: 2px var(--space-2);
    background-color: var(--bg-tertiary);
    color: var(--text-secondary);
    border-radius: var(--radius-none);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
}

/* ===========================
   STATI
   =========================== */

.loading-state[b-2e6hff16s9],
.empty-state[b-2e6hff16s9] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    padding: var(--space-16) 0;
    color: var(--text-muted);
}

.empty-state svg[b-2e6hff16s9] {
    opacity: 0.4;
}

.empty-state-text[b-2e6hff16s9] {
    margin: 0;
    font-size: var(--font-size-base);
}

.empty-state-hint[b-2e6hff16s9] {
    margin: 0;
    font-size: var(--font-size-sm);
}

/* ===========================
   RESPONSIVE
   =========================== */

@media (max-width: 768px) {
    .page-header[b-2e6hff16s9] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .form-row[b-2e6hff16s9] {
        flex-direction: column;
        align-items: stretch;
    }

    .form-row .btn-action[b-2e6hff16s9] {
        justify-content: center;
    }

    .item-row[b-2e6hff16s9] {
        flex-wrap: wrap;
    }

    .item-actions[b-2e6hff16s9] {
        order: 6;
        margin-left: auto;
    }
}
/* /Components/Pages/Production/BatchEdit.razor.rz.scp.css */
/* ===========================
   BatchEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-dvxkg2d5dd] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-dvxkg2d5dd] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-dvxkg2d5dd] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-dvxkg2d5dd] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-info[b-dvxkg2d5dd] {
    background-color: #e8f4f8;
    border-left-color: var(--color-info);
    color: #0c5460;
}

.alert-bar-close[b-dvxkg2d5dd] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-dvxkg2d5dd] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-dvxkg2d5dd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-dvxkg2d5dd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-dvxkg2d5dd] {
    opacity: 0.4;
}

.empty-state-text[b-dvxkg2d5dd] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-dvxkg2d5dd] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-dvxkg2d5dd] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-dvxkg2d5dd] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-dvxkg2d5dd] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-dvxkg2d5dd] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-dvxkg2d5dd] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-dvxkg2d5dd] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-dvxkg2d5dd] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-dvxkg2d5dd] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-dvxkg2d5dd]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-dvxkg2d5dd] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-dvxkg2d5dd] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-dvxkg2d5dd] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-dvxkg2d5dd] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-dvxkg2d5dd] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-dvxkg2d5dd] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-dvxkg2d5dd] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-dvxkg2d5dd] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-dvxkg2d5dd] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Production/BatchList.razor.rz.scp.css */
/* ===========================
   BatchList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Paginazione */
.pagination-bar[b-b4xb3dk6ye] { display: flex; align-items: center; justify-content: center; gap: var(--space-3); margin-top: var(--space-4); }
.pagination-info[b-b4xb3dk6ye] { font-size: var(--font-size-xs); color: var(--text-muted); }

/* Page Container */
.page-container[b-b4xb3dk6ye] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bars */
.alert-bar[b-b4xb3dk6ye] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-b4xb3dk6ye] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-b4xb3dk6ye] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-b4xb3dk6ye] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-b4xb3dk6ye] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-b4xb3dk6ye] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-b4xb3dk6ye] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-b4xb3dk6ye] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-b4xb3dk6ye] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-b4xb3dk6ye]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-b4xb3dk6ye] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-b4xb3dk6ye] {
    color: var(--color-primary);
}

.search-count[b-b4xb3dk6ye] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-b4xb3dk6ye] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-b4xb3dk6ye] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-b4xb3dk6ye] {
    opacity: 0.4;
}

.empty-state-text[b-b4xb3dk6ye] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-b4xb3dk6ye] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Raggruppamento */
.group-toolbar[b-b4xb3dk6ye] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
    flex-wrap: wrap;
}

.group-toolbar-label[b-b4xb3dk6ye] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin-right: var(--space-1);
}

.group-header[b-b4xb3dk6ye] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-gray-100);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    position: sticky;
    top: 0;
    z-index: 1;
}

.group-header-title[b-b4xb3dk6ye] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.group-header .group-count[b-b4xb3dk6ye] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

/* Item Row */
.item-row[b-b4xb3dk6ye] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-b4xb3dk6ye] {
    border-bottom: none;
}

.item-row:hover[b-b4xb3dk6ye] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-b4xb3dk6ye] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-b4xb3dk6ye] {
    flex: 1;
    min-width: 0;
}

.item-name[b-b4xb3dk6ye] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-b4xb3dk6ye] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-b4xb3dk6ye] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-b4xb3dk6ye] {
    color: var(--color-gray-300);
}

/* Badge Status */
.badge-status[b-b4xb3dk6ye] {
    display: inline-block;
    padding: 1px 8px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-gray-100);
    color: var(--text-secondary);
}

/* KPI di resa (scaricato / caricato) — stessa impostazione dei KPI della lista partite */
.item-kpis[b-b4xb3dk6ye] {
    flex-shrink: 0;
    display: flex;
    align-items: stretch;
    gap: var(--space-2);
    margin-right: var(--space-2);
}

.kpi[b-b4xb3dk6ye] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 200px;
    padding: 2px 10px;
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-gray-100);
}

.kpi-sep[b-b4xb3dk6ye] {
    color: var(--color-gray-300);
    margin: 0 2px;
}

.kpi-label[b-b4xb3dk6ye] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: .04em;
}

.kpi-value[b-b4xb3dk6ye] {
    display: inline-flex;
    align-items: baseline;
    gap: 2px;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    font-variant-numeric: tabular-nums;
}

/* Caricato: è il numeratore della resa, distinto dallo scaricato */
.kpi-value-load[b-b4xb3dk6ye] {
    color: #1a7f37;
}

/* Resa: dato chiave, in pillola colorata per fascia */
.resa-pill[b-b4xb3dk6ye] {
    margin-left: var(--space-1);
    padding: 1px 6px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* Fasce resa: <60 scarsa (rosso), 60–90 buona (ambra), >90 ottima (verde) */
.resa-pill.resa-poor[b-b4xb3dk6ye] {
    background-color: var(--color-danger, #dc3545);
    color: #ffffff;
}

.resa-pill.resa-good[b-b4xb3dk6ye] {
    background-color: var(--color-warning, #ffc107);
    color: #1f2430;
}

.resa-pill.resa-great[b-b4xb3dk6ye] {
    background-color: var(--color-success, #28a745);
    color: #ffffff;
}

/* Resa non calcolabile (nessuno scarico): nessun giudizio, solo il segnaposto */
.resa-pill.resa-none[b-b4xb3dk6ye] {
    background-color: var(--color-gray-200, #e9ecef);
    color: var(--text-secondary);
}

/* Anomalia: resa a quantità oltre il 100%, cioè caricato più di quanto scaricato.
   Colore proprio (viola) perché non è un giudizio sulla resa ma una segnalazione di dati
   incoerenti: va distinto sia dal verde "ottima" sia dal rosso "scarsa". */
.resa-pill.resa-anomaly[b-b4xb3dk6ye] {
    background-color: #6f2dbd;
    color: #ffffff;
}

.resa-alert[b-b4xb3dk6ye] {
    display: inline-block;
    margin-right: 3px;
    font-weight: var(--font-weight-bold, 700);
}

/* Action Buttons */
.item-actions[b-b4xb3dk6ye] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.item-actions-separator[b-b4xb3dk6ye] {
    width: var(--border-width-thin);
    align-self: stretch;
    margin: var(--space-1) var(--space-1);
    background-color: var(--border-color-light);
}

.btn-icon[b-b4xb3dk6ye] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-b4xb3dk6ye] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

/* Buttons */
.btn-outline-primary[b-b4xb3dk6ye] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-b4xb3dk6ye] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-b4xb3dk6ye] {
        flex-wrap: wrap;
    }

    .item-kpis[b-b4xb3dk6ye] {
        order: 5;
        width: 100%;
        margin-right: 0;
    }

    .kpi[b-b4xb3dk6ye] {
        flex: 1;
        min-width: 0;
    }

    .item-actions[b-b4xb3dk6ye] {
        order: 6;
        margin-left: auto;
    }
}

/* =============================================================================
   ELABORAZIONE PRICING — dialogo di conferma ed esito
   La chrome di conferma vive in copie scoped (CLAUDE.md §«CSS di componente»):
   qui si porta quella che serve a questa pagina, sul modello della lista partite.
   ========================================================================== */

.overlay[b-b4xb3dk6ye] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
}

.confirm-dialog[b-b4xb3dk6ye] {
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    padding: var(--space-6);
    max-width: 480px;
    width: calc(100% - var(--space-8));
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.confirm-dialog h3[b-b4xb3dk6ye] {
    margin: 0;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

.confirm-dialog p[b-b4xb3dk6ye] {
    margin: 0;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
}

.confirm-icon[b-b4xb3dk6ye] {
    color: var(--color-primary);
}

/* Nota, non avviso: l'elaborazione non è distruttiva e non tocca i costi.
   Un riquadro rosso qui direbbe una cosa falsa. */
.confirm-note[b-b4xb3dk6ye] {
    padding: var(--space-2) var(--space-3);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--color-primary);
}

.confirm-note a[b-b4xb3dk6ye] {
    color: var(--color-primary);
}

.confirm-actions[b-b4xb3dk6ye] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-3);
    margin-top: var(--space-2);
}

.btn-action[b-b4xb3dk6ye] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-action:disabled[b-b4xb3dk6ye] {
    opacity: 0.6;
    cursor: progress;
}

/* Esito. Verde quando la corsa ha chiuso pulita, ambra quando ha lasciato righe
   senza prezzo: sono due esiti diversi e mandano in due posti diversi.
   La variante verde e' gia' definita piu' sopra in questo foglio: qui manca solo l'ambra. */
.alert-bar-warning[b-b4xb3dk6ye] {
    background-color: var(--color-warning-bg, #fff6e0);
    border-left-color: var(--color-warning, #e0b050);
    color: var(--color-warning-text, #8a5a00);
}

.alert-bar-link[b-b4xb3dk6ye] {
    margin-left: var(--space-3);
    color: inherit;
    font-weight: var(--font-weight-semibold, 600);
    text-decoration: underline;
}
/* /Components/Pages/Production/BatchRuleCreate.razor.rz.scp.css */
/* ===========================
   BatchRuleCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-4uuhs8zb2n] { max-width: 1100px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-4uuhs8zb2n] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-4uuhs8zb2n] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-4uuhs8zb2n] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-4uuhs8zb2n] { opacity: 1; }

.form-section[b-4uuhs8zb2n] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-4uuhs8zb2n] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }

/* Header di sezione master-detail: titolo a sinistra, pulsante "Aggiungi riga" a destra */
.section-header[b-4uuhs8zb2n] { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-4); }
.section-header .section-title[b-4uuhs8zb2n] { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.section-header .btn[b-4uuhs8zb2n] { display: inline-flex; align-items: center; gap: var(--space-2); cursor: pointer; text-decoration: none; }
.btn-sm[b-4uuhs8zb2n] { padding: var(--space-1) var(--space-3); font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); }

.form-grid[b-4uuhs8zb2n] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-4uuhs8zb2n] { display: flex; flex-direction: column; }
.form-group-wide[b-4uuhs8zb2n] { grid-column: span 2; }
.form-label[b-4uuhs8zb2n] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-4uuhs8zb2n] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-4uuhs8zb2n] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control:disabled[b-4uuhs8zb2n] { background-color: var(--color-gray-100); color: var(--color-gray-400); }

/* ---- Detail grid (righe della regola) ---- */
.detail-grid[b-4uuhs8zb2n] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.detail-header[b-4uuhs8zb2n], .detail-row[b-4uuhs8zb2n] {
    display: grid;
    grid-template-columns: 48px 1.2fr 1.2fr 1.4fr 1.4fr 1.4fr 1fr 40px;
    gap: var(--space-2);
    align-items: center;
    padding: var(--space-2) var(--space-3);
}
.detail-header[b-4uuhs8zb2n] { background-color: var(--bg-secondary); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.detail-header span[b-4uuhs8zb2n] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; }
.detail-row[b-4uuhs8zb2n] { border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.detail-row:last-child[b-4uuhs8zb2n] { border-bottom: none; }
.detail-prg[b-4uuhs8zb2n] { font-family: var(--font-mono); font-size: var(--font-size-sm); color: var(--color-primary); text-align: center; }
.detail-empty[b-4uuhs8zb2n] { padding: var(--space-4); font-size: var(--font-size-sm); color: var(--text-muted); text-align: center; }

.btn-remove-row[b-4uuhs8zb2n] { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); }
.btn-remove-row:hover[b-4uuhs8zb2n] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }
.btn-add-row[b-4uuhs8zb2n] { margin-top: var(--space-3); padding: var(--space-2) var(--space-4); background: transparent; color: var(--color-primary); border: var(--border-width-thin) dashed var(--color-primary); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-add-row:hover[b-4uuhs8zb2n] { background-color: var(--color-gray-50); }
.btn-action[b-4uuhs8zb2n] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-4uuhs8zb2n] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-4uuhs8zb2n] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-4uuhs8zb2n] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-4uuhs8zb2n] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-4uuhs8zb2n] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 1024px) {
    .form-grid[b-4uuhs8zb2n] { grid-template-columns: 1fr; }
    .form-group-wide[b-4uuhs8zb2n] { grid-column: span 1; }
    .detail-header[b-4uuhs8zb2n] { display: none; }
    .detail-row[b-4uuhs8zb2n] { grid-template-columns: 1fr 1fr; }
    .detail-prg[b-4uuhs8zb2n] { text-align: left; }
}
/* /Components/Pages/Production/BatchRuleEdit.razor.rz.scp.css */
/* ===========================
   BatchRuleEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-9zad0ipxhu] { max-width: 1100px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-9zad0ipxhu] { font-family: var(--font-mono); color: var(--color-primary); opacity: 0.7; }

.alert-bar[b-9zad0ipxhu] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-9zad0ipxhu] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-9zad0ipxhu] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-9zad0ipxhu] { opacity: 1; }

.loading-state[b-9zad0ipxhu] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-9zad0ipxhu] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state-text[b-9zad0ipxhu] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-9zad0ipxhu] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-9zad0ipxhu] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }

/* Header di sezione master-detail: titolo a sinistra, pulsante "Aggiungi riga" a destra */
.section-header[b-9zad0ipxhu] { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-4); }
.section-header .section-title[b-9zad0ipxhu] { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.section-header .btn[b-9zad0ipxhu] { display: inline-flex; align-items: center; gap: var(--space-2); cursor: pointer; text-decoration: none; }

.form-grid[b-9zad0ipxhu] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-9zad0ipxhu] { display: flex; flex-direction: column; }
.form-group-wide[b-9zad0ipxhu] { grid-column: span 2; }
.form-label[b-9zad0ipxhu] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-9zad0ipxhu] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-9zad0ipxhu] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control:disabled[b-9zad0ipxhu] { background-color: var(--color-gray-100); color: var(--color-gray-400); }
.form-control-static[b-9zad0ipxhu] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); font-family: var(--font-mono); color: var(--color-primary); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); }

/* ---- Detail grid (righe della regola) ---- */
.detail-grid[b-9zad0ipxhu] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.detail-header[b-9zad0ipxhu], .detail-row[b-9zad0ipxhu] {
    display: grid;
    grid-template-columns: 48px 1.2fr 1.2fr 1.4fr 1.4fr 1.4fr 1fr 40px;
    gap: var(--space-2);
    align-items: center;
    padding: var(--space-2) var(--space-3);
}
.detail-header[b-9zad0ipxhu] { background-color: var(--bg-secondary); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.detail-header span[b-9zad0ipxhu] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; }
.detail-row[b-9zad0ipxhu] { border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.detail-row:last-child[b-9zad0ipxhu] { border-bottom: none; }
.detail-prg[b-9zad0ipxhu] { font-family: var(--font-mono); font-size: var(--font-size-sm); color: var(--color-primary); text-align: center; }
.detail-empty[b-9zad0ipxhu] { padding: var(--space-4); font-size: var(--font-size-sm); color: var(--text-muted); text-align: center; }

.btn-remove-row[b-9zad0ipxhu] { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); }
.btn-remove-row:hover[b-9zad0ipxhu] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }
.btn-add-row[b-9zad0ipxhu] { margin-top: var(--space-3); padding: var(--space-2) var(--space-4); background: transparent; color: var(--color-primary); border: var(--border-width-thin) dashed var(--color-primary); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-add-row:hover[b-9zad0ipxhu] { background-color: var(--color-gray-50); }
.btn-action[b-9zad0ipxhu] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-9zad0ipxhu] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-9zad0ipxhu] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-9zad0ipxhu] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-9zad0ipxhu] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }
.btn-sm[b-9zad0ipxhu] { padding: var(--space-1) var(--space-3); font-size: var(--font-size-xs); }

[b-9zad0ipxhu] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 1024px) {
    .form-grid[b-9zad0ipxhu] { grid-template-columns: 1fr; }
    .form-group-wide[b-9zad0ipxhu] { grid-column: span 1; }
    .detail-header[b-9zad0ipxhu] { display: none; }
    .detail-row[b-9zad0ipxhu] { grid-template-columns: 1fr 1fr; }
    .detail-prg[b-9zad0ipxhu] { text-align: left; }
}
/* /Components/Pages/Production/BatchRuleList.razor.rz.scp.css */
/* ===========================
   BatchRuleList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-d15m2yskzc] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-d15m2yskzc] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-d15m2yskzc] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-d15m2yskzc] { background-color: var(--color-action-active); }

.alert-bar[b-d15m2yskzc] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-d15m2yskzc] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-d15m2yskzc] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-d15m2yskzc] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-d15m2yskzc] { opacity: 1; }

.search-bar[b-d15m2yskzc] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-d15m2yskzc] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-d15m2yskzc] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-d15m2yskzc] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-d15m2yskzc]::placeholder { color: var(--text-muted); }
.search-clear[b-d15m2yskzc] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-d15m2yskzc] { color: var(--color-primary); }
.search-count[b-d15m2yskzc] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-d15m2yskzc] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-d15m2yskzc] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-d15m2yskzc] { opacity: 0.4; }
.empty-state-text[b-d15m2yskzc] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-d15m2yskzc] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-d15m2yskzc] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-d15m2yskzc] { border-bottom: none; }
.item-row:hover[b-d15m2yskzc] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-d15m2yskzc] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-d15m2yskzc] { flex: 1; min-width: 0; }
.item-name[b-d15m2yskzc] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-d15m2yskzc] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-d15m2yskzc] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }
.item-detail[b-d15m2yskzc] { margin-left: var(--space-2); }

.item-actions[b-d15m2yskzc] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-d15m2yskzc] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-d15m2yskzc] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-d15m2yskzc] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-d15m2yskzc] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-d15m2yskzc] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-d15m2yskzc] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-d15m2yskzc] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-d15m2yskzc] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-d15m2yskzc] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-d15m2yskzc] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-d15m2yskzc] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-d15m2yskzc] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-d15m2yskzc] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-d15m2yskzc] { flex-wrap: wrap; }
    .item-actions[b-d15m2yskzc] { order: 6; margin-left: auto; }
}
/* /Components/Pages/Production/CustomerLabelCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-dj6pcybce1] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-dj6pcybce1] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-dj6pcybce1] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-dj6pcybce1] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-dj6pcybce1] { opacity: 1; }

.form-section[b-dj6pcybce1] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-dj6pcybce1] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-dj6pcybce1] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-dj6pcybce1] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-dj6pcybce1] { display: flex; flex-direction: column; }
.form-group-wide[b-dj6pcybce1] { grid-column: span 2; }
.form-label[b-dj6pcybce1] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-dj6pcybce1] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-dj6pcybce1] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-dj6pcybce1]::placeholder { color: var(--color-gray-400); }
.btn-action[b-dj6pcybce1] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-dj6pcybce1] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-dj6pcybce1] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-dj6pcybce1] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-dj6pcybce1] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-dj6pcybce1] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-dj6pcybce1] { grid-template-columns: 1fr; }
    .form-group-wide[b-dj6pcybce1] { grid-column: span 1; }
}

/* Checkbox "Predefinito" */
.form-check-group[b-dj6pcybce1] { justify-content: flex-end; }
.form-check[b-dj6pcybce1] { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); color: var(--color-gray-700); cursor: pointer; }
.form-check-input[b-dj6pcybce1] { width: 16px; height: 16px; cursor: pointer; }
/* /Components/Pages/Production/CustomerLabelEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-cmq7jouqzw] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-cmq7jouqzw] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-cmq7jouqzw] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-cmq7jouqzw] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-cmq7jouqzw] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-cmq7jouqzw] { opacity: 1; }

.loading-state[b-cmq7jouqzw] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-cmq7jouqzw] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-cmq7jouqzw] { opacity: 0.4; }
.empty-state-text[b-cmq7jouqzw] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-cmq7jouqzw] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-cmq7jouqzw] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-cmq7jouqzw] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-cmq7jouqzw] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-cmq7jouqzw] { display: flex; flex-direction: column; }
.form-group-wide[b-cmq7jouqzw] { grid-column: span 2; }
.form-label[b-cmq7jouqzw] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-cmq7jouqzw] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-cmq7jouqzw] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-cmq7jouqzw]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-cmq7jouqzw] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-cmq7jouqzw] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-cmq7jouqzw] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-cmq7jouqzw] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-cmq7jouqzw] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-cmq7jouqzw] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-cmq7jouqzw] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-cmq7jouqzw] { grid-template-columns: 1fr; }
    .form-group-wide[b-cmq7jouqzw] { grid-column: span 1; }
}

/* Checkbox "Predefinito" */
.form-check-group[b-cmq7jouqzw] { justify-content: flex-end; }
.form-check[b-cmq7jouqzw] { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); color: var(--color-gray-700); cursor: pointer; }
.form-check-input[b-cmq7jouqzw] { width: 16px; height: 16px; cursor: pointer; }

/* Nota informativa nel form */
.form-hint[b-cmq7jouqzw] { font-size: var(--font-size-xs); color: var(--text-muted); margin: var(--space-2) 0 0 0; }
/* /Components/Pages/Production/CustomerLabelList.razor.rz.scp.css */
/* ===========================
   CustomerLabelList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-vveocaam36] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-vveocaam36] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-vveocaam36] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-vveocaam36] { background-color: var(--color-action-active); }

.alert-bar[b-vveocaam36] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-vveocaam36] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-vveocaam36] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-vveocaam36] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-vveocaam36] { opacity: 1; }

.search-bar[b-vveocaam36] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-vveocaam36] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-vveocaam36] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-vveocaam36] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-vveocaam36]::placeholder { color: var(--text-muted); }
.search-clear[b-vveocaam36] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-vveocaam36] { color: var(--color-primary); }
.search-count[b-vveocaam36] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-vveocaam36] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-vveocaam36] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-vveocaam36] { opacity: 0.4; }
.empty-state-text[b-vveocaam36] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-vveocaam36] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-vveocaam36] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-vveocaam36] { border-bottom: none; }
.item-row:hover[b-vveocaam36] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-vveocaam36] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-vveocaam36] { flex: 1; min-width: 0; }
.item-name[b-vveocaam36] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-vveocaam36] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-vveocaam36] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-vveocaam36] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-vveocaam36] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-vveocaam36] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-vveocaam36] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-vveocaam36] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-vveocaam36] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-vveocaam36] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-vveocaam36] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-vveocaam36] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-vveocaam36] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-vveocaam36] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-vveocaam36] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-vveocaam36] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-vveocaam36] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-vveocaam36] { flex-wrap: wrap; }
    .item-actions[b-vveocaam36] { order: 6; margin-left: auto; }
}

/* Badge "Predefinito" */
.item-badges[b-vveocaam36] { flex-shrink: 0; display: flex; gap: var(--space-2); }
.badge[b-vveocaam36] { display: inline-flex; align-items: center; padding: 3px var(--space-2); font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); letter-spacing: 0.3px; text-transform: uppercase; }
.badge-primary[b-vveocaam36] { background-color: rgba(11, 36, 62, 0.1); color: var(--color-primary); }

.meta-separator[b-vveocaam36] { color: var(--color-gray-300); }

/* Separatore fra le azioni "collezioni testo" e le azioni sul master */
.item-actions-separator[b-vveocaam36] { width: var(--border-width-thin); align-self: stretch; margin: 0 var(--space-1); background-color: var(--border-color-light); }
/* /Components/Pages/Production/CustomerLabelTextCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-c5etnkopqo] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-c5etnkopqo] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-c5etnkopqo] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-c5etnkopqo] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-c5etnkopqo] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-c5etnkopqo] { opacity: 1; }

.loading-state[b-c5etnkopqo] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-c5etnkopqo] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-c5etnkopqo] { opacity: 0.4; }
.empty-state-text[b-c5etnkopqo] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-c5etnkopqo] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-c5etnkopqo] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-c5etnkopqo] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-c5etnkopqo] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-c5etnkopqo] { display: flex; flex-direction: column; }
.form-group-wide[b-c5etnkopqo] { grid-column: span 2; }
.form-label[b-c5etnkopqo] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-c5etnkopqo] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-c5etnkopqo] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-c5etnkopqo]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-c5etnkopqo] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-c5etnkopqo] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-c5etnkopqo] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-c5etnkopqo] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-c5etnkopqo] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-c5etnkopqo] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-c5etnkopqo] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-c5etnkopqo] { grid-template-columns: 1fr; }
    .form-group-wide[b-c5etnkopqo] { grid-column: span 1; }
}

/* Checkbox "Predefinito" */
.form-check-group[b-c5etnkopqo] { justify-content: flex-end; }
.form-check[b-c5etnkopqo] { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); color: var(--color-gray-700); cursor: pointer; }
.form-check-input[b-c5etnkopqo] { width: 16px; height: 16px; cursor: pointer; }

/* Nota informativa nel form */
.form-hint[b-c5etnkopqo] { font-size: var(--font-size-xs); color: var(--text-muted); margin: var(--space-2) 0 0 0; }
/* /Components/Pages/Production/CustomerLabelTextEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-pkov5wafnz] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-pkov5wafnz] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-pkov5wafnz] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-pkov5wafnz] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-pkov5wafnz] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-pkov5wafnz] { opacity: 1; }

.loading-state[b-pkov5wafnz] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-pkov5wafnz] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-pkov5wafnz] { opacity: 0.4; }
.empty-state-text[b-pkov5wafnz] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-pkov5wafnz] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-pkov5wafnz] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-pkov5wafnz] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-pkov5wafnz] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-pkov5wafnz] { display: flex; flex-direction: column; }
.form-group-wide[b-pkov5wafnz] { grid-column: span 2; }
.form-label[b-pkov5wafnz] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-pkov5wafnz] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-pkov5wafnz] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-pkov5wafnz]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-pkov5wafnz] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-pkov5wafnz] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-pkov5wafnz] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-pkov5wafnz] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-pkov5wafnz] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-pkov5wafnz] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-pkov5wafnz] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-pkov5wafnz] { grid-template-columns: 1fr; }
    .form-group-wide[b-pkov5wafnz] { grid-column: span 1; }
}

/* Checkbox "Predefinito" */
.form-check-group[b-pkov5wafnz] { justify-content: flex-end; }
.form-check[b-pkov5wafnz] { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); color: var(--color-gray-700); cursor: pointer; }
.form-check-input[b-pkov5wafnz] { width: 16px; height: 16px; cursor: pointer; }

/* Nota informativa nel form */
.form-hint[b-pkov5wafnz] { font-size: var(--font-size-xs); color: var(--text-muted); margin: var(--space-2) 0 0 0; }
/* /Components/Pages/Production/CustomerLabelTextList.razor.rz.scp.css */
/* ===========================
   CustomerLabelList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-ypdn6h4x10] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-ypdn6h4x10] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-ypdn6h4x10] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-ypdn6h4x10] { background-color: var(--color-action-active); }

.alert-bar[b-ypdn6h4x10] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-ypdn6h4x10] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-ypdn6h4x10] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-ypdn6h4x10] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-ypdn6h4x10] { opacity: 1; }

.search-bar[b-ypdn6h4x10] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-ypdn6h4x10] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-ypdn6h4x10] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-ypdn6h4x10] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-ypdn6h4x10]::placeholder { color: var(--text-muted); }
.search-clear[b-ypdn6h4x10] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-ypdn6h4x10] { color: var(--color-primary); }
.search-count[b-ypdn6h4x10] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-ypdn6h4x10] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-ypdn6h4x10] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-ypdn6h4x10] { opacity: 0.4; }
.empty-state-text[b-ypdn6h4x10] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-ypdn6h4x10] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-ypdn6h4x10] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-ypdn6h4x10] { border-bottom: none; }
.item-row:hover[b-ypdn6h4x10] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-ypdn6h4x10] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-ypdn6h4x10] { flex: 1; min-width: 0; }
.item-name[b-ypdn6h4x10] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-ypdn6h4x10] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-ypdn6h4x10] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-ypdn6h4x10] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-ypdn6h4x10] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-ypdn6h4x10] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-ypdn6h4x10] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-ypdn6h4x10] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-ypdn6h4x10] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-ypdn6h4x10] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-ypdn6h4x10] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-ypdn6h4x10] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-ypdn6h4x10] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-ypdn6h4x10] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-ypdn6h4x10] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-ypdn6h4x10] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-ypdn6h4x10] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-ypdn6h4x10] { flex-wrap: wrap; }
    .item-actions[b-ypdn6h4x10] { order: 6; margin-left: auto; }
}

/* Badge "Predefinito" */
.item-badges[b-ypdn6h4x10] { flex-shrink: 0; display: flex; gap: var(--space-2); }
.badge[b-ypdn6h4x10] { display: inline-flex; align-items: center; padding: 3px var(--space-2); font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); letter-spacing: 0.3px; text-transform: uppercase; }
.badge-primary[b-ypdn6h4x10] { background-color: rgba(11, 36, 62, 0.1); color: var(--color-primary); }

.meta-separator[b-ypdn6h4x10] { color: var(--color-gray-300); }

.subtitle-code[b-ypdn6h4x10] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); margin-left: var(--space-2); }

.kind-tabs[b-ypdn6h4x10] { display: flex; gap: 0; margin-bottom: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.kind-tab[b-ypdn6h4x10] { padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); color: var(--text-muted); text-decoration: none; border-bottom: var(--border-width-thick) solid transparent; margin-bottom: calc(-1 * var(--border-width-thin)); transition: color var(--transition-fast) var(--transition-ease), border-color var(--transition-fast) var(--transition-ease); }
.kind-tab:hover[b-ypdn6h4x10] { color: var(--color-primary); text-decoration: none; }
.kind-tab.active[b-ypdn6h4x10] { color: var(--color-primary); border-bottom-color: var(--color-action); }

.item-rownum[b-ypdn6h4x10] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); font-family: var(--font-mono); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); }
/* /Components/Pages/Production/LabelCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-h8zjsn7d8t] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-h8zjsn7d8t] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-h8zjsn7d8t] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-h8zjsn7d8t] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-h8zjsn7d8t] { opacity: 1; }

.form-section[b-h8zjsn7d8t] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-h8zjsn7d8t] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-h8zjsn7d8t] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-h8zjsn7d8t] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-h8zjsn7d8t] { display: flex; flex-direction: column; }
.form-group-wide[b-h8zjsn7d8t] { grid-column: span 2; }
.form-label[b-h8zjsn7d8t] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-h8zjsn7d8t] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-h8zjsn7d8t] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-h8zjsn7d8t]::placeholder { color: var(--color-gray-400); }
.btn-action[b-h8zjsn7d8t] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-h8zjsn7d8t] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-h8zjsn7d8t] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-h8zjsn7d8t] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-h8zjsn7d8t] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-h8zjsn7d8t] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-h8zjsn7d8t] { grid-template-columns: 1fr; }
    .form-group-wide[b-h8zjsn7d8t] { grid-column: span 1; }
}

/* Layout textarea */
.form-group-full[b-h8zjsn7d8t] { grid-column: 1 / -1; }
.form-textarea[b-h8zjsn7d8t] { min-height: 160px; font-family: var(--font-mono); resize: vertical; }
/* /Components/Pages/Production/LabelEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-ak7475iy7e] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-ak7475iy7e] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-ak7475iy7e] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-ak7475iy7e] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-ak7475iy7e] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-ak7475iy7e] { opacity: 1; }

.loading-state[b-ak7475iy7e] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-ak7475iy7e] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-ak7475iy7e] { opacity: 0.4; }
.empty-state-text[b-ak7475iy7e] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-ak7475iy7e] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-ak7475iy7e] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-ak7475iy7e] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-ak7475iy7e] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-ak7475iy7e] { display: flex; flex-direction: column; }
.form-group-wide[b-ak7475iy7e] { grid-column: span 2; }
.form-label[b-ak7475iy7e] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-ak7475iy7e] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-ak7475iy7e] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-ak7475iy7e]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-ak7475iy7e] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-ak7475iy7e] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-ak7475iy7e] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-ak7475iy7e] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-ak7475iy7e] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-ak7475iy7e] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-ak7475iy7e] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-ak7475iy7e] { grid-template-columns: 1fr; }
    .form-group-wide[b-ak7475iy7e] { grid-column: span 1; }
}

/* Layout textarea */
.form-group-full[b-ak7475iy7e] { grid-column: 1 / -1; }
.form-textarea[b-ak7475iy7e] { min-height: 160px; font-family: var(--font-mono); resize: vertical; }
/* /Components/Pages/Production/LabelList.razor.rz.scp.css */
/* ===========================
   ProductGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-e18bebd1xq] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-e18bebd1xq] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-e18bebd1xq] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-e18bebd1xq] { background-color: var(--color-action-active); }

.alert-bar[b-e18bebd1xq] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-e18bebd1xq] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-e18bebd1xq] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-e18bebd1xq] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-e18bebd1xq] { opacity: 1; }

.search-bar[b-e18bebd1xq] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-e18bebd1xq] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-e18bebd1xq] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-e18bebd1xq] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-e18bebd1xq]::placeholder { color: var(--text-muted); }
.search-clear[b-e18bebd1xq] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-e18bebd1xq] { color: var(--color-primary); }
.search-count[b-e18bebd1xq] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-e18bebd1xq] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-e18bebd1xq] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-e18bebd1xq] { opacity: 0.4; }
.empty-state-text[b-e18bebd1xq] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-e18bebd1xq] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-e18bebd1xq] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-e18bebd1xq] { border-bottom: none; }
.item-row:hover[b-e18bebd1xq] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-e18bebd1xq] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-e18bebd1xq] { flex: 1; min-width: 0; }
.item-name[b-e18bebd1xq] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-e18bebd1xq] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-e18bebd1xq] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-e18bebd1xq] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-e18bebd1xq] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-e18bebd1xq] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-e18bebd1xq] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-e18bebd1xq] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-e18bebd1xq] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-e18bebd1xq] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-e18bebd1xq] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-e18bebd1xq] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-e18bebd1xq] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-e18bebd1xq] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-e18bebd1xq] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-e18bebd1xq] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-e18bebd1xq] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-e18bebd1xq] { flex-wrap: wrap; }
    .item-actions[b-e18bebd1xq] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Production/PluCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-nsgb5n3ou4] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-nsgb5n3ou4] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-nsgb5n3ou4] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-nsgb5n3ou4] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-nsgb5n3ou4] { opacity: 1; }

.form-section[b-nsgb5n3ou4] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-nsgb5n3ou4] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-nsgb5n3ou4] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-nsgb5n3ou4] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-nsgb5n3ou4] { display: flex; flex-direction: column; }
.form-group-wide[b-nsgb5n3ou4] { grid-column: span 2; }
.form-label[b-nsgb5n3ou4] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-nsgb5n3ou4] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-nsgb5n3ou4] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-nsgb5n3ou4]::placeholder { color: var(--color-gray-400); }
.btn-action[b-nsgb5n3ou4] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-nsgb5n3ou4] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-nsgb5n3ou4] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-nsgb5n3ou4] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-nsgb5n3ou4] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-nsgb5n3ou4] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-nsgb5n3ou4] { grid-template-columns: 1fr; }
    .form-group-wide[b-nsgb5n3ou4] { grid-column: span 1; }
}

/* Checkbox "Predefinito" */
.form-check-group[b-nsgb5n3ou4] { justify-content: flex-end; }
.form-check[b-nsgb5n3ou4] { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); color: var(--color-gray-700); cursor: pointer; }
.form-check-input[b-nsgb5n3ou4] { width: 16px; height: 16px; cursor: pointer; }
/* /Components/Pages/Production/PluEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-nxzcbs9tzs] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-nxzcbs9tzs] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-nxzcbs9tzs] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-nxzcbs9tzs] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-nxzcbs9tzs] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-nxzcbs9tzs] { opacity: 1; }

.loading-state[b-nxzcbs9tzs] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-nxzcbs9tzs] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-nxzcbs9tzs] { opacity: 0.4; }
.empty-state-text[b-nxzcbs9tzs] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-nxzcbs9tzs] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-nxzcbs9tzs] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-nxzcbs9tzs] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-nxzcbs9tzs] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-nxzcbs9tzs] { display: flex; flex-direction: column; }
.form-group-wide[b-nxzcbs9tzs] { grid-column: span 2; }
.form-label[b-nxzcbs9tzs] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-nxzcbs9tzs] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-nxzcbs9tzs] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-nxzcbs9tzs]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-nxzcbs9tzs] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-nxzcbs9tzs] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-nxzcbs9tzs] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-nxzcbs9tzs] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-nxzcbs9tzs] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-nxzcbs9tzs] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-nxzcbs9tzs] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-nxzcbs9tzs] { grid-template-columns: 1fr; }
    .form-group-wide[b-nxzcbs9tzs] { grid-column: span 1; }
}

/* Checkbox "Predefinito" */
.form-check-group[b-nxzcbs9tzs] { justify-content: flex-end; }
.form-check[b-nxzcbs9tzs] { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); color: var(--color-gray-700); cursor: pointer; }
.form-check-input[b-nxzcbs9tzs] { width: 16px; height: 16px; cursor: pointer; }
/* /Components/Pages/Production/PluList.razor.rz.scp.css */
/* ===========================
   PluList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-ac6a7qr8oz] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-ac6a7qr8oz] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-ac6a7qr8oz] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-ac6a7qr8oz] { background-color: var(--color-action-active); }

.alert-bar[b-ac6a7qr8oz] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-ac6a7qr8oz] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-ac6a7qr8oz] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-ac6a7qr8oz] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-ac6a7qr8oz] { opacity: 1; }

.search-bar[b-ac6a7qr8oz] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-ac6a7qr8oz] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-ac6a7qr8oz] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-ac6a7qr8oz] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-ac6a7qr8oz]::placeholder { color: var(--text-muted); }
.search-clear[b-ac6a7qr8oz] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-ac6a7qr8oz] { color: var(--color-primary); }
.search-count[b-ac6a7qr8oz] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-ac6a7qr8oz] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-ac6a7qr8oz] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-ac6a7qr8oz] { opacity: 0.4; }
.empty-state-text[b-ac6a7qr8oz] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-ac6a7qr8oz] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-ac6a7qr8oz] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-ac6a7qr8oz] { border-bottom: none; }
.item-row:hover[b-ac6a7qr8oz] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-ac6a7qr8oz] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-ac6a7qr8oz] { flex: 1; min-width: 0; }
.item-name[b-ac6a7qr8oz] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-ac6a7qr8oz] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-ac6a7qr8oz] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-ac6a7qr8oz] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-ac6a7qr8oz] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-ac6a7qr8oz] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-ac6a7qr8oz] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-ac6a7qr8oz] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-ac6a7qr8oz] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-ac6a7qr8oz] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-ac6a7qr8oz] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-ac6a7qr8oz] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-ac6a7qr8oz] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-ac6a7qr8oz] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-ac6a7qr8oz] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-ac6a7qr8oz] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-ac6a7qr8oz] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-ac6a7qr8oz] { flex-wrap: wrap; }
    .item-actions[b-ac6a7qr8oz] { order: 6; margin-left: auto; }
}

/* Badge "Predefinito" */
.item-badges[b-ac6a7qr8oz] { flex-shrink: 0; display: flex; gap: var(--space-2); }
.badge[b-ac6a7qr8oz] { display: inline-flex; align-items: center; padding: 3px var(--space-2); font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); letter-spacing: 0.3px; text-transform: uppercase; }
.badge-primary[b-ac6a7qr8oz] { background-color: rgba(11, 36, 62, 0.1); color: var(--color-primary); }

.meta-separator[b-ac6a7qr8oz] { color: var(--color-gray-300); }
/* /Components/Pages/Production/ProductionCustomerCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-sq06gkhj32] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-sq06gkhj32] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-sq06gkhj32] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-sq06gkhj32] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-sq06gkhj32] { opacity: 1; }

.form-section[b-sq06gkhj32] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-sq06gkhj32] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-sq06gkhj32] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-sq06gkhj32] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-sq06gkhj32] { display: flex; flex-direction: column; }
.form-group-wide[b-sq06gkhj32] { grid-column: span 2; }
.form-label[b-sq06gkhj32] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-sq06gkhj32] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-sq06gkhj32] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-sq06gkhj32]::placeholder { color: var(--color-gray-400); }
.btn-action[b-sq06gkhj32] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-sq06gkhj32] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-sq06gkhj32] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-sq06gkhj32] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-sq06gkhj32] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-sq06gkhj32] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-sq06gkhj32] { grid-template-columns: 1fr; }
    .form-group-wide[b-sq06gkhj32] { grid-column: span 1; }
}

/* Checkbox "Predefinito" */
.form-check-group[b-sq06gkhj32] { justify-content: flex-end; }
.form-check[b-sq06gkhj32] { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); color: var(--color-gray-700); cursor: pointer; }
.form-check-input[b-sq06gkhj32] { width: 16px; height: 16px; cursor: pointer; }
/* /Components/Pages/Production/ProductionCustomerEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-mp8ky861gq] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-mp8ky861gq] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-mp8ky861gq] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-mp8ky861gq] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-mp8ky861gq] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-mp8ky861gq] { opacity: 1; }

.loading-state[b-mp8ky861gq] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-mp8ky861gq] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-mp8ky861gq] { opacity: 0.4; }
.empty-state-text[b-mp8ky861gq] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-mp8ky861gq] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-mp8ky861gq] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-mp8ky861gq] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-mp8ky861gq] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-mp8ky861gq] { display: flex; flex-direction: column; }
.form-group-wide[b-mp8ky861gq] { grid-column: span 2; }
.form-label[b-mp8ky861gq] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-mp8ky861gq] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-mp8ky861gq] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-mp8ky861gq]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-mp8ky861gq] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-mp8ky861gq] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-mp8ky861gq] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-mp8ky861gq] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-mp8ky861gq] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-mp8ky861gq] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-mp8ky861gq] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-mp8ky861gq] { grid-template-columns: 1fr; }
    .form-group-wide[b-mp8ky861gq] { grid-column: span 1; }
}

/* Checkbox "Predefinito" */
.form-check-group[b-mp8ky861gq] { justify-content: flex-end; }
.form-check[b-mp8ky861gq] { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); color: var(--color-gray-700); cursor: pointer; }
.form-check-input[b-mp8ky861gq] { width: 16px; height: 16px; cursor: pointer; }
/* /Components/Pages/Production/ProductionCustomerList.razor.rz.scp.css */
/* ===========================
   ProductionCustomerList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-axwbu3925d] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-axwbu3925d] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-axwbu3925d] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-axwbu3925d] { background-color: var(--color-action-active); }

.alert-bar[b-axwbu3925d] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-axwbu3925d] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-axwbu3925d] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-axwbu3925d] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-axwbu3925d] { opacity: 1; }

.search-bar[b-axwbu3925d] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-axwbu3925d] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-axwbu3925d] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-axwbu3925d] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-axwbu3925d]::placeholder { color: var(--text-muted); }
.search-clear[b-axwbu3925d] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-axwbu3925d] { color: var(--color-primary); }
.search-count[b-axwbu3925d] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-axwbu3925d] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-axwbu3925d] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-axwbu3925d] { opacity: 0.4; }
.empty-state-text[b-axwbu3925d] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-axwbu3925d] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-axwbu3925d] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-axwbu3925d] { border-bottom: none; }
.item-row:hover[b-axwbu3925d] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-axwbu3925d] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-axwbu3925d] { flex: 1; min-width: 0; }
.item-name[b-axwbu3925d] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-axwbu3925d] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-axwbu3925d] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-axwbu3925d] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-axwbu3925d] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-axwbu3925d] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-axwbu3925d] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-axwbu3925d] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-axwbu3925d] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-axwbu3925d] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-axwbu3925d] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-axwbu3925d] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-axwbu3925d] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-axwbu3925d] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-axwbu3925d] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-axwbu3925d] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-axwbu3925d] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-axwbu3925d] { flex-wrap: wrap; }
    .item-actions[b-axwbu3925d] { order: 6; margin-left: auto; }
}

/* Badge "Predefinito" */
.item-badges[b-axwbu3925d] { flex-shrink: 0; display: flex; gap: var(--space-2); }
.badge[b-axwbu3925d] { display: inline-flex; align-items: center; padding: 3px var(--space-2); font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); letter-spacing: 0.3px; text-transform: uppercase; }
.badge-primary[b-axwbu3925d] { background-color: rgba(11, 36, 62, 0.1); color: var(--color-primary); }
/* /Components/Pages/Production/ProductionDepartmentCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-2fmsxccpbq] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-2fmsxccpbq] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-2fmsxccpbq] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-2fmsxccpbq] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-2fmsxccpbq] { opacity: 1; }

.form-section[b-2fmsxccpbq] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-2fmsxccpbq] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-2fmsxccpbq] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-2fmsxccpbq] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-2fmsxccpbq] { display: flex; flex-direction: column; }
.form-group-wide[b-2fmsxccpbq] { grid-column: span 2; }
.form-label[b-2fmsxccpbq] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-2fmsxccpbq] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-2fmsxccpbq] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-2fmsxccpbq]::placeholder { color: var(--color-gray-400); }
.btn-action[b-2fmsxccpbq] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-2fmsxccpbq] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-2fmsxccpbq] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-2fmsxccpbq] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-2fmsxccpbq] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-2fmsxccpbq] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-2fmsxccpbq] { grid-template-columns: 1fr; }
    .form-group-wide[b-2fmsxccpbq] { grid-column: span 1; }
}
/* /Components/Pages/Production/ProductionDepartmentEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-sfwxhd36m9] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-sfwxhd36m9] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-sfwxhd36m9] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-sfwxhd36m9] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-sfwxhd36m9] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-sfwxhd36m9] { opacity: 1; }

.loading-state[b-sfwxhd36m9] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-sfwxhd36m9] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-sfwxhd36m9] { opacity: 0.4; }
.empty-state-text[b-sfwxhd36m9] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-sfwxhd36m9] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-sfwxhd36m9] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-sfwxhd36m9] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-sfwxhd36m9] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-sfwxhd36m9] { display: flex; flex-direction: column; }
.form-group-wide[b-sfwxhd36m9] { grid-column: span 2; }
.form-label[b-sfwxhd36m9] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-sfwxhd36m9] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-sfwxhd36m9] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-sfwxhd36m9]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-sfwxhd36m9] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-sfwxhd36m9] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-sfwxhd36m9] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-sfwxhd36m9] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-sfwxhd36m9] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-sfwxhd36m9] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-sfwxhd36m9] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-sfwxhd36m9] { grid-template-columns: 1fr; }
    .form-group-wide[b-sfwxhd36m9] { grid-column: span 1; }
}
/* /Components/Pages/Production/ProductionDepartmentList.razor.rz.scp.css */
/* ===========================
   ProductGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-ecqqubzwa2] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-ecqqubzwa2] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-ecqqubzwa2] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-ecqqubzwa2] { background-color: var(--color-action-active); }

.alert-bar[b-ecqqubzwa2] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-ecqqubzwa2] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-ecqqubzwa2] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-ecqqubzwa2] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-ecqqubzwa2] { opacity: 1; }

.search-bar[b-ecqqubzwa2] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-ecqqubzwa2] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-ecqqubzwa2] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-ecqqubzwa2] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-ecqqubzwa2]::placeholder { color: var(--text-muted); }
.search-clear[b-ecqqubzwa2] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-ecqqubzwa2] { color: var(--color-primary); }
.search-count[b-ecqqubzwa2] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-ecqqubzwa2] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-ecqqubzwa2] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-ecqqubzwa2] { opacity: 0.4; }
.empty-state-text[b-ecqqubzwa2] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-ecqqubzwa2] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-ecqqubzwa2] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-ecqqubzwa2] { border-bottom: none; }
.item-row:hover[b-ecqqubzwa2] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-ecqqubzwa2] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-ecqqubzwa2] { flex: 1; min-width: 0; }
.item-name[b-ecqqubzwa2] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-ecqqubzwa2] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-ecqqubzwa2] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-ecqqubzwa2] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-ecqqubzwa2] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-ecqqubzwa2] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-ecqqubzwa2] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-ecqqubzwa2] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-ecqqubzwa2] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-ecqqubzwa2] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-ecqqubzwa2] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-ecqqubzwa2] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-ecqqubzwa2] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-ecqqubzwa2] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-ecqqubzwa2] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-ecqqubzwa2] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-ecqqubzwa2] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-ecqqubzwa2] { flex-wrap: wrap; }
    .item-actions[b-ecqqubzwa2] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Production/ProductionLaneCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-32zflhwnii] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-32zflhwnii] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-32zflhwnii] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-32zflhwnii] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-32zflhwnii] { opacity: 1; }

.form-section[b-32zflhwnii] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-32zflhwnii] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-32zflhwnii] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-32zflhwnii] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-32zflhwnii] { display: flex; flex-direction: column; }
.form-group-wide[b-32zflhwnii] { grid-column: span 2; }
.form-label[b-32zflhwnii] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-32zflhwnii] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-32zflhwnii] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-32zflhwnii]::placeholder { color: var(--color-gray-400); }
.btn-action[b-32zflhwnii] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-32zflhwnii] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-32zflhwnii] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-32zflhwnii] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-32zflhwnii] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-32zflhwnii] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-32zflhwnii] { grid-template-columns: 1fr; }
    .form-group-wide[b-32zflhwnii] { grid-column: span 1; }
}
/* /Components/Pages/Production/ProductionLaneEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-ljbt3kdie8] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-ljbt3kdie8] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-ljbt3kdie8] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-ljbt3kdie8] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-ljbt3kdie8] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-ljbt3kdie8] { opacity: 1; }

.loading-state[b-ljbt3kdie8] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-ljbt3kdie8] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-ljbt3kdie8] { opacity: 0.4; }
.empty-state-text[b-ljbt3kdie8] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-ljbt3kdie8] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-ljbt3kdie8] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-ljbt3kdie8] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-ljbt3kdie8] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-ljbt3kdie8] { display: flex; flex-direction: column; }
.form-group-wide[b-ljbt3kdie8] { grid-column: span 2; }
.form-label[b-ljbt3kdie8] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-ljbt3kdie8] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-ljbt3kdie8] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-ljbt3kdie8]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-ljbt3kdie8] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-ljbt3kdie8] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-ljbt3kdie8] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-ljbt3kdie8] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-ljbt3kdie8] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-ljbt3kdie8] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-ljbt3kdie8] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-ljbt3kdie8] { grid-template-columns: 1fr; }
    .form-group-wide[b-ljbt3kdie8] { grid-column: span 1; }
}
/* /Components/Pages/Production/ProductionLaneList.razor.rz.scp.css */
/* ===========================
   ProductGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-66ximl9ftc] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-66ximl9ftc] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-66ximl9ftc] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-66ximl9ftc] { background-color: var(--color-action-active); }

.alert-bar[b-66ximl9ftc] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-66ximl9ftc] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-66ximl9ftc] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-66ximl9ftc] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-66ximl9ftc] { opacity: 1; }

.search-bar[b-66ximl9ftc] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-66ximl9ftc] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-66ximl9ftc] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-66ximl9ftc] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-66ximl9ftc]::placeholder { color: var(--text-muted); }
.search-clear[b-66ximl9ftc] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-66ximl9ftc] { color: var(--color-primary); }
.search-count[b-66ximl9ftc] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-66ximl9ftc] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-66ximl9ftc] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-66ximl9ftc] { opacity: 0.4; }
.empty-state-text[b-66ximl9ftc] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-66ximl9ftc] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-66ximl9ftc] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-66ximl9ftc] { border-bottom: none; }
.item-row:hover[b-66ximl9ftc] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-66ximl9ftc] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-66ximl9ftc] { flex: 1; min-width: 0; }
.item-name[b-66ximl9ftc] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-66ximl9ftc] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-66ximl9ftc] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-66ximl9ftc] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-66ximl9ftc] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-66ximl9ftc] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-66ximl9ftc] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-66ximl9ftc] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-66ximl9ftc] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-66ximl9ftc] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-66ximl9ftc] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-66ximl9ftc] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-66ximl9ftc] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-66ximl9ftc] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-66ximl9ftc] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-66ximl9ftc] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-66ximl9ftc] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-66ximl9ftc] { flex-wrap: wrap; }
    .item-actions[b-66ximl9ftc] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Production/ProductionSupplierCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-40xuwhdsj5] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-40xuwhdsj5] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-40xuwhdsj5] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-40xuwhdsj5] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-40xuwhdsj5] { opacity: 1; }

.form-section[b-40xuwhdsj5] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-40xuwhdsj5] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-40xuwhdsj5] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-40xuwhdsj5] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-40xuwhdsj5] { display: flex; flex-direction: column; }
.form-group-wide[b-40xuwhdsj5] { grid-column: span 2; }
.form-label[b-40xuwhdsj5] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-40xuwhdsj5] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-40xuwhdsj5] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-40xuwhdsj5]::placeholder { color: var(--color-gray-400); }
.btn-action[b-40xuwhdsj5] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-40xuwhdsj5] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-40xuwhdsj5] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-40xuwhdsj5] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-40xuwhdsj5] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-40xuwhdsj5] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-40xuwhdsj5] { grid-template-columns: 1fr; }
    .form-group-wide[b-40xuwhdsj5] { grid-column: span 1; }
}

/* Checkbox "Predefinito" */
.form-check-group[b-40xuwhdsj5] { justify-content: flex-end; }
.form-check[b-40xuwhdsj5] { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); color: var(--color-gray-700); cursor: pointer; }
.form-check-input[b-40xuwhdsj5] { width: 16px; height: 16px; cursor: pointer; }
/* /Components/Pages/Production/ProductionSupplierEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-6mtrhmzpfi] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-6mtrhmzpfi] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-6mtrhmzpfi] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-6mtrhmzpfi] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-6mtrhmzpfi] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-6mtrhmzpfi] { opacity: 1; }

.loading-state[b-6mtrhmzpfi] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-6mtrhmzpfi] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-6mtrhmzpfi] { opacity: 0.4; }
.empty-state-text[b-6mtrhmzpfi] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-6mtrhmzpfi] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-6mtrhmzpfi] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-6mtrhmzpfi] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-6mtrhmzpfi] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-6mtrhmzpfi] { display: flex; flex-direction: column; }
.form-group-wide[b-6mtrhmzpfi] { grid-column: span 2; }
.form-label[b-6mtrhmzpfi] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-6mtrhmzpfi] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-6mtrhmzpfi] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-6mtrhmzpfi]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-6mtrhmzpfi] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-6mtrhmzpfi] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-6mtrhmzpfi] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-6mtrhmzpfi] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-6mtrhmzpfi] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-6mtrhmzpfi] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-6mtrhmzpfi] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-6mtrhmzpfi] { grid-template-columns: 1fr; }
    .form-group-wide[b-6mtrhmzpfi] { grid-column: span 1; }
}

/* Checkbox "Predefinito" */
.form-check-group[b-6mtrhmzpfi] { justify-content: flex-end; }
.form-check[b-6mtrhmzpfi] { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); color: var(--color-gray-700); cursor: pointer; }
.form-check-input[b-6mtrhmzpfi] { width: 16px; height: 16px; cursor: pointer; }
/* /Components/Pages/Production/ProductionSupplierList.razor.rz.scp.css */
/* ===========================
   ProductionSupplierList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-6vp3c432i2] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-6vp3c432i2] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-6vp3c432i2] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-6vp3c432i2] { background-color: var(--color-action-active); }

.alert-bar[b-6vp3c432i2] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-6vp3c432i2] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-6vp3c432i2] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-6vp3c432i2] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-6vp3c432i2] { opacity: 1; }

.search-bar[b-6vp3c432i2] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-6vp3c432i2] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-6vp3c432i2] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-6vp3c432i2] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-6vp3c432i2]::placeholder { color: var(--text-muted); }
.search-clear[b-6vp3c432i2] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-6vp3c432i2] { color: var(--color-primary); }
.search-count[b-6vp3c432i2] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-6vp3c432i2] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-6vp3c432i2] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-6vp3c432i2] { opacity: 0.4; }
.empty-state-text[b-6vp3c432i2] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-6vp3c432i2] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-6vp3c432i2] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-6vp3c432i2] { border-bottom: none; }
.item-row:hover[b-6vp3c432i2] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-6vp3c432i2] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-6vp3c432i2] { flex: 1; min-width: 0; }
.item-name[b-6vp3c432i2] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-6vp3c432i2] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-6vp3c432i2] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-6vp3c432i2] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-6vp3c432i2] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-6vp3c432i2] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-6vp3c432i2] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-6vp3c432i2] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-6vp3c432i2] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-6vp3c432i2] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-6vp3c432i2] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-6vp3c432i2] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-6vp3c432i2] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-6vp3c432i2] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-6vp3c432i2] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-6vp3c432i2] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-6vp3c432i2] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-6vp3c432i2] { flex-wrap: wrap; }
    .item-actions[b-6vp3c432i2] { order: 6; margin-left: auto; }
}

/* Badge "Predefinito" */
.item-badges[b-6vp3c432i2] { flex-shrink: 0; display: flex; gap: var(--space-2); }
.badge[b-6vp3c432i2] { display: inline-flex; align-items: center; padding: 3px var(--space-2); font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); letter-spacing: 0.3px; text-transform: uppercase; }
.badge-primary[b-6vp3c432i2] { background-color: rgba(11, 36, 62, 0.1); color: var(--color-primary); }
/* /Components/Pages/Production/RecipeCreate.razor.rz.scp.css */
/* ===========================
   RecipeCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-az0h5274l3] { max-width: 1280px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-az0h5274l3] { font-family: var(--font-mono); color: var(--color-primary); opacity: 0.7; }

.alert-bar[b-az0h5274l3] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-az0h5274l3] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
/* Conflitto di concorrenza: non è un errore da riprovare, è uno stato da risolvere ricaricando. */
.alert-bar-close[b-az0h5274l3] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-az0h5274l3] { opacity: 1; }

/* Contenuto dello HeaderSlot: è authored qui, quindi va stilato qui. */
.form-group[b-az0h5274l3] { display: flex; flex-direction: column; }
.form-label[b-az0h5274l3] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-az0h5274l3] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); }
.form-control:focus[b-az0h5274l3] { border-color: var(--color-primary); outline: none; box-shadow: none; }
[b-az0h5274l3] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }
.form-control-static[b-az0h5274l3] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); font-family: var(--font-mono); color: var(--color-primary); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); }
.btn-action[b-az0h5274l3] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-az0h5274l3] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-az0h5274l3] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-az0h5274l3] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); cursor: pointer; }
.btn-outline-primary:hover[b-az0h5274l3] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }
.btn-sm[b-az0h5274l3] { padding: var(--space-1) var(--space-3); font-size: var(--font-size-xs); }

@media (max-width: 1024px) {
}
/* /Components/Pages/Production/RecipeEdit.razor.rz.scp.css */
/* ===========================
   RecipeEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-hi66diwzlg] { max-width: 1280px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-hi66diwzlg] { font-family: var(--font-mono); color: var(--color-primary); opacity: 0.7; }

.alert-bar[b-hi66diwzlg] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-hi66diwzlg] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
/* Conflitto di concorrenza: non è un errore da riprovare, è uno stato da risolvere ricaricando. */
.alert-bar-conflict[b-hi66diwzlg] { background-color: #fff4e5; border-left-color: var(--color-warning, #ed6c02); color: #663c00; }
.alert-bar-conflict span[b-hi66diwzlg] { flex: 1; }
.alert-bar-close[b-hi66diwzlg] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-hi66diwzlg] { opacity: 1; }

.loading-state[b-hi66diwzlg] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-hi66diwzlg] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state-text[b-hi66diwzlg] { font-size: var(--font-size-base); margin: 0; }

/* Contenuto dello HeaderSlot: è authored qui, quindi va stilato qui. */
.form-group[b-hi66diwzlg] { display: flex; flex-direction: column; }
.form-label[b-hi66diwzlg] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control-static[b-hi66diwzlg] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); font-family: var(--font-mono); color: var(--color-primary); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); }
.btn-action[b-hi66diwzlg] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-hi66diwzlg] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-hi66diwzlg] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-hi66diwzlg] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); cursor: pointer; }
.btn-outline-primary:hover[b-hi66diwzlg] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }
.btn-sm[b-hi66diwzlg] { padding: var(--space-1) var(--space-3); font-size: var(--font-size-xs); }

@media (max-width: 1024px) {
}
/* /Components/Pages/Production/RecipeFormBody.razor.rz.scp.css */
/* ===========================
   RecipeFormBody - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* ---- Tab ---- */
.tab-bar[b-1chn4dvfwg] { display: flex; gap: 0; margin-bottom: var(--space-5); border-bottom: var(--border-width-thin) solid var(--border-color-light); overflow-x: auto; }
.tab-item[b-1chn4dvfwg] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-5); background: transparent; border: none; border-bottom: var(--border-width-thick) solid transparent; font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; cursor: pointer; white-space: nowrap; transition: color var(--transition-fast) var(--transition-ease), border-color var(--transition-fast) var(--transition-ease); }
.tab-item:hover[b-1chn4dvfwg] { color: var(--color-primary); }
.tab-item.active[b-1chn4dvfwg] { color: var(--color-primary); border-bottom-color: var(--color-action); }
.tab-count[b-1chn4dvfwg] { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 18px; padding: 0 var(--space-1); background-color: var(--color-gray-100); color: var(--color-primary); font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); }
.tab-item.active .tab-count[b-1chn4dvfwg] { background-color: var(--color-primary); color: var(--text-on-primary); }

.tab-panel[b-1chn4dvfwg] { display: block; }
.tab-panel-hidden[b-1chn4dvfwg] { display: none; }

/* ---- Sezioni e griglia form ---- */
.form-section[b-1chn4dvfwg] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-1chn4dvfwg] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-header[b-1chn4dvfwg] { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-4); }
.section-header .section-title[b-1chn4dvfwg] { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.section-header .btn[b-1chn4dvfwg] { display: inline-flex; align-items: center; gap: var(--space-2); cursor: pointer; text-decoration: none; }

.form-grid[b-1chn4dvfwg] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-grid-compact[b-1chn4dvfwg] { gap: var(--space-3); }
.form-group[b-1chn4dvfwg] { display: flex; flex-direction: column; }
.form-group-wide[b-1chn4dvfwg] { grid-column: span 2; }
.form-group-check[b-1chn4dvfwg] { justify-content: flex-end; padding-bottom: var(--space-1); }
.form-label[b-1chn4dvfwg] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-1chn4dvfwg] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-1chn4dvfwg] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control:disabled[b-1chn4dvfwg] { background-color: var(--color-gray-100); color: var(--color-gray-400); }
.form-textarea[b-1chn4dvfwg] { font-family: inherit; line-height: var(--line-height-relaxed); resize: vertical; }
.form-hint[b-1chn4dvfwg] { font-size: var(--font-size-xs); color: var(--text-muted); margin-top: 2px; }
.check-label[b-1chn4dvfwg] { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); color: var(--color-gray-700); cursor: pointer; }
.form-check[b-1chn4dvfwg] { width: 16px; height: 16px; }

/* ---- Card di dettaglio (fasi e componenti) ---- */
.detail-card[b-1chn4dvfwg] { margin-bottom: var(--space-4); padding: var(--space-4); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--bg-secondary); }
.detail-card:last-child[b-1chn4dvfwg] { margin-bottom: 0; }
.detail-card-source[b-1chn4dvfwg] { border-left: var(--border-width-thick) solid var(--color-action); }
.detail-card-head[b-1chn4dvfwg] { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-3); padding-bottom: var(--space-2); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.detail-card-title[b-1chn4dvfwg] { flex: 1; min-width: 0; font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.detail-card-note[b-1chn4dvfwg] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); }
.detail-card-extra[b-1chn4dvfwg] { margin-top: var(--space-3); padding-top: var(--space-3); border-top: var(--border-width-thin) dashed var(--border-color-light); }
.detail-prg[b-1chn4dvfwg] { flex-shrink: 0; min-width: 28px; font-family: var(--font-mono); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-align: center; }
.detail-empty[b-1chn4dvfwg] { padding: var(--space-4); font-size: var(--font-size-sm); color: var(--text-muted); text-align: center; border: var(--border-width-thin) dashed var(--border-color-light); }

/* ---- Griglia tabellare (controlli QA) ---- */
.detail-grid[b-1chn4dvfwg] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.detail-grid:empty[b-1chn4dvfwg] { display: none; }
.detail-header[b-1chn4dvfwg], .detail-row[b-1chn4dvfwg] { display: grid; gap: var(--space-2); align-items: center; padding: var(--space-2) var(--space-3); }
.detail-grid-qagroup .detail-header[b-1chn4dvfwg], .detail-grid-qagroup .detail-row[b-1chn4dvfwg] { grid-template-columns: 100px 1fr 100px 40px; }
.detail-grid-qafield .detail-header[b-1chn4dvfwg], .detail-grid-qafield .detail-row[b-1chn4dvfwg] { grid-template-columns: 90px 1.4fr 1.2fr 1.2fr 1.2fr 1fr 60px 80px 40px; }
.detail-header[b-1chn4dvfwg] { background-color: var(--color-gray-100); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.detail-header span[b-1chn4dvfwg] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; }
.detail-row[b-1chn4dvfwg] { border-bottom: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); }
.detail-row:last-child[b-1chn4dvfwg] { border-bottom: none; }

/* ---- Pulsanti di riga ---- */
.btn-remove-row[b-1chn4dvfwg], .btn-expand[b-1chn4dvfwg] { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); font-size: var(--font-size-base); line-height: 1; flex-shrink: 0; }
.btn-remove-row:hover[b-1chn4dvfwg] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }
.btn-expand:hover[b-1chn4dvfwg] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); }
.btn-action[b-1chn4dvfwg] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); }
.btn-action:hover[b-1chn4dvfwg] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-1chn4dvfwg] { opacity: 0.5; cursor: not-allowed; }
.btn-sm[b-1chn4dvfwg] { padding: var(--space-1) var(--space-3); font-size: var(--font-size-xs); }

/* ---- Badge e allergeni ---- */
.badge[b-1chn4dvfwg] { flex-shrink: 0; padding: 1px var(--space-2); font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.3px; }
.badge-source[b-1chn4dvfwg] { background-color: rgba(178, 34, 34, 0.08); color: var(--color-action); border: var(--border-width-thin) solid rgba(178, 34, 34, 0.25); }
.allergen-list[b-1chn4dvfwg] { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-3); }
.allergen-chip[b-1chn4dvfwg] { padding: var(--space-1) var(--space-3); background-color: var(--color-gray-100); color: var(--color-primary); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); }

[b-1chn4dvfwg] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 1024px) {
    .form-grid[b-1chn4dvfwg] { grid-template-columns: 1fr; }
    .form-group-wide[b-1chn4dvfwg] { grid-column: span 1; }
    .detail-header[b-1chn4dvfwg] { display: none; }
    .detail-grid-qagroup .detail-row[b-1chn4dvfwg], .detail-grid-qafield .detail-row[b-1chn4dvfwg] { grid-template-columns: 1fr 1fr; }
}
/* /Components/Pages/Production/RecipeList.razor.rz.scp.css */
/* ===========================
   RecipeList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-k7ynbabk3l] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-k7ynbabk3l] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-k7ynbabk3l] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-k7ynbabk3l] { background-color: var(--color-action-active); }

.alert-bar[b-k7ynbabk3l] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-k7ynbabk3l] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-k7ynbabk3l] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-k7ynbabk3l] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-k7ynbabk3l] { opacity: 1; }

.search-bar[b-k7ynbabk3l] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-k7ynbabk3l] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-k7ynbabk3l] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-k7ynbabk3l] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-k7ynbabk3l]::placeholder { color: var(--text-muted); }
.search-clear[b-k7ynbabk3l] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-k7ynbabk3l] { color: var(--color-primary); }
.search-count[b-k7ynbabk3l] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-k7ynbabk3l] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-k7ynbabk3l] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-k7ynbabk3l] { opacity: 0.4; }
.empty-state-text[b-k7ynbabk3l] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-k7ynbabk3l] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-k7ynbabk3l] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-k7ynbabk3l] { border-bottom: none; }
.item-row:hover[b-k7ynbabk3l] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-k7ynbabk3l] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-k7ynbabk3l] { flex: 1; min-width: 0; }
.item-name[b-k7ynbabk3l] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-k7ynbabk3l] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-k7ynbabk3l] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }
.item-detail[b-k7ynbabk3l] { margin-left: var(--space-2); }

.item-actions[b-k7ynbabk3l] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-k7ynbabk3l] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-k7ynbabk3l] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-k7ynbabk3l] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-k7ynbabk3l] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-k7ynbabk3l] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-k7ynbabk3l] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-k7ynbabk3l] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-k7ynbabk3l] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-k7ynbabk3l] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-k7ynbabk3l] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-k7ynbabk3l] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-k7ynbabk3l] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-k7ynbabk3l] { background-color: var(--color-primary); color: var(--text-on-primary); }
.btn-sm[b-k7ynbabk3l] { padding: var(--space-1) var(--space-3); font-size: var(--font-size-xs); }

@media (max-width: 768px) {
    .item-row[b-k7ynbabk3l] { flex-wrap: wrap; }
    .item-actions[b-k7ynbabk3l] { order: 6; margin-left: auto; }
}

/* ---- Specifiche RecipeList ---- */
.item-row-obsolete .item-name[b-k7ynbabk3l],
.item-row-obsolete .item-meta[b-k7ynbabk3l] { opacity: 0.55; }
.item-unit[b-k7ynbabk3l] { font-family: var(--font-mono); opacity: 0.75; margin-left: 2px; }

.badge[b-k7ynbabk3l] { display: inline-block; margin-left: var(--space-2); padding: 1px var(--space-2); font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.3px; vertical-align: middle; }
.badge-muted[b-k7ynbabk3l] { background-color: var(--color-gray-100); color: var(--text-muted); border: var(--border-width-thin) solid var(--border-color-light); }
.badge-info[b-k7ynbabk3l] { background-color: rgba(11, 36, 62, 0.06); color: var(--color-primary); border: var(--border-width-thin) solid rgba(11, 36, 62, 0.2); }
/* /Components/Pages/Production/Reports/ProductionWorkCoverage.razor.rz.scp.css */
/* ===========================
   ProductionWorkCoverage - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-ruxergj96v] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-ruxergj96v] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-ruxergj96v] {
    flex: 1;
}

.page-header-right[b-ruxergj96v] {
    display: flex;
    align-items: flex-start;
    flex-shrink: 0;
}

.page-title[b-ruxergj96v] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-ruxergj96v] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-ruxergj96v] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Filter bar */
.filter-bar[b-ruxergj96v] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-group[b-ruxergj96v] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}

.filter-group-check[b-ruxergj96v] {
    justify-content: center;
    gap: var(--space-2);
}

.filter-label[b-ruxergj96v] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-check[b-ruxergj96v] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    cursor: pointer;
}

.filter-input[b-ruxergj96v] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-ruxergj96v] {
    border-color: var(--color-primary);
}

/* Summary Stats */
.summary-stats[b-ruxergj96v] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-ruxergj96v] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-ruxergj96v] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-ruxergj96v] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Alert Bars */
.alert-bar[b-ruxergj96v] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-ruxergj96v] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-ruxergj96v] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-ruxergj96v] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-ruxergj96v] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-ruxergj96v] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-ruxergj96v] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-ruxergj96v] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-ruxergj96v]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-ruxergj96v] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-ruxergj96v] {
    color: var(--color-primary);
}

.search-count[b-ruxergj96v] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-ruxergj96v],
.empty-state[b-ruxergj96v] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-ruxergj96v] {
    opacity: 0.4;
}

.empty-state-text[b-ruxergj96v] {
    font-size: var(--font-size-base);
    margin: 0;
}

.btn-outline-primary[b-ruxergj96v] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-ruxergj96v] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Report Table */
.report-table-wrapper[b-ruxergj96v] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-ruxergj96v] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
}

.report-table thead[b-ruxergj96v] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-ruxergj96v] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    position: sticky;
    top: 0;
    z-index: 1;
}

.report-table thead th.sortable[b-ruxergj96v] {
    cursor: pointer;
    user-select: none;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table thead th.sortable:hover[b-ruxergj96v] {
    background-color: rgba(255, 255, 255, 0.1);
}

.report-table tbody tr[b-ruxergj96v] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-ruxergj96v] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-ruxergj96v] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table td[b-ruxergj96v] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.col-code[b-ruxergj96v] {
    text-align: left;
}

.col-desc[b-ruxergj96v] {
    text-align: left;
    min-width: 200px;
    max-width: 320px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.col-um[b-ruxergj96v] {
    text-align: center;
}

.col-num[b-ruxergj96v] {
    text-align: right;
}

.cell-code[b-ruxergj96v] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.8;
}

.report-table tbody tr:nth-child(even)[b-ruxergj96v] {
    background-color: var(--bg-secondary);
}

.muted[b-ruxergj96v] {
    color: var(--text-muted);
    font-size: var(--font-size-xs);
}

/* Expandable type rows + child drill-down */
.report-table tbody tr.row-type[b-ruxergj96v] {
    cursor: pointer;
}

.report-table tbody tr.row-type.row-expanded[b-ruxergj96v] {
    background-color: rgba(11, 36, 62, 0.06);
}

.expand-caret[b-ruxergj96v] {
    display: inline-block;
    width: 1em;
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    margin-right: var(--space-1);
}

.report-table tbody tr.row-child-head td[b-ruxergj96v] {
    background-color: var(--bg-primary);
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: var(--font-weight-semibold);
    padding: var(--space-1) var(--space-3) var(--space-1) var(--space-5);
}

.report-table tbody tr.row-child td[b-ruxergj96v] {
    background-color: var(--bg-primary);
    font-size: var(--font-size-xs);
}

.report-table tbody tr.row-child td.col-code[b-ruxergj96v] {
    padding-left: var(--space-5);
}

.report-table tbody tr.row-child-msg td[b-ruxergj96v] {
    background-color: var(--bg-primary);
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    padding: var(--space-2) var(--space-5);
    font-style: italic;
}

.mandatory-dot[b-ruxergj96v] {
    color: var(--color-primary);
    font-size: var(--font-size-sm);
    margin-left: var(--space-1);
}

/* Coverage badges */
.cov-badge[b-ruxergj96v] {
    display: inline-block;
    min-width: 56px;
    padding: 2px var(--space-2);
    border-radius: 3px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-align: center;
}

.cov-high[b-ruxergj96v] {
    background-color: #e6f4ea;
    color: #1e7e34;
}

.cov-mid[b-ruxergj96v] {
    background-color: #fff4e5;
    color: #a15c00;
}

.cov-low[b-ruxergj96v] {
    background-color: #fdeded;
    color: #b02a2a;
}

.cov-none[b-ruxergj96v] {
    background-color: var(--bg-secondary);
    color: var(--text-muted);
}

@media (max-width: 768px) {
    .page-header[b-ruxergj96v] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-ruxergj96v] {
        padding: var(--space-4) var(--space-2);
    }
}
/* /Components/Pages/Production/Reports/SectioningTypeCostCoverage.razor.rz.scp.css */
/* ===========================
   SectioningTypeCostCoverage - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-zgqvmdwg5w] {
    max-width: 1600px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-zgqvmdwg5w] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-zgqvmdwg5w] {
    flex: 1;
}

.page-header-right[b-zgqvmdwg5w] {
    display: flex;
    align-items: flex-start;
    flex-shrink: 0;
}

.page-title[b-zgqvmdwg5w] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-zgqvmdwg5w] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-zgqvmdwg5w] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

.page-subtitle code[b-zgqvmdwg5w],
.method-note code[b-zgqvmdwg5w] {
    font-family: var(--font-family-mono, monospace);
    font-size: 0.9em;
    background-color: var(--bg-secondary);
    padding: 0 3px;
}

/* Filter bar */
.filter-bar[b-zgqvmdwg5w] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-group[b-zgqvmdwg5w] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}

.filter-group-check[b-zgqvmdwg5w] {
    justify-content: center;
    gap: var(--space-2);
}

.filter-label[b-zgqvmdwg5w] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-check[b-zgqvmdwg5w] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    cursor: pointer;
    white-space: nowrap;
}

.filter-input[b-zgqvmdwg5w] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-zgqvmdwg5w] {
    border-color: var(--color-primary);
}

/* Summary Stats */
.summary-stats[b-zgqvmdwg5w] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-zgqvmdwg5w] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-top: var(--border-width-thick) solid var(--border-color-light);
    min-width: 120px;
    flex: 1;
}

.stat-card-clickable[b-zgqvmdwg5w] {
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.stat-card-clickable:hover[b-zgqvmdwg5w] {
    background-color: rgba(11, 36, 62, 0.05);
}

.stat-card-active[b-zgqvmdwg5w] {
    background-color: rgba(11, 36, 62, 0.08);
    box-shadow: inset 0 0 0 1px var(--color-primary);
}

/* Il bordo superiore colorato e' l'unico segnale di gravita' sulle card: il valore
   resta nel colore primario, cosi' i numeri restano confrontabili a colpo d'occhio. */
/* Card di priorita': non e' un filtro, quindi niente cursore a mano. Bordo pieno a
   sinistra per staccarla dalla fila di conteggi per stato che le sta accanto. */
.stat-priority[b-zgqvmdwg5w] {
    border-top-color: #b02a2a;
    border-left: var(--border-width-thick) solid #b02a2a;
}

.stat-priority .stat-value[b-zgqvmdwg5w] {
    color: #b02a2a;
}

.stat-ok[b-zgqvmdwg5w] { border-top-color: #1e7e34; }
.stat-bad[b-zgqvmdwg5w] { border-top-color: #b02a2a; }
.stat-warn[b-zgqvmdwg5w] { border-top-color: #a15c00; }
.stat-info[b-zgqvmdwg5w] { border-top-color: #0b5f8a; }
.stat-muted[b-zgqvmdwg5w] { border-top-color: var(--text-muted); }

.stat-label[b-zgqvmdwg5w] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-zgqvmdwg5w] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Nota metodologica */
.method-note[b-zgqvmdwg5w] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--color-primary);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    line-height: 1.5;
}

.method-note svg[b-zgqvmdwg5w] {
    color: var(--color-primary);
    flex-shrink: 0;
    margin-top: 1px;
}

/* Alert Bars */
.alert-bar[b-zgqvmdwg5w] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-zgqvmdwg5w] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-zgqvmdwg5w] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-zgqvmdwg5w] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-zgqvmdwg5w] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-zgqvmdwg5w] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-zgqvmdwg5w] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-zgqvmdwg5w] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-zgqvmdwg5w]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-zgqvmdwg5w] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-zgqvmdwg5w] {
    color: var(--color-primary);
}

.search-count[b-zgqvmdwg5w] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-zgqvmdwg5w],
.empty-state[b-zgqvmdwg5w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-zgqvmdwg5w] {
    opacity: 0.4;
}

.empty-state-text[b-zgqvmdwg5w] {
    font-size: var(--font-size-base);
    margin: 0;
}

.btn-outline-primary[b-zgqvmdwg5w] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-zgqvmdwg5w] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Report Table */
.report-table-wrapper[b-zgqvmdwg5w] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-zgqvmdwg5w] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
}

.report-table thead[b-zgqvmdwg5w] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-zgqvmdwg5w] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    position: sticky;
    top: 0;
    z-index: 1;
}

.report-table thead th.sortable[b-zgqvmdwg5w] {
    cursor: pointer;
    user-select: none;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table thead th.sortable:hover[b-zgqvmdwg5w] {
    background-color: rgba(255, 255, 255, 0.1);
}

.report-table tbody tr[b-zgqvmdwg5w] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-zgqvmdwg5w] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-zgqvmdwg5w] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table td[b-zgqvmdwg5w] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.col-code[b-zgqvmdwg5w] {
    text-align: left;
}

.col-desc[b-zgqvmdwg5w] {
    text-align: left;
    min-width: 180px;
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.col-status[b-zgqvmdwg5w] {
    text-align: left;
}

.col-bar[b-zgqvmdwg5w] {
    text-align: left;
    width: 120px;
    min-width: 120px;
}

.col-num[b-zgqvmdwg5w] {
    text-align: right;
}

.cell-code[b-zgqvmdwg5w] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.8;
}

.report-table tbody tr:nth-child(even)[b-zgqvmdwg5w] {
    background-color: var(--bg-secondary);
}

.muted[b-zgqvmdwg5w] {
    color: var(--text-muted);
    font-size: var(--font-size-xs);
}

.obsolete-tag[b-zgqvmdwg5w] {
    margin-left: var(--space-2);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-muted);
    border: var(--border-width-thin) solid var(--border-color-light);
    padding: 0 var(--space-1);
}

/* Tipo senza utilizzo negli ultimi 12 mesi: numeri sbiaditi. Il dato resta leggibile,
   ma smette di competere per l'attenzione con le righe che sono in uso adesso. */
.usage-idle[b-zgqvmdwg5w] {
    color: var(--text-muted);
    opacity: 0.65;
}

/* Scostamento da 100: il segno e' il dato, il colore lo rinforza */
.dev-neg[b-zgqvmdwg5w] {
    color: #b02a2a;
    font-weight: var(--font-weight-semibold);
}

.dev-pos[b-zgqvmdwg5w] {
    color: #a15c00;
    font-weight: var(--font-weight-semibold);
}

/* Expandable type rows + child drill-down */
.report-table tbody tr.row-type[b-zgqvmdwg5w] {
    cursor: pointer;
}

.report-table tbody tr.row-type.row-expanded[b-zgqvmdwg5w] {
    background-color: rgba(11, 36, 62, 0.06);
}

.expand-caret[b-zgqvmdwg5w] {
    display: inline-block;
    width: 1em;
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    margin-right: var(--space-1);
}

.report-table tbody tr.row-child-head td[b-zgqvmdwg5w] {
    background-color: var(--bg-primary);
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: var(--font-weight-semibold);
    padding: var(--space-1) var(--space-3) var(--space-1) var(--space-5);
}

.report-table tbody tr.row-child td[b-zgqvmdwg5w] {
    background-color: var(--bg-primary);
    font-size: var(--font-size-xs);
}

.report-table tbody tr.row-child td.col-code[b-zgqvmdwg5w] {
    padding-left: var(--space-5);
}

/* Figlio con quota a zero: e' la riga da guardare quando la somma non torna */
.report-table tbody tr.row-child-zero td[b-zgqvmdwg5w] {
    background-color: #fdf6f6;
}

.report-table tbody tr.row-child-msg td[b-zgqvmdwg5w] {
    background-color: var(--bg-primary);
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    padding: var(--space-2) var(--space-5);
    font-style: italic;
}

.mandatory-dot[b-zgqvmdwg5w] {
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
}

/* ---------------------------------------------------------------
   Badge di stato.
   EXCESS_EXCLUSIVE e' deliberatamente BLU e non rosso/giallo: e'
   un'eccedenza SPIEGATA (figli alternativi), non un difetto. Dargli
   un colore d'allarme produrrebbe la falsa segnalazione che il
   report esiste proprio per evitare.
   --------------------------------------------------------------- */
.st-badge[b-zgqvmdwg5w] {
    display: inline-block;
    min-width: 90px;
    padding: 2px var(--space-2);
    border-radius: 3px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-align: center;
}

.st-ok[b-zgqvmdwg5w] {
    background-color: #e6f4ea;
    color: #1e7e34;
}

.st-not-set[b-zgqvmdwg5w] {
    background-color: #fdeded;
    color: #b02a2a;
}

.st-partial[b-zgqvmdwg5w] {
    background-color: #fff4e5;
    color: #a15c00;
}

.st-excess[b-zgqvmdwg5w] {
    background-color: #fff4e5;
    color: #a15c00;
}

.st-excess-exclusive[b-zgqvmdwg5w] {
    background-color: #e7f1f8;
    color: #0b5f8a;
}

.st-no-children[b-zgqvmdwg5w] {
    background-color: var(--bg-secondary);
    color: var(--text-muted);
}

.st-none[b-zgqvmdwg5w] {
    background-color: var(--bg-secondary);
    color: var(--text-muted);
}

/* ---------------------------------------------------------------
   Barra di ripartizione.
   Il contenitore rappresenta 125%: il riferimento a 100 cade all'80%
   della larghezza ed e' marcato da .cov-bar-mark, cosi' un'eccedenza
   si vede come sconfinamento oltre la tacca invece che come barra
   piena identica a un 100 esatto.
   --------------------------------------------------------------- */
.cov-bar[b-zgqvmdwg5w] {
    position: relative;
    width: 100px;
    height: 10px;
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    overflow: hidden;
}

.cov-bar-child[b-zgqvmdwg5w] {
    width: 80px;
    height: 8px;
}

.cov-bar-fill[b-zgqvmdwg5w] {
    height: 100%;
}

/* Riempimenti: riusano i colori dei badge, applicati come sfondo pieno */
.cov-bar-fill.st-ok[b-zgqvmdwg5w] { background-color: #1e7e34; }
.cov-bar-fill.st-not-set[b-zgqvmdwg5w] { background-color: #d9a0a0; }
.cov-bar-fill.st-partial[b-zgqvmdwg5w] { background-color: #d99a2b; }
.cov-bar-fill.st-excess[b-zgqvmdwg5w] { background-color: #d99a2b; }
.cov-bar-fill.st-excess-exclusive[b-zgqvmdwg5w] { background-color: #0b5f8a; }
.cov-bar-fill.st-no-children[b-zgqvmdwg5w] { background-color: var(--border-color-light); }
.cov-bar-fill.st-none[b-zgqvmdwg5w] { background-color: var(--border-color-light); }

/* Tacca del 100 (80% di 125) */
.cov-bar-mark[b-zgqvmdwg5w] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 80%;
    width: 1px;
    background-color: var(--color-primary);
    opacity: 0.6;
}

@media (max-width: 768px) {
    .page-header[b-zgqvmdwg5w] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-zgqvmdwg5w] {
        padding: var(--space-4) var(--space-2);
    }
}
/* /Components/Pages/Production/Reports/WorkTypeCostCoverage.razor.rz.scp.css */
/* ===========================
   WorkTypeCostCoverage - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-nvw5dlkmqs] {
    max-width: 1600px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-nvw5dlkmqs] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-nvw5dlkmqs] {
    flex: 1;
}

.page-header-right[b-nvw5dlkmqs] {
    display: flex;
    align-items: flex-start;
    flex-shrink: 0;
}

.page-title[b-nvw5dlkmqs] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-nvw5dlkmqs] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-nvw5dlkmqs] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

.page-subtitle code[b-nvw5dlkmqs],
.method-note code[b-nvw5dlkmqs] {
    font-family: var(--font-family-mono, monospace);
    font-size: 0.9em;
    background-color: var(--bg-secondary);
    padding: 0 3px;
}

/* Filter bar */
.filter-bar[b-nvw5dlkmqs] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-group[b-nvw5dlkmqs] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}

.filter-group-check[b-nvw5dlkmqs] {
    justify-content: center;
    gap: var(--space-2);
}

.filter-label[b-nvw5dlkmqs] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-check[b-nvw5dlkmqs] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    cursor: pointer;
    white-space: nowrap;
}

.filter-input[b-nvw5dlkmqs] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-nvw5dlkmqs] {
    border-color: var(--color-primary);
}

/* Summary Stats */
.summary-stats[b-nvw5dlkmqs] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-nvw5dlkmqs] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-top: var(--border-width-thick) solid var(--border-color-light);
    min-width: 120px;
    flex: 1;
}

.stat-card-clickable[b-nvw5dlkmqs] {
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.stat-card-clickable:hover[b-nvw5dlkmqs] {
    background-color: rgba(11, 36, 62, 0.05);
}

.stat-card-active[b-nvw5dlkmqs] {
    background-color: rgba(11, 36, 62, 0.08);
    box-shadow: inset 0 0 0 1px var(--color-primary);
}

/* Il bordo superiore colorato e' l'unico segnale di gravita' sulle card: il valore
   resta nel colore primario, cosi' i numeri restano confrontabili a colpo d'occhio. */
/* Card di priorita': non e' un filtro, quindi niente cursore a mano. Bordo pieno a
   sinistra per staccarla dalla fila di conteggi per stato che le sta accanto. */
.stat-priority[b-nvw5dlkmqs] {
    border-top-color: #b02a2a;
    border-left: var(--border-width-thick) solid #b02a2a;
}

.stat-priority .stat-value[b-nvw5dlkmqs] {
    color: #b02a2a;
}

.stat-ok[b-nvw5dlkmqs] { border-top-color: #1e7e34; }
.stat-bad[b-nvw5dlkmqs] { border-top-color: #b02a2a; }
.stat-warn[b-nvw5dlkmqs] { border-top-color: #a15c00; }
.stat-info[b-nvw5dlkmqs] { border-top-color: #0b5f8a; }
.stat-muted[b-nvw5dlkmqs] { border-top-color: var(--text-muted); }
/* «Altro calcolo»: viola. Non e' ne' un esito buono ne' cattivo — e' un modello di
   costo diverso, e merita un colore che non appartenga alla scala del giudizio. */
.stat-mode[b-nvw5dlkmqs] { border-top-color: #6b3fa0; }

.stat-label[b-nvw5dlkmqs] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-nvw5dlkmqs] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Nota metodologica */
.method-note[b-nvw5dlkmqs] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--color-primary);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    line-height: 1.5;
}

.method-note svg[b-nvw5dlkmqs] {
    color: var(--color-primary);
    flex-shrink: 0;
    margin-top: 1px;
}

/* Alert Bars */
.alert-bar[b-nvw5dlkmqs] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-nvw5dlkmqs] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-nvw5dlkmqs] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-nvw5dlkmqs] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-nvw5dlkmqs] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-nvw5dlkmqs] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-nvw5dlkmqs] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-nvw5dlkmqs] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-nvw5dlkmqs]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-nvw5dlkmqs] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-nvw5dlkmqs] {
    color: var(--color-primary);
}

.search-count[b-nvw5dlkmqs] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-nvw5dlkmqs],
.empty-state[b-nvw5dlkmqs] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-nvw5dlkmqs] {
    opacity: 0.4;
}

.empty-state-text[b-nvw5dlkmqs] {
    font-size: var(--font-size-base);
    margin: 0;
}

.btn-outline-primary[b-nvw5dlkmqs] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-nvw5dlkmqs] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Report Table */
.report-table-wrapper[b-nvw5dlkmqs] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-nvw5dlkmqs] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
}

.report-table thead[b-nvw5dlkmqs] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-nvw5dlkmqs] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    position: sticky;
    top: 0;
    z-index: 1;
}

.report-table thead th.sortable[b-nvw5dlkmqs] {
    cursor: pointer;
    user-select: none;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table thead th.sortable:hover[b-nvw5dlkmqs] {
    background-color: rgba(255, 255, 255, 0.1);
}

.report-table tbody tr[b-nvw5dlkmqs] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-nvw5dlkmqs] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-nvw5dlkmqs] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table td[b-nvw5dlkmqs] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.col-code[b-nvw5dlkmqs] {
    text-align: left;
}

.col-desc[b-nvw5dlkmqs] {
    text-align: left;
    min-width: 180px;
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.col-status[b-nvw5dlkmqs] {
    text-align: left;
}

.col-mode[b-nvw5dlkmqs] {
    text-align: left;
    white-space: nowrap;
}

/* Colonne che su questa riga non significano nulla (tipi non percentuali): restano
   leggibili ma smettono di sembrare un dato da correggere. */
.col-inactive[b-nvw5dlkmqs] {
    color: var(--text-muted);
    opacity: 0.5;
}

/* Colonna che su questa riga E' il dato che conta (il peso sui tipi PSO). */
.col-primary[b-nvw5dlkmqs] {
    color: var(--color-primary);
    font-weight: var(--font-weight-semibold);
}

.col-bar[b-nvw5dlkmqs] {
    text-align: left;
    width: 120px;
    min-width: 120px;
}

.col-num[b-nvw5dlkmqs] {
    text-align: right;
}

.cell-code[b-nvw5dlkmqs] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.8;
}

.report-table tbody tr:nth-child(even)[b-nvw5dlkmqs] {
    background-color: var(--bg-secondary);
}

.muted[b-nvw5dlkmqs] {
    color: var(--text-muted);
    font-size: var(--font-size-xs);
}

.obsolete-tag[b-nvw5dlkmqs] {
    margin-left: var(--space-2);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-muted);
    border: var(--border-width-thin) solid var(--border-color-light);
    padding: 0 var(--space-1);
}

.group-tag[b-nvw5dlkmqs] {
    margin-left: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.65;
    border: var(--border-width-thin) solid var(--border-color-light);
    padding: 0 var(--space-1);
}

/* ---------------------------------------------------------------
   Modalita' di calcolo del costo (ind_modo_calccosto).
   PRC e' l'unica in cui prc_costo_acq governa: le altre hanno un
   colore neutro-viola, fuori dalla scala buono/cattivo, perche' non
   sono un esito ma un modello di costo diverso.
   --------------------------------------------------------------- */
.mode-badge[b-nvw5dlkmqs] {
    display: inline-block;
    min-width: 34px;
    padding: 1px var(--space-1);
    border-radius: 3px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-align: center;
    letter-spacing: 0.3px;
}

.mode-prc[b-nvw5dlkmqs] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
}

.mode-other[b-nvw5dlkmqs] {
    background-color: #f0eaf7;
    color: #6b3fa0;
}

/* Definizione e esecuzione divergono: il costing legge la modalita' dall'esecuzione,
   quindi lo stato calcolato qui potrebbe descrivere un campo che nessuno usa. */
.mode-mismatch[b-nvw5dlkmqs] {
    margin-left: var(--space-1);
    color: #a15c00;
    font-weight: var(--font-weight-bold);
    cursor: help;
}

/* Tipo articolo figlio nel drill-down: PRF vs scarti. */
.kind-badge[b-nvw5dlkmqs] {
    display: inline-block;
    padding: 0 var(--space-1);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.kind-scrap[b-nvw5dlkmqs] {
    color: #a15c00;
    border-color: #e0c9a0;
    background-color: #fff9f0;
}

/* Tipo senza utilizzo negli ultimi 12 mesi: numeri sbiaditi. Il dato resta leggibile,
   ma smette di competere per l'attenzione con le righe che sono in uso adesso. */
.usage-idle[b-nvw5dlkmqs] {
    color: var(--text-muted);
    opacity: 0.65;
}

/* Scostamento da 100: il segno e' il dato, il colore lo rinforza */
.dev-neg[b-nvw5dlkmqs] {
    color: #b02a2a;
    font-weight: var(--font-weight-semibold);
}

.dev-pos[b-nvw5dlkmqs] {
    color: #a15c00;
    font-weight: var(--font-weight-semibold);
}

/* Expandable type rows + child drill-down */
.report-table tbody tr.row-type[b-nvw5dlkmqs] {
    cursor: pointer;
}

.report-table tbody tr.row-type.row-expanded[b-nvw5dlkmqs] {
    background-color: rgba(11, 36, 62, 0.06);
}

.expand-caret[b-nvw5dlkmqs] {
    display: inline-block;
    width: 1em;
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    margin-right: var(--space-1);
}

.report-table tbody tr.row-child-head td[b-nvw5dlkmqs] {
    background-color: var(--bg-primary);
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: var(--font-weight-semibold);
    padding: var(--space-1) var(--space-3) var(--space-1) var(--space-5);
}

.report-table tbody tr.row-child td[b-nvw5dlkmqs] {
    background-color: var(--bg-primary);
    font-size: var(--font-size-xs);
}

.report-table tbody tr.row-child td.col-code[b-nvw5dlkmqs] {
    padding-left: var(--space-5);
}

/* Figlio con quota a zero: e' la riga da guardare quando la somma non torna */
.report-table tbody tr.row-child-zero td[b-nvw5dlkmqs] {
    background-color: #fdf6f6;
}

.report-table tbody tr.row-child-msg td[b-nvw5dlkmqs] {
    background-color: var(--bg-primary);
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    padding: var(--space-2) var(--space-5);
    font-style: italic;
}

.mandatory-dot[b-nvw5dlkmqs] {
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
}

/* ---------------------------------------------------------------
   Badge di stato.
   EXCESS_EXCLUSIVE e' deliberatamente BLU e non rosso/giallo: e'
   un'eccedenza SPIEGATA (figli alternativi), non un difetto. Dargli
   un colore d'allarme produrrebbe la falsa segnalazione che il
   report esiste proprio per evitare.
   --------------------------------------------------------------- */
.st-badge[b-nvw5dlkmqs] {
    display: inline-block;
    min-width: 90px;
    padding: 2px var(--space-2);
    border-radius: 3px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-align: center;
}

.st-ok[b-nvw5dlkmqs] {
    background-color: #e6f4ea;
    color: #1e7e34;
}

.st-not-set[b-nvw5dlkmqs] {
    background-color: #fdeded;
    color: #b02a2a;
}

.st-partial[b-nvw5dlkmqs] {
    background-color: #fff4e5;
    color: #a15c00;
}

.st-excess[b-nvw5dlkmqs] {
    background-color: #fff4e5;
    color: #a15c00;
}

.st-excess-exclusive[b-nvw5dlkmqs] {
    background-color: #e7f1f8;
    color: #0b5f8a;
}

.st-no-children[b-nvw5dlkmqs] {
    background-color: var(--bg-secondary);
    color: var(--text-muted);
}

/* «Altro calcolo»: viola, fuori dalla scala del giudizio. Non e' un errore da
   correggere ne' un OK da confermare: e' un tipo che ripartisce con un altro campo. */
.st-other-mode[b-nvw5dlkmqs] {
    background-color: #f0eaf7;
    color: #6b3fa0;
}

.st-none[b-nvw5dlkmqs] {
    background-color: var(--bg-secondary);
    color: var(--text-muted);
}

/* ---------------------------------------------------------------
   Barra di ripartizione.
   Il contenitore rappresenta 125%: il riferimento a 100 cade all'80%
   della larghezza ed e' marcato da .cov-bar-mark, cosi' un'eccedenza
   si vede come sconfinamento oltre la tacca invece che come barra
   piena identica a un 100 esatto.
   --------------------------------------------------------------- */
.cov-bar[b-nvw5dlkmqs] {
    position: relative;
    width: 100px;
    height: 10px;
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    overflow: hidden;
}

.cov-bar-child[b-nvw5dlkmqs] {
    width: 80px;
    height: 8px;
}

.cov-bar-fill[b-nvw5dlkmqs] {
    height: 100%;
}

/* Riempimenti: riusano i colori dei badge, applicati come sfondo pieno */
.cov-bar-fill.st-ok[b-nvw5dlkmqs] { background-color: #1e7e34; }
.cov-bar-fill.st-not-set[b-nvw5dlkmqs] { background-color: #d9a0a0; }
.cov-bar-fill.st-partial[b-nvw5dlkmqs] { background-color: #d99a2b; }
.cov-bar-fill.st-excess[b-nvw5dlkmqs] { background-color: #d99a2b; }
.cov-bar-fill.st-excess-exclusive[b-nvw5dlkmqs] { background-color: #0b5f8a; }
.cov-bar-fill.st-no-children[b-nvw5dlkmqs] { background-color: var(--border-color-light); }
.cov-bar-fill.st-other-mode[b-nvw5dlkmqs] { background-color: #6b3fa0; }
.cov-bar-fill.st-none[b-nvw5dlkmqs] { background-color: var(--border-color-light); }

/* Tacca del 100 (80% di 125) */
.cov-bar-mark[b-nvw5dlkmqs] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 80%;
    width: 1px;
    background-color: var(--color-primary);
    opacity: 0.6;
}

@media (max-width: 768px) {
    .page-header[b-nvw5dlkmqs] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-nvw5dlkmqs] {
        padding: var(--space-4) var(--space-2);
    }
}
/* /Components/Pages/Production/SectioningDetail.razor.rz.scp.css */
/* ===========================
   SectioningDetail - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-sax5io1ims] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-sax5io1ims] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-sax5io1ims] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-sax5io1ims] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-info[b-sax5io1ims] {
    background-color: #e8f4f8;
    border-left-color: var(--color-info);
    color: #0c5460;
}

.alert-bar-close[b-sax5io1ims] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-sax5io1ims] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-sax5io1ims] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-sax5io1ims] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-sax5io1ims] {
    opacity: 0.4;
}

.empty-state-text[b-sax5io1ims] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-sax5io1ims] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-sax5io1ims] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-sax5io1ims] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-sax5io1ims] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-sax5io1ims] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-sax5io1ims] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-sax5io1ims] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-sax5io1ims] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-sax5io1ims] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-sax5io1ims]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-sax5io1ims] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-sax5io1ims] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-sax5io1ims] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-sax5io1ims] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-sax5io1ims] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-sax5io1ims] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-sax5io1ims] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-sax5io1ims] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-sax5io1ims] {
        grid-column: span 1;
    }
}

/* Avviso di sezionamento orfano nella pagina di modifica: vedi SectioningList.razor.css */
.badge-orphan-inline[b-sax5io1ims] {
    display: inline-block;
    padding: 1px 8px;
    background-color: #6f2dbd;
    color: #ffffff;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
}

.type-missing[b-sax5io1ims] {
    color: var(--color-danger, #dc3545);
    font-weight: var(--font-weight-medium);
}

/* Piu' tipi di taglio sullo stesso sezionamento: vedi SectioningList.razor.css */
.type-multi[b-sax5io1ims] {
    margin-left: 4px;
    padding: 0 5px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    background-color: var(--color-gray-200, #e9ecef);
    color: var(--text-secondary);
}

/* ===========================================================================
   Stato del sezionamento — scheda di dettaglio
   ---------------------------------------------------------------------------
   Lo stato NON e' persistito e non dipende da dat_chiusura: un sezionamento e'
   chiuso quando ha prodotto, cioe' quando esistono righe di carico MCZ
   collegate. Un sezionamento aperto e' quindi un ORFANO — scaricato ma mai
   lavorato — e va evidenziato, non presentato come uno stato normale.
   =========================================================================== */
.badge-closed-inline[b-sax5io1ims] {
    display: inline-block;
    padding: 1px 8px;
    background-color: var(--color-gray-100);
    border: var(--border-width-thin) solid var(--border-color-light);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
}

.alert-bar-warning[b-sax5io1ims] {
    background-color: #fff4e5;
    border-left-color: var(--color-warning, #ffc107);
    color: #663c00;
}

.state-note[b-sax5io1ims] {
    margin: var(--space-2) 0 0 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.text-muted[b-sax5io1ims] { color: var(--text-muted); }
/* /Components/Pages/Production/SectioningList.razor.rz.scp.css */
/* ===========================
   SectioningList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Paginazione */
.pagination-bar[b-yyfuchdb1k] { display: flex; align-items: center; justify-content: center; gap: var(--space-3); margin-top: var(--space-4); }
.pagination-info[b-yyfuchdb1k] { font-size: var(--font-size-xs); color: var(--text-muted); }

/* Page Container */
.page-container[b-yyfuchdb1k] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bars */
.alert-bar[b-yyfuchdb1k] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-yyfuchdb1k] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-yyfuchdb1k] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-yyfuchdb1k] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-yyfuchdb1k] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-yyfuchdb1k] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-yyfuchdb1k] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-yyfuchdb1k] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-yyfuchdb1k] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-yyfuchdb1k]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-yyfuchdb1k] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-yyfuchdb1k] {
    color: var(--color-primary);
}

.search-count[b-yyfuchdb1k] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-yyfuchdb1k] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-yyfuchdb1k] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-yyfuchdb1k] {
    opacity: 0.4;
}

.empty-state-text[b-yyfuchdb1k] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-yyfuchdb1k] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Raggruppamento */
.group-toolbar[b-yyfuchdb1k] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
    flex-wrap: wrap;
}

.group-toolbar-label[b-yyfuchdb1k] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin-right: var(--space-1);
}

.group-header[b-yyfuchdb1k] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-gray-100);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    position: sticky;
    top: 0;
    z-index: 1;
}

.group-header-title[b-yyfuchdb1k] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.group-header .group-count[b-yyfuchdb1k] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

/* Item Row */
.item-row[b-yyfuchdb1k] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-yyfuchdb1k] {
    border-bottom: none;
}

.item-row:hover[b-yyfuchdb1k] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-yyfuchdb1k] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-yyfuchdb1k] {
    flex: 1;
    min-width: 0;
}

.item-name[b-yyfuchdb1k] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-yyfuchdb1k] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-yyfuchdb1k] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-yyfuchdb1k] {
    color: var(--color-gray-300);
}

/* Badge Status */
.badge-status[b-yyfuchdb1k] {
    display: inline-block;
    padding: 1px 8px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-gray-100);
    color: var(--text-secondary);
}

/* KPI di resa (scaricato / caricato) — stessa impostazione dei KPI della lista partite */
.item-kpis[b-yyfuchdb1k] {
    flex-shrink: 0;
    display: flex;
    align-items: stretch;
    gap: var(--space-2);
    margin-right: var(--space-2);
}

.kpi[b-yyfuchdb1k] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 200px;
    padding: 2px 10px;
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-gray-100);
}

.kpi-sep[b-yyfuchdb1k] {
    color: var(--color-gray-300);
    margin: 0 2px;
}

.kpi-label[b-yyfuchdb1k] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: .04em;
}

.kpi-value[b-yyfuchdb1k] {
    display: inline-flex;
    align-items: baseline;
    gap: 2px;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    font-variant-numeric: tabular-nums;
}

/* Caricato: è il numeratore della resa, distinto dallo scaricato */
.kpi-value-load[b-yyfuchdb1k] {
    color: #1a7f37;
}

/* Resa: dato chiave, in pillola colorata per fascia */
.resa-pill[b-yyfuchdb1k] {
    margin-left: var(--space-1);
    padding: 1px 6px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* Fasce resa: <60 scarsa (rosso), 60–90 buona (ambra), >90 ottima (verde) */
.resa-pill.resa-poor[b-yyfuchdb1k] {
    background-color: var(--color-danger, #dc3545);
    color: #ffffff;
}

.resa-pill.resa-good[b-yyfuchdb1k] {
    background-color: var(--color-warning, #ffc107);
    color: #1f2430;
}

.resa-pill.resa-great[b-yyfuchdb1k] {
    background-color: var(--color-success, #28a745);
    color: #ffffff;
}

/* Resa non calcolabile (nessuno scarico): nessun giudizio, solo il segnaposto */
.resa-pill.resa-none[b-yyfuchdb1k] {
    background-color: var(--color-gray-200, #e9ecef);
    color: var(--text-secondary);
}

/* Anomalia: resa a quantità oltre il 100%, cioè caricato più di quanto scaricato.
   Colore proprio (viola) perché non è un giudizio sulla resa ma una segnalazione di dati
   incoerenti: va distinto sia dal verde "ottima" sia dal rosso "scarsa". */
.resa-pill.resa-anomaly[b-yyfuchdb1k] {
    background-color: #6f2dbd;
    color: #ffffff;
}

.resa-alert[b-yyfuchdb1k] {
    display: inline-block;
    margin-right: 3px;
    font-weight: var(--font-weight-bold, 700);
}

/* Action Buttons */
.item-actions[b-yyfuchdb1k] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.item-actions-separator[b-yyfuchdb1k] {
    width: var(--border-width-thin);
    align-self: stretch;
    margin: var(--space-1) var(--space-1);
    background-color: var(--border-color-light);
}

.btn-icon[b-yyfuchdb1k] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-yyfuchdb1k] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

/* Buttons */
.btn-outline-primary[b-yyfuchdb1k] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-yyfuchdb1k] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-yyfuchdb1k] {
        flex-wrap: wrap;
    }

    .item-kpis[b-yyfuchdb1k] {
        order: 5;
        width: 100%;
        margin-right: 0;
    }

    .kpi[b-yyfuchdb1k] {
        flex: 1;
        min-width: 0;
    }

    .item-actions[b-yyfuchdb1k] {
        order: 6;
        margin-left: auto;
    }
}

/* ===========================================================================
   Stato del sezionamento
   ---------------------------------------------------------------------------
   Non esiste ind_stato_sez a DB: lo stato è derivato da dat_chiusura.
   Apertura e chiusura sono normalmente CONTESTUALI (taglio osso su osso),
   quindi un sezionamento ancora aperto non è una lavorazione in corso: è un
   ORFANO, una riga che non corrisponde a una realtà di fabbrica.
   Per questo l'aperto è evidenziato e il chiuso è neutro — l'esatto contrario
   di quello che si farebbe su un lotto.
   =========================================================================== */
.badge-status.badge-c[b-yyfuchdb1k] {
    background-color: var(--color-gray-100);
    color: var(--text-secondary);
}

.badge-status.badge-orphan[b-yyfuchdb1k] {
    background-color: #6f2dbd;
    border-color: #6f2dbd;
    color: #ffffff;
    font-weight: var(--font-weight-semibold);
}

/* Tipo sezionamento assente sulla testata MSZ: è un errore di configurazione,
   la stessa condizione su cui P_COSTING_SEZ_LOAD si ferma. Va segnalato, non
   nascosto dietro un trattino. */
.type-missing[b-yyfuchdb1k] {
    color: var(--color-danger, #dc3545);
    font-weight: var(--font-weight-medium);
}

/* Sezionamento lavorato con PIU' tipi di taglio: il blocco e' stato spezzato su piu'
   documenti di carico MCZ. E' legittimo (P_COSTING_SEZ_LOAD lo prevede e include
   cod_tipo_sez nella chiave di ripartizione), ma va segnalato: le rese della riga
   sommano lavorazioni diverse, e senza questo indizio una resa fuori scala sembra
   un errore invece che il risultato di due tagli distinti. */
.type-multi[b-yyfuchdb1k] {
    margin-left: 4px;
    padding: 0 5px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: .04em;
    background-color: var(--color-gray-200, #e9ecef);
    color: var(--text-secondary);
}
/* /Components/Pages/Production/SectioningTypeArticleCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-rwnkxr0hpn] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-rwnkxr0hpn] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-rwnkxr0hpn] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-rwnkxr0hpn] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-rwnkxr0hpn] { opacity: 1; }

.form-section[b-rwnkxr0hpn] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-rwnkxr0hpn] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-rwnkxr0hpn] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-rwnkxr0hpn] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-rwnkxr0hpn] { display: flex; flex-direction: column; }
.form-group-wide[b-rwnkxr0hpn] { grid-column: span 2; }
.form-label[b-rwnkxr0hpn] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-rwnkxr0hpn] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-rwnkxr0hpn] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-rwnkxr0hpn]::placeholder { color: var(--color-gray-400); }
.btn-action[b-rwnkxr0hpn] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-rwnkxr0hpn] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-rwnkxr0hpn] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-rwnkxr0hpn] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-rwnkxr0hpn] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-rwnkxr0hpn] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-rwnkxr0hpn] { grid-template-columns: 1fr; }
    .form-group-wide[b-rwnkxr0hpn] { grid-column: span 1; }
}
/* /Components/Pages/Production/SectioningTypeArticleEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-0vgrdiwiez] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-0vgrdiwiez] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-0vgrdiwiez] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-0vgrdiwiez] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-0vgrdiwiez] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-0vgrdiwiez] { opacity: 1; }

.loading-state[b-0vgrdiwiez] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-0vgrdiwiez] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-0vgrdiwiez] { opacity: 0.4; }
.empty-state-text[b-0vgrdiwiez] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-0vgrdiwiez] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-0vgrdiwiez] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-0vgrdiwiez] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-0vgrdiwiez] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-0vgrdiwiez] { display: flex; flex-direction: column; }
.form-group-wide[b-0vgrdiwiez] { grid-column: span 2; }
.form-label[b-0vgrdiwiez] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-0vgrdiwiez] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-0vgrdiwiez] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-0vgrdiwiez]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-0vgrdiwiez] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-0vgrdiwiez] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-0vgrdiwiez] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-0vgrdiwiez] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-0vgrdiwiez] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-0vgrdiwiez] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-0vgrdiwiez] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-0vgrdiwiez] { grid-template-columns: 1fr; }
    .form-group-wide[b-0vgrdiwiez] { grid-column: span 1; }
}
/* /Components/Pages/Production/SectioningTypeCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-ziqmkucjow] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-ziqmkucjow] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-ziqmkucjow] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-ziqmkucjow] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-ziqmkucjow] { opacity: 1; }

.form-section[b-ziqmkucjow] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-ziqmkucjow] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-ziqmkucjow] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-ziqmkucjow] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-ziqmkucjow] { display: flex; flex-direction: column; }
.form-group-wide[b-ziqmkucjow] { grid-column: span 2; }
.form-label[b-ziqmkucjow] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-ziqmkucjow] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-ziqmkucjow] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-ziqmkucjow]::placeholder { color: var(--color-gray-400); }
.btn-action[b-ziqmkucjow] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-ziqmkucjow] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-ziqmkucjow] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-ziqmkucjow] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-ziqmkucjow] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-ziqmkucjow] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-ziqmkucjow] { grid-template-columns: 1fr; }
    .form-group-wide[b-ziqmkucjow] { grid-column: span 1; }
}
/* /Components/Pages/Production/SectioningTypeEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-qdpcqor06e] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-qdpcqor06e] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-qdpcqor06e] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-qdpcqor06e] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-qdpcqor06e] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-qdpcqor06e] { opacity: 1; }

.loading-state[b-qdpcqor06e] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-qdpcqor06e] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-qdpcqor06e] { opacity: 0.4; }
.empty-state-text[b-qdpcqor06e] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-qdpcqor06e] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-qdpcqor06e] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-qdpcqor06e] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-qdpcqor06e] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-qdpcqor06e] { display: flex; flex-direction: column; }
.form-group-wide[b-qdpcqor06e] { grid-column: span 2; }
.form-label[b-qdpcqor06e] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-qdpcqor06e] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-qdpcqor06e] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-qdpcqor06e]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-qdpcqor06e] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-qdpcqor06e] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-qdpcqor06e] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-qdpcqor06e] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-qdpcqor06e] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-qdpcqor06e] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-qdpcqor06e] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-qdpcqor06e] { grid-template-columns: 1fr; }
    .form-group-wide[b-qdpcqor06e] { grid-column: span 1; }
}
/* ===========================
   AgentEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-qdpcqor06e] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-qdpcqor06e] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    background-color: var(--color-gray-100);
    padding: 1px var(--space-2);
    color: var(--color-primary);
    opacity: 0.7;
}

/* Alert Bars */
.alert-bar[b-qdpcqor06e] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-qdpcqor06e] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-qdpcqor06e] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-qdpcqor06e] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-qdpcqor06e] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-qdpcqor06e] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-qdpcqor06e] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-qdpcqor06e] {
    opacity: 0.4;
}

.empty-state-text[b-qdpcqor06e] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-qdpcqor06e] {
    margin-bottom: var(--space-6);
    padding: var(--space-6);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-header[b-qdpcqor06e] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-4);
}

.section-title[b-qdpcqor06e] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-header .section-title[b-qdpcqor06e] {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.section-title svg[b-qdpcqor06e] {
    color: var(--color-primary);
    opacity: 0.6;
}

/* Form Grid */
.form-grid[b-qdpcqor06e] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-4);
}

.form-group[b-qdpcqor06e] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-qdpcqor06e] {
    grid-column: 1 / -1;
}

.form-label[b-qdpcqor06e] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-qdpcqor06e] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-qdpcqor06e] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control-static[b-qdpcqor06e] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-weight: var(--font-weight-medium);
}

/* Buttons */
.btn-action[b-qdpcqor06e] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-qdpcqor06e] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    box-shadow: var(--shadow-sm);
}

.btn-sm[b-qdpcqor06e] {
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
}

.btn-outline-primary[b-qdpcqor06e] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-qdpcqor06e] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* ─── Detail Table (AgentContacts) ─────────────────────── */

.detail-loading[b-qdpcqor06e] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-4) 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.detail-empty[b-qdpcqor06e] {
    padding: var(--space-4) 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    text-align: center;
}

.detail-table[b-qdpcqor06e] {
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
}

.detail-table-header[b-qdpcqor06e] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    background-color: var(--color-gray-100);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.detail-table-row[b-qdpcqor06e] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    font-size: var(--font-size-sm);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.detail-table-row:hover[b-qdpcqor06e] {
    background-color: rgba(11, 36, 62, 0.02);
}

.detail-col[b-qdpcqor06e] {
    min-width: 0;
}

.detail-col-indicator[b-qdpcqor06e] {
    flex: 0 0 90px;
}

.detail-col-code[b-qdpcqor06e] {
    flex: 0 0 140px;
}

.detail-col-name[b-qdpcqor06e] {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.detail-col-actions[b-qdpcqor06e] {
    flex: 0 0 40px;
    display: flex;
    justify-content: flex-end;
}

.item-code[b-qdpcqor06e] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

/* Badge Indicator */
.badge-indicator[b-qdpcqor06e] {
    display: inline-block;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.3px;
}

.badge-cliente[b-qdpcqor06e] {
    background-color: #e3f2fd;
    color: #1565c0;
}

.badge-fornitore[b-qdpcqor06e] {
    background-color: #fff3e0;
    color: #e65100;
}

/* Icon Buttons */
.btn-icon[b-qdpcqor06e] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-qdpcqor06e] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
}

.btn-icon-danger:hover[b-qdpcqor06e] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.btn-icon-sm[b-qdpcqor06e] {
    width: 30px;
    height: 30px;
}

/* Overlay & Dialog */
.overlay[b-qdpcqor06e] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-qdpcqor06e] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.dialog-wide[b-qdpcqor06e] {
    max-width: 500px;
    text-align: left;
}

.confirm-icon[b-qdpcqor06e] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-qdpcqor06e] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-qdpcqor06e] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-qdpcqor06e] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-qdpcqor06e] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-qdpcqor06e] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Dialog Form */
.dialog-form[b-qdpcqor06e] {
    display: flex;
    gap: var(--space-4);
    margin-top: var(--space-4);
}

.dialog-form .form-group[b-qdpcqor06e] {
    flex: 1;
}

/* Validation */
[b-qdpcqor06e] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-qdpcqor06e] {
        grid-template-columns: 1fr;
    }
    .detail-table-header[b-qdpcqor06e],
    .detail-table-row[b-qdpcqor06e] {
        flex-wrap: wrap;
    }

    .dialog-form[b-qdpcqor06e] {
        flex-direction: column;
    }
}
/* /Components/Pages/Production/SectioningTypeList.razor.rz.scp.css */
/* ===========================
   ProductGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-nik9agrz8p] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-nik9agrz8p] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-nik9agrz8p] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-nik9agrz8p] { background-color: var(--color-action-active); }

.alert-bar[b-nik9agrz8p] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-nik9agrz8p] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-nik9agrz8p] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-nik9agrz8p] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-nik9agrz8p] { opacity: 1; }

.search-bar[b-nik9agrz8p] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-nik9agrz8p] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-nik9agrz8p] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-nik9agrz8p] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-nik9agrz8p]::placeholder { color: var(--text-muted); }
.search-clear[b-nik9agrz8p] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-nik9agrz8p] { color: var(--color-primary); }
.search-count[b-nik9agrz8p] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-nik9agrz8p] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-nik9agrz8p] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-nik9agrz8p] { opacity: 0.4; }
.empty-state-text[b-nik9agrz8p] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-nik9agrz8p] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-nik9agrz8p] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-nik9agrz8p] { border-bottom: none; }
.item-row:hover[b-nik9agrz8p] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-nik9agrz8p] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-nik9agrz8p] { flex: 1; min-width: 0; }
.item-name[b-nik9agrz8p] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-nik9agrz8p] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-nik9agrz8p] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-nik9agrz8p] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-nik9agrz8p] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-nik9agrz8p] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-nik9agrz8p] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-nik9agrz8p] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-nik9agrz8p] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-nik9agrz8p] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-nik9agrz8p] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-nik9agrz8p] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-nik9agrz8p] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-nik9agrz8p] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-nik9agrz8p] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-nik9agrz8p] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-nik9agrz8p] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-nik9agrz8p] { flex-wrap: wrap; }
    .item-actions[b-nik9agrz8p] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Production/SectioningTypeParentArticleCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-qbrktd2evn] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-qbrktd2evn] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-qbrktd2evn] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-qbrktd2evn] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-qbrktd2evn] { opacity: 1; }

.form-section[b-qbrktd2evn] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-qbrktd2evn] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-qbrktd2evn] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-qbrktd2evn] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-qbrktd2evn] { display: flex; flex-direction: column; }
.form-group-wide[b-qbrktd2evn] { grid-column: span 2; }
.form-label[b-qbrktd2evn] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-qbrktd2evn] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-qbrktd2evn] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-qbrktd2evn]::placeholder { color: var(--color-gray-400); }
.btn-action[b-qbrktd2evn] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-qbrktd2evn] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-qbrktd2evn] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-qbrktd2evn] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-qbrktd2evn] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-qbrktd2evn] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-qbrktd2evn] { grid-template-columns: 1fr; }
    .form-group-wide[b-qbrktd2evn] { grid-column: span 1; }
}
/* /Components/Pages/Production/SectioningTypeParentArticleEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-tio78u60tk] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-tio78u60tk] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-tio78u60tk] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-tio78u60tk] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-tio78u60tk] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-tio78u60tk] { opacity: 1; }

.loading-state[b-tio78u60tk] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-tio78u60tk] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-tio78u60tk] { opacity: 0.4; }
.empty-state-text[b-tio78u60tk] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-tio78u60tk] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-tio78u60tk] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-tio78u60tk] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-tio78u60tk] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-tio78u60tk] { display: flex; flex-direction: column; }
.form-group-wide[b-tio78u60tk] { grid-column: span 2; }
.form-label[b-tio78u60tk] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-tio78u60tk] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-tio78u60tk] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-tio78u60tk]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-tio78u60tk] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-tio78u60tk] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-tio78u60tk] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-tio78u60tk] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-tio78u60tk] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-tio78u60tk] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-tio78u60tk] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-tio78u60tk] { grid-template-columns: 1fr; }
    .form-group-wide[b-tio78u60tk] { grid-column: span 1; }
}
/* /Components/Pages/Production/WorkSessionBoard.razor.rz.scp.css */
/* Board touch: bersagli ≥ 48px, nessun hover-only, palette MTS (navy / rosso / grigi). */

.ws-station[b-22osmtnof6] {
    width: auto;
    min-width: 180px;
    height: 40px;
}

.ws-station-chip[b-22osmtnof6] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 4px 8px;
    border: 1px solid var(--color-gray-300);
    color: var(--color-gray-600);
}

.ws-station-chip.has-scale[b-22osmtnof6] {
    color: var(--color-success);
    border-color: var(--color-success);
}

.ws-station-chip.no-scale[b-22osmtnof6] {
    color: #856404;
    border-color: var(--color-warning);
}

.ws-parents[b-22osmtnof6],
.ws-children[b-22osmtnof6],
.ws-scraps[b-22osmtnof6] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 12px;
}

.ws-parents[b-22osmtnof6]  .work-tile {
    flex: 0 1 260px;
}

.ws-children[b-22osmtnof6]  .work-tile,
.ws-scraps[b-22osmtnof6]  .work-tile {
    flex: 1 1 170px;
    max-width: 240px;
}

.ws-scraps[b-22osmtnof6] {
    padding: 10px;
    border: 1px dashed #F5D77A;
    background: #FFFDF5;
    align-items: stretch;
}

.ws-section-label[b-22osmtnof6] {
    align-self: center;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .3px;
    color: #856404;
    padding-right: 6px;
}

.ws-toolbar[b-22osmtnof6] {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
    padding: 10px 12px;
    background: var(--color-white);
    border: 1px solid var(--color-gray-200);
    margin-bottom: 12px;
}

.ws-field[b-22osmtnof6] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ws-field > span[b-22osmtnof6] {
    font-size: 12px;
    font-weight: 500;
    color: var(--color-gray-600);
    letter-spacing: .3px;
}

.ws-field .form-select[b-22osmtnof6] {
    height: 44px;
    min-width: 240px;
}

.ws-field .btn[b-22osmtnof6] {
    height: 44px;
    min-width: 56px;
}

.ws-capo .btn-group[b-22osmtnof6] {
    flex-wrap: wrap;
}

.ws-hint[b-22osmtnof6] {
    font-size: 11px;
    color: var(--color-gray-500);
}

.ws-filter-label[b-22osmtnof6] {
    font-size: 12px;
    font-weight: 500;
    color: var(--color-gray-600);
    letter-spacing: .3px;
}

/* footer bilancia + somme */
.ws-sums[b-22osmtnof6] {
    position: sticky;
    bottom: 0;
    display: flex;
    align-items: stretch;
    gap: 12px;
    flex-wrap: wrap;
    padding: 10px 12px;
    background: var(--color-white);
    border-top: 2px solid var(--color-primary);
    box-shadow: 0 -2px 6px rgba(11, 36, 62, .08);
}

.ws-scale[b-22osmtnof6] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 200px;
    padding: 8px 14px;
    background: var(--color-gray-600);
    color: var(--color-white);
}

.ws-scale.is-stable[b-22osmtnof6] {
    background: var(--color-primary);
}

.ws-scale.is-manual[b-22osmtnof6] {
    background: #856404;
}

.ws-scale-value[b-22osmtnof6] {
    font-size: 30px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}

.ws-scale-value small[b-22osmtnof6] {
    font-size: 13px;
    font-weight: 400;
    color: var(--color-secondary);
}

.ws-scale-state[b-22osmtnof6] {
    font-size: 11px;
    letter-spacing: .3px;
    text-transform: uppercase;
}

.ws-scale.is-stable .ws-scale-state[b-22osmtnof6] {
    color: #6fdc8c;
    font-weight: 600;
}

.ws-scale-dialog[b-22osmtnof6] {
    min-width: 0;
}

.ws-sum-group[b-22osmtnof6] {
    display: flex;
    align-items: stretch;
}

.ws-sum-btn[b-22osmtnof6] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 190px;
    min-height: 64px;
    padding: 8px 14px;
    color: var(--color-white);
    border: 0;
    text-align: left;
}

.ws-sum-1[b-22osmtnof6] {
    background: var(--color-success);
}

.ws-sum-2[b-22osmtnof6] {
    background: var(--color-info);
}

.ws-sum-btn:disabled[b-22osmtnof6] {
    opacity: .5;
}

.ws-sum-label[b-22osmtnof6] {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .3px;
}

.ws-sum-value[b-22osmtnof6] {
    font-size: 18px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.ws-sum-hint[b-22osmtnof6] {
    font-size: 11px;
    opacity: .85;
}

.ws-sum-more[b-22osmtnof6] {
    min-width: 48px;
    font-size: 20px;
}

.ws-options[b-22osmtnof6] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    margin-left: auto;
}

.ws-switch[b-22osmtnof6] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.ws-switch input[b-22osmtnof6] {
    width: 22px;
    height: 22px;
}

.ws-field-inline[b-22osmtnof6] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}

.ws-field-inline input[b-22osmtnof6] {
    width: 140px;
}

/* dialog gestione pesi */
.ws-weigh-dialog[b-22osmtnof6] {
    width: min(760px, 96vw);
}

.ws-weigh-body[b-22osmtnof6] {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 20px;
}

@media (max-width: 720px) {
    .ws-weigh-body[b-22osmtnof6] {
        grid-template-columns: 1fr;
    }
}

.ws-weigh-left[b-22osmtnof6],
.ws-weigh-right[b-22osmtnof6] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ws-stepper[b-22osmtnof6] {
    display: flex;
}

.ws-stepper .btn[b-22osmtnof6] {
    width: 52px;
    height: 52px;
    font-size: 22px;
}

.ws-stepper-value[b-22osmtnof6] {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    font-weight: 700;
    border-top: 1px solid var(--color-gray-300);
    border-bottom: 1px solid var(--color-gray-300);
}

.ws-big[b-22osmtnof6] {
    height: 52px;
    font-size: 15px;
    font-weight: 600;
}

.ws-list-head[b-22osmtnof6] {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .3px;
    color: var(--color-gray-600);
}

.ws-list[b-22osmtnof6] {
    border: 1px solid var(--color-gray-200);
    max-height: 340px;
    overflow-y: auto;
}

.ws-list-row[b-22osmtnof6] {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 84px 60px 96px;
    gap: 8px;
    align-items: center;
    padding: 8px 10px;
    font-size: 13px;
    border-bottom: 1px solid var(--color-gray-100);
}

.ws-list-row.ws-list-sum[b-22osmtnof6] {
    grid-template-columns: 70px minmax(0, 1fr) 70px 90px 96px;
}

.ws-list-row.is-open[b-22osmtnof6] {
    background: #FFF8E1;
}

.ws-list-header[b-22osmtnof6] {
    background: var(--color-gray-50);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--color-gray-600);
}

.ws-list-row .num[b-22osmtnof6] {
    text-align: right;
}

.ws-list-actions[b-22osmtnof6] {
    display: flex;
    justify-content: flex-end;
}

.ws-list-actions[b-22osmtnof6] {
    gap: 4px;
}

.ws-list-actions .btn-icon[b-22osmtnof6] {
    width: 40px;
    height: 40px;
    font-size: 16px;
}

/* Etichetta non ancora accodata (§4.6): il pulsante di ristampa si fa notare, senza urlare. */
.ws-list-actions .btn-icon.is-pending[b-22osmtnof6] {
    color: #856404;
    border: 1px solid var(--color-warning);
    background: #FFF8E1;
}

.ws-sum-dialog[b-22osmtnof6] {
    width: min(640px, 96vw);
}

.badge-status.badge-a[b-22osmtnof6] {
    background: #FFF3CD;
    color: #856404;
    border: 1px solid var(--color-warning);
}

/* Barre di avviso — la board non ereditava nessuno stile: l'errore si vedeva come testo nudo. */
.alert-bar[b-22osmtnof6] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-22osmtnof6] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-info[b-22osmtnof6] {
    background-color: #e8f4f8;
    border-left-color: var(--color-info);
    color: #0c5460;
}

.alert-bar-warning[b-22osmtnof6] {
    background-color: #FFF8E1;
    border-left-color: var(--color-warning);
    color: #856404;
}

.alert-bar-close[b-22osmtnof6] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: .6;
    line-height: 1;
}

.alert-bar-close:hover[b-22osmtnof6] {
    opacity: 1;
}
/* /Components/Pages/Production/WorkSessionList.razor.rz.scp.css */
.ws-open-box[b-wdt1rwsnu8] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: var(--color-white);
    border: 1px solid var(--color-gray-200);
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.ws-open-input[b-wdt1rwsnu8] {
    flex: 1 1 320px;
    height: 48px;
    padding: 0 14px;
    font-size: 16px;
    border: 1px solid var(--color-gray-300);
}

.ws-open-btn[b-wdt1rwsnu8] {
    height: 48px;
    padding: 0 18px;
    font-size: 15px;
    font-weight: 600;
}

.ws-open-hint[b-wdt1rwsnu8] {
    font-size: 12px;
    color: var(--color-gray-500);
    max-width: 240px;
}

.ws-filters[b-wdt1rwsnu8] {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.ws-filter[b-wdt1rwsnu8] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ws-filter-label[b-wdt1rwsnu8] {
    font-size: 12px;
    font-weight: 500;
    color: var(--color-gray-600);
    letter-spacing: .3px;
}

.ws-filter input[b-wdt1rwsnu8] {
    height: 40px;
    min-width: 140px;
}

/* DateField condiviso: la sua label sostituisce quella del filtro, l'altezza segue gli altri campi */
.ws-filter-date[b-wdt1rwsnu8]  .form-label {
    font-size: 12px;
    font-weight: 500;
    color: var(--color-gray-600);
    letter-spacing: .3px;
    margin-bottom: 4px;
}

.ws-filter-date[b-wdt1rwsnu8]  input {
    height: 40px;
    min-width: 150px;
}

.ws-filters .search-count[b-wdt1rwsnu8] {
    margin-left: auto;
    align-self: center;
}

.ws-table[b-wdt1rwsnu8] {
    background: var(--color-white);
    border: 1px solid var(--color-gray-200);
    overflow-x: auto;
}

.ws-table-head[b-wdt1rwsnu8],
.ws-table-row[b-wdt1rwsnu8] {
    display: grid;
    grid-template-columns: 120px 150px minmax(240px, 1fr) 130px 110px 140px 80px 110px;
    gap: 12px;
    padding: 10px 14px;
    align-items: center;
    min-width: 1080px;
}

.ws-table-head[b-wdt1rwsnu8] {
    background: var(--color-gray-50);
    border-bottom: 1px solid var(--color-gray-200);
    font-size: 11px;
    font-weight: 600;
    color: var(--color-gray-600);
    letter-spacing: .3px;
    text-transform: uppercase;
}

.ws-table-row[b-wdt1rwsnu8] {
    border-bottom: 1px solid var(--color-gray-100);
    border-left: 3px solid transparent;
    font-size: 14px;
    color: var(--color-primary);
    text-decoration: none;
}

.ws-table-row:hover[b-wdt1rwsnu8] {
    background: var(--color-gray-50);
}

.ws-table-row.is-open[b-wdt1rwsnu8] {
    border-left-color: var(--color-action);
}

.ws-table-row .num[b-wdt1rwsnu8],
.ws-table-head .num[b-wdt1rwsnu8] {
    text-align: right;
}

.ws-lot[b-wdt1rwsnu8] {
    font-weight: 600;
}

.ws-lot small[b-wdt1rwsnu8],
.ws-parent small[b-wdt1rwsnu8] {
    display: block;
    font-weight: 400;
    font-size: 12px;
    color: var(--color-gray-600);
}

.ws-parent code[b-wdt1rwsnu8] {
    font-size: 12px;
    color: var(--color-gray-500);
}

.ws-doc-link[b-wdt1rwsnu8] {
    font-weight: 600;
    color: var(--color-action);
    cursor: pointer;
}

.badge-status.badge-a[b-wdt1rwsnu8] {
    background: #FFF3CD;
    color: #856404;
    border: 1px solid var(--color-warning);
}
/* /Components/Pages/Production/WorkTypeArticleCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-zukik4r25r] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-zukik4r25r] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-zukik4r25r] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-zukik4r25r] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-zukik4r25r] { opacity: 1; }

.form-section[b-zukik4r25r] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-zukik4r25r] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-zukik4r25r] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-zukik4r25r] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-zukik4r25r] { display: flex; flex-direction: column; }
.form-group-wide[b-zukik4r25r] { grid-column: span 2; }
.form-label[b-zukik4r25r] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-zukik4r25r] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-zukik4r25r] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-zukik4r25r]::placeholder { color: var(--color-gray-400); }
.btn-action[b-zukik4r25r] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-zukik4r25r] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-zukik4r25r] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-zukik4r25r] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-zukik4r25r] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-zukik4r25r] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-zukik4r25r] { grid-template-columns: 1fr; }
    .form-group-wide[b-zukik4r25r] { grid-column: span 1; }
}
/* /Components/Pages/Production/WorkTypeArticleEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-hixyhfs06u] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-hixyhfs06u] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-hixyhfs06u] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-hixyhfs06u] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-hixyhfs06u] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-hixyhfs06u] { opacity: 1; }

.loading-state[b-hixyhfs06u] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-hixyhfs06u] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-hixyhfs06u] { opacity: 0.4; }
.empty-state-text[b-hixyhfs06u] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-hixyhfs06u] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-hixyhfs06u] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-hixyhfs06u] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-hixyhfs06u] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-hixyhfs06u] { display: flex; flex-direction: column; }
.form-group-wide[b-hixyhfs06u] { grid-column: span 2; }
.form-label[b-hixyhfs06u] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-hixyhfs06u] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-hixyhfs06u] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-hixyhfs06u]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-hixyhfs06u] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-hixyhfs06u] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-hixyhfs06u] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-hixyhfs06u] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-hixyhfs06u] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-hixyhfs06u] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-hixyhfs06u] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-hixyhfs06u] { grid-template-columns: 1fr; }
    .form-group-wide[b-hixyhfs06u] { grid-column: span 1; }
}
/* /Components/Pages/Production/WorkTypeCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-q99j6snbh1] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-q99j6snbh1] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-q99j6snbh1] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-q99j6snbh1] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-q99j6snbh1] { opacity: 1; }

.form-section[b-q99j6snbh1] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-q99j6snbh1] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-q99j6snbh1] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-q99j6snbh1] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-q99j6snbh1] { display: flex; flex-direction: column; }
.form-group-wide[b-q99j6snbh1] { grid-column: span 2; }
.form-label[b-q99j6snbh1] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-q99j6snbh1] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-q99j6snbh1] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-q99j6snbh1]::placeholder { color: var(--color-gray-400); }
.btn-action[b-q99j6snbh1] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-q99j6snbh1] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-q99j6snbh1] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-q99j6snbh1] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-q99j6snbh1] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-q99j6snbh1] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-q99j6snbh1] { grid-template-columns: 1fr; }
    .form-group-wide[b-q99j6snbh1] { grid-column: span 1; }
}
/* /Components/Pages/Production/WorkTypeEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-bt53jqiyvz] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-bt53jqiyvz] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-bt53jqiyvz] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-bt53jqiyvz] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-bt53jqiyvz] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-bt53jqiyvz] { opacity: 1; }

.loading-state[b-bt53jqiyvz] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-bt53jqiyvz] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-bt53jqiyvz] { opacity: 0.4; }
.empty-state-text[b-bt53jqiyvz] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-bt53jqiyvz] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-bt53jqiyvz] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-bt53jqiyvz] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-bt53jqiyvz] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-bt53jqiyvz] { display: flex; flex-direction: column; }
.form-group-wide[b-bt53jqiyvz] { grid-column: span 2; }
.form-label[b-bt53jqiyvz] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-bt53jqiyvz] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-bt53jqiyvz] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-bt53jqiyvz]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-bt53jqiyvz] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }

.form-actions[b-bt53jqiyvz] { display: flex; justify-content: flex-end; gap: var(--space-3); padding-top: var(--space-4); border-top: var(--border-width-thin) solid var(--border-color-light); }
.form-actions .btn[b-bt53jqiyvz] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-5); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; text-decoration: none; }
.btn-action[b-bt53jqiyvz] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-bt53jqiyvz] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-bt53jqiyvz] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-bt53jqiyvz] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-bt53jqiyvz] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-bt53jqiyvz] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-bt53jqiyvz] { grid-template-columns: 1fr; }
    .form-group-wide[b-bt53jqiyvz] { grid-column: span 1; }
    .form-actions[b-bt53jqiyvz] { flex-direction: column-reverse; }
    .form-actions .btn[b-bt53jqiyvz] { justify-content: center; }
}
/* ===========================
   AgentEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-bt53jqiyvz] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-bt53jqiyvz] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    background-color: var(--color-gray-100);
    padding: 1px var(--space-2);
    color: var(--color-primary);
    opacity: 0.7;
}

/* Alert Bars */
.alert-bar[b-bt53jqiyvz] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-bt53jqiyvz] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-bt53jqiyvz] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-bt53jqiyvz] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-bt53jqiyvz] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-bt53jqiyvz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-bt53jqiyvz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-bt53jqiyvz] {
    opacity: 0.4;
}

.empty-state-text[b-bt53jqiyvz] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-bt53jqiyvz] {
    margin-bottom: var(--space-6);
    padding: var(--space-6);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-header[b-bt53jqiyvz] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-4);
}

.section-title[b-bt53jqiyvz] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-header .section-title[b-bt53jqiyvz] {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.section-title svg[b-bt53jqiyvz] {
    color: var(--color-primary);
    opacity: 0.6;
}

/* Form Grid */
.form-grid[b-bt53jqiyvz] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-4);
}

.form-group[b-bt53jqiyvz] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-bt53jqiyvz] {
    grid-column: 1 / -1;
}

.form-label[b-bt53jqiyvz] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-bt53jqiyvz] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-bt53jqiyvz] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control-static[b-bt53jqiyvz] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-weight: var(--font-weight-medium);
}

/* Form Actions */
.form-actions[b-bt53jqiyvz] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-8);
    padding: var(--space-4) 0;
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

.form-actions .btn[b-bt53jqiyvz] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
}

/* Buttons */
.btn-action[b-bt53jqiyvz] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-bt53jqiyvz] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    box-shadow: var(--shadow-sm);
}

.btn-sm[b-bt53jqiyvz] {
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
}

.btn-outline-primary[b-bt53jqiyvz] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-bt53jqiyvz] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* ─── Detail Table (AgentContacts) ─────────────────────── */

.detail-loading[b-bt53jqiyvz] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-4) 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.detail-empty[b-bt53jqiyvz] {
    padding: var(--space-4) 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    text-align: center;
}

.detail-table[b-bt53jqiyvz] {
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
}

.detail-table-header[b-bt53jqiyvz] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    background-color: var(--color-gray-100);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.detail-table-row[b-bt53jqiyvz] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    font-size: var(--font-size-sm);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.detail-table-row:hover[b-bt53jqiyvz] {
    background-color: rgba(11, 36, 62, 0.02);
}

.detail-col[b-bt53jqiyvz] {
    min-width: 0;
}

.detail-col-indicator[b-bt53jqiyvz] {
    flex: 0 0 90px;
}

.detail-col-code[b-bt53jqiyvz] {
    flex: 0 0 140px;
}

.detail-col-name[b-bt53jqiyvz] {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.detail-col-actions[b-bt53jqiyvz] {
    flex: 0 0 40px;
    display: flex;
    justify-content: flex-end;
}

.item-code[b-bt53jqiyvz] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

/* Badge Indicator */
.badge-indicator[b-bt53jqiyvz] {
    display: inline-block;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.3px;
}

.badge-cliente[b-bt53jqiyvz] {
    background-color: #e3f2fd;
    color: #1565c0;
}

.badge-fornitore[b-bt53jqiyvz] {
    background-color: #fff3e0;
    color: #e65100;
}

/* Icon Buttons */
.btn-icon[b-bt53jqiyvz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-bt53jqiyvz] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
}

.btn-icon-danger:hover[b-bt53jqiyvz] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.btn-icon-sm[b-bt53jqiyvz] {
    width: 30px;
    height: 30px;
}

/* Overlay & Dialog */
.overlay[b-bt53jqiyvz] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-bt53jqiyvz] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.dialog-wide[b-bt53jqiyvz] {
    max-width: 500px;
    text-align: left;
}

.confirm-icon[b-bt53jqiyvz] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-bt53jqiyvz] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-bt53jqiyvz] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-bt53jqiyvz] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-bt53jqiyvz] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-bt53jqiyvz] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Dialog Form */
.dialog-form[b-bt53jqiyvz] {
    display: flex;
    gap: var(--space-4);
    margin-top: var(--space-4);
}

.dialog-form .form-group[b-bt53jqiyvz] {
    flex: 1;
}

/* Validation */
[b-bt53jqiyvz] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-bt53jqiyvz] {
        grid-template-columns: 1fr;
    }

    .form-actions[b-bt53jqiyvz] {
        flex-direction: column;
    }

    .detail-table-header[b-bt53jqiyvz],
    .detail-table-row[b-bt53jqiyvz] {
        flex-wrap: wrap;
    }

    .dialog-form[b-bt53jqiyvz] {
        flex-direction: column;
    }
}
/* /Components/Pages/Production/WorkTypeList.razor.rz.scp.css */
/* ===========================
   ProductGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-odydw98ur2] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-odydw98ur2] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-odydw98ur2] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-odydw98ur2] { background-color: var(--color-action-active); }

.alert-bar[b-odydw98ur2] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-odydw98ur2] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-odydw98ur2] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-odydw98ur2] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-odydw98ur2] { opacity: 1; }

.search-bar[b-odydw98ur2] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-odydw98ur2] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-odydw98ur2] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-odydw98ur2] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-odydw98ur2]::placeholder { color: var(--text-muted); }
.search-clear[b-odydw98ur2] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-odydw98ur2] { color: var(--color-primary); }
.search-count[b-odydw98ur2] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-odydw98ur2] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-odydw98ur2] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-odydw98ur2] { opacity: 0.4; }
.empty-state-text[b-odydw98ur2] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-odydw98ur2] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-odydw98ur2] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-odydw98ur2] { border-bottom: none; }
.item-row:hover[b-odydw98ur2] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-odydw98ur2] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-odydw98ur2] { flex: 1; min-width: 0; }
.item-name[b-odydw98ur2] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-odydw98ur2] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-odydw98ur2] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-odydw98ur2] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-odydw98ur2] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-odydw98ur2] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-odydw98ur2] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-odydw98ur2] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-odydw98ur2] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-odydw98ur2] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-odydw98ur2] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-odydw98ur2] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-odydw98ur2] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-odydw98ur2] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-odydw98ur2] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-odydw98ur2] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-odydw98ur2] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-odydw98ur2] { flex-wrap: wrap; }
    .item-actions[b-odydw98ur2] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Production/WorkTypeParentArticleCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-0ymw1ih8e2] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-0ymw1ih8e2] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-0ymw1ih8e2] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-0ymw1ih8e2] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-0ymw1ih8e2] { opacity: 1; }

.form-section[b-0ymw1ih8e2] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-0ymw1ih8e2] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-0ymw1ih8e2] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-0ymw1ih8e2] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-0ymw1ih8e2] { display: flex; flex-direction: column; }
.form-group-wide[b-0ymw1ih8e2] { grid-column: span 2; }
.form-label[b-0ymw1ih8e2] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-0ymw1ih8e2] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-0ymw1ih8e2] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-0ymw1ih8e2]::placeholder { color: var(--color-gray-400); }
.btn-action[b-0ymw1ih8e2] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-0ymw1ih8e2] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-0ymw1ih8e2] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-0ymw1ih8e2] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-0ymw1ih8e2] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-0ymw1ih8e2] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-0ymw1ih8e2] { grid-template-columns: 1fr; }
    .form-group-wide[b-0ymw1ih8e2] { grid-column: span 1; }
}
/* /Components/Pages/Production/WorkTypeParentArticleEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-0g202x5rto] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-0g202x5rto] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-0g202x5rto] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-0g202x5rto] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-0g202x5rto] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-0g202x5rto] { opacity: 1; }

.loading-state[b-0g202x5rto] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-0g202x5rto] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-0g202x5rto] { opacity: 0.4; }
.empty-state-text[b-0g202x5rto] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-0g202x5rto] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-0g202x5rto] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-0g202x5rto] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-0g202x5rto] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-0g202x5rto] { display: flex; flex-direction: column; }
.form-group-wide[b-0g202x5rto] { grid-column: span 2; }
.form-label[b-0g202x5rto] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-0g202x5rto] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-0g202x5rto] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-0g202x5rto]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-0g202x5rto] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-0g202x5rto] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-0g202x5rto] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-0g202x5rto] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-0g202x5rto] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-0g202x5rto] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-0g202x5rto] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-0g202x5rto] { grid-template-columns: 1fr; }
    .form-group-wide[b-0g202x5rto] { grid-column: span 1; }
}
/* /Components/Pages/Purchasing/PurchaseDocumentDetail.razor.rz.scp.css */
.page-container[b-warfmktuij] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6, 24px) var(--space-4, 16px);
}
.status-badge[b-warfmktuij] {
    display: inline-flex;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.status-draft[b-warfmktuij] { background: #f4f4f5; color: #71717a; border-color: #e4e4e7; }
.status-pending[b-warfmktuij] { background: #fef9c3; color: #854d0e; border-color: #fde68a; }
.status-saved[b-warfmktuij] { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }

.alert-bar[b-warfmktuij] {
    display: flex; align-items: center; gap: 8px;
    padding: 12px 16px; margin-bottom: 12px;
    font-size: 13px; border-left: 4px solid;
}
.alert-bar-danger[b-warfmktuij] { background: #fdeded; border-left-color: #b91c1c; color: #5f2120; }
.alert-bar-success[b-warfmktuij] { background: #ecfdf5; border-left-color: #047857; color: #064e3b; }
.alert-bar-close[b-warfmktuij] { margin-left: auto; background: none; border: none; cursor: pointer; opacity: .6; font-size: 18px; }

.loading-state[b-warfmktuij], .empty-state[b-warfmktuij] {
    text-align: center;
    padding: 48px 16px;
    color: #6b7280;
}

.tabs[b-warfmktuij] {
    display: flex;
    gap: 0;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.tab[b-warfmktuij] {
    background: none;
    border: none;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 500;
    color: #6b7280;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}
.tab:hover[b-warfmktuij] { color: #111827; }
.tab.active[b-warfmktuij] {
    color: #1d4ed8;
    border-bottom-color: #1d4ed8;
    font-weight: 600;
}

.tab-panel[b-warfmktuij] { padding-top: 8px; }

.cards-grid[b-warfmktuij] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    gap: 16px;
}

.info-card[b-warfmktuij] {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 16px;
}
.info-card-title[b-warfmktuij] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    margin-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 8px;
}
.info-grid[b-warfmktuij] { display: grid; gap: 8px; }
.info-row[b-warfmktuij] { display: grid; grid-template-columns: 160px 1fr; gap: 12px; align-items: start; }
.info-label[b-warfmktuij] { font-size: 11px; text-transform: uppercase; color: #6b7280; letter-spacing: 0.04em; padding-top: 2px; }
.info-value[b-warfmktuij] { font-size: 13px; color: #111827; overflow-wrap: anywhere; }

.lines-wrapper[b-warfmktuij] { background: #fff; border: 1px solid #e5e7eb; overflow-x: auto; }
.lines-table[b-warfmktuij] { width: 100%; border-collapse: collapse; font-size: 13px; }
.lines-table thead th[b-warfmktuij] {
    text-align: left;
    padding: 10px 12px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #374151;
}
.lines-table tbody td[b-warfmktuij] { padding: 10px 12px; border-bottom: 1px solid #f1f5f9; }

.text-end[b-warfmktuij] { text-align: right; }
.text-center[b-warfmktuij] { text-align: center; }

/* ── Badge del progressivo di riga (prg_mov) ───────────────────────────────
   Stesso aspetto nel form e nel dettaglio, di acquisto e di vendita: la riga si riconosce
   passando fra le viste. */
.cell-seq[b-warfmktuij] { text-align: center; vertical-align: middle; width: 44px; }

.seq-badge[b-warfmktuij] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 22px;
    padding: 0 6px;
    background: #eef2f7;
    border: 1px solid #d7dee8;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.badges-row[b-warfmktuij] { display: flex; gap: 8px; flex-wrap: wrap; }
.flag-badge[b-warfmktuij] {
    display: inline-flex;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
}
.flag-on[b-warfmktuij] { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.flag-off[b-warfmktuij] { background: #f4f4f5; color: #71717a; border-color: #e4e4e7; }
/* /Components/Pages/Purchasing/PurchaseDocumentForm.razor.rz.scp.css */
.page-container[b-hx52zjjutl] {
    max-width: 1400px;
    margin: 0 auto;
    padding: 24px 16px;
}
.alert-bar[b-hx52zjjutl] { display: flex; align-items: center; gap: 8px; padding: 12px 16px; margin-bottom: 12px; font-size: 13px; border-left: 4px solid; }
.alert-bar-danger[b-hx52zjjutl] { background: #fdeded; border-left-color: #b91c1c; color: #5f2120; }
.alert-bar-success[b-hx52zjjutl] { background: #ecfdf5; border-left-color: #047857; color: #064e3b; }
.alert-bar-close[b-hx52zjjutl] { margin-left: auto; background: none; border: none; cursor: pointer; opacity: .6; font-size: 18px; }

.loading-state[b-hx52zjjutl] { text-align: center; padding: 48px 16px; color: #6b7280; }

.form-section[b-hx52zjjutl] {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 16px;
    margin-bottom: 16px;
}
.form-section-header[b-hx52zjjutl] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.form-section-title[b-hx52zjjutl] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    margin-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 8px;
}
.form-section-header .form-section-title[b-hx52zjjutl] { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }

.form-section-collapsible > summary[b-hx52zjjutl] {
    cursor: pointer;
    list-style: none;
    user-select: none;
    display: flex;
    align-items: center;
    gap: 8px;
}
.form-section-collapsible > summary[b-hx52zjjutl]::-webkit-details-marker { display: none; }
.form-section-collapsible > summary[b-hx52zjjutl]::before {
    content: "▸";
    font-size: 12px;
    color: #6b7280;
    transition: transform 0.15s ease;
    display: inline-block;
}
.form-section-collapsible[open] > summary[b-hx52zjjutl]::before {
    transform: rotate(90deg);
}
.form-section-collapsible:not([open]) > summary[b-hx52zjjutl] {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
.form-section-collapsible[open] > summary[b-hx52zjjutl] {
    margin-bottom: 12px;
}

.form-grid[b-hx52zjjutl] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}
.form-group[b-hx52zjjutl] { display: flex; flex-direction: column; gap: 4px; }
.form-group label[b-hx52zjjutl] { font-size: 11px; text-transform: uppercase; color: #6b7280; letter-spacing: 0.04em; font-weight: 600; }

.empty-state-inline[b-hx52zjjutl] {
    text-align: center;
    padding: 24px;
    color: #9ca3af;
    font-style: italic;
    font-size: 13px;
    border: 1px dashed #e5e7eb;
}

.lines-edit-wrapper[b-hx52zjjutl] { overflow-x: auto; }
.lines-edit-table[b-hx52zjjutl] { width: 100%; border-collapse: collapse; font-size: 13px; }
.lines-edit-table thead th[b-hx52zjjutl] {
    text-align: left;
    padding: 8px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #374151;
}
.lines-edit-table tbody td[b-hx52zjjutl] { padding: 4px; border-bottom: 1px solid #f1f5f9; }
.lines-edit-table .text-end[b-hx52zjjutl] { text-align: right; }
.lines-edit-table .form-control-sm[b-hx52zjjutl] { padding: 4px 8px; font-size: 13px; }
/* Campo quantità calcolato dall'UM base: sola lettura, sfondo grigio. */
.lines-edit-table .qty-readonly[b-hx52zjjutl] { background-color: #f3f4f6; cursor: default; }
/* Campi di riga non editabili (descrizione articolo, codice articolo, IVA): stessa resa dei
   campi readonly di testata (LookupField) — sfondo grigio chiaro e cursore normale. */
.lines-edit-table input[readonly][b-hx52zjjutl] {
    background-color: var(--color-gray-50, #f3f4f6);
    color: var(--color-gray-700, #374151);
    cursor: default;
}
.lines-summary[b-hx52zjjutl] { padding: 12px; background: #f9fafb; font-size: 13px; color: #374151; }

/* ── Piede documento: card riepilogo totali ─────────────────────────────── */
.lines-totals[b-hx52zjjutl] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px;
    background: #f9fafb;
    border-top: 1px solid #e5e7eb;
}
.total-card[b-hx52zjjutl] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 104px;
    padding: 8px 12px;
    background: #fff;
    border: 1px solid #e5e7eb;
}
.total-card-label[b-hx52zjjutl] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
}
.total-card-value[b-hx52zjjutl] {
    font-size: 16px;
    font-weight: 700;
    color: #111827;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
/* Card importo documento: evidenziata e spinta a destra. */
.total-card-emphasis[b-hx52zjjutl] {
    margin-left: auto;
    background: #eff6ff;
    border-color: #bfdbfe;
}
.total-card-emphasis .total-card-value[b-hx52zjjutl] { color: #1d4ed8; }

/* ── Riga documento a due righe (struttura allineata a OrderForm) ─────────
   La riga principale non chiude il bordo; il separatore è sulla sotto-riga
   che contiene le quantità secondarie (Pezzi/Colli/Pallet/Qta netto). */
/* ── Badge del progressivo di riga (prg_mov) ───────────────────────────────
   Colonna stretta a sinistra: è un riferimento di lettura, non un dato da editare.
   Stesso aspetto nel form di vendita e nel dettaglio, così la riga si riconosce fra le viste. */
.cell-seq[b-hx52zjjutl] { text-align: center; vertical-align: middle; }

.seq-badge[b-hx52zjjutl] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 22px;
    padding: 0 6px;
    background: #eef2f7;
    border: 1px solid #d7dee8;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
    /* Tabellare: con progressivi a una e due cifre i badge restano allineati in colonna. */
    font-variant-numeric: tabular-nums;
}

/* Riga non ancora salvata: il progressivo non esiste, il badge è smorzato e mostra un segnaposto. */
.seq-badge.is-new[b-hx52zjjutl] {
    background: transparent;
    border-style: dashed;
    border-color: #cbd5e1;
    color: #94a3b8;
    font-weight: 400;
}

.lines-edit-table tbody tr.line-row-main td[b-hx52zjjutl] { border-bottom: none; padding-bottom: 2px; }
.lines-edit-table tbody tr.line-row-secondary td[b-hx52zjjutl] { padding-top: 0; padding-bottom: 6px; border-bottom-color: #cbd5e1; }

.line-qty-secondary[b-hx52zjjutl] { display: flex; gap: 9px; flex-wrap: wrap; }
.line-qty-secondary .qty-field[b-hx52zjjutl] { display: flex; flex-direction: column; gap: 2px; width: 96px; }
/* Pezzi largo come la colonna Quantità (qta_merce) sopra. */
.line-qty-secondary .qty-field-pieces[b-hx52zjjutl] { width: 114px; }
/* Colli leggermente più stretto. */
.line-qty-secondary .qty-field-packages[b-hx52zjjutl] { width: 90px; }
.line-qty-secondary .qty-field-pallets[b-hx52zjjutl] { width: 96px; }
.line-qty-secondary .qty-field-net[b-hx52zjjutl] { width: 114px; }
.line-qty-secondary .qty-field label[b-hx52zjjutl] {
    font-size: 10px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.4px; color: #94a3b8;
}
/* Campo quantità collegato all'UM (des_nome_campo_calc): sola lettura, tenuto = qta_merce. */
.qty-readonly[b-hx52zjjutl] { background: #f3f4f6; color: #6b7280; cursor: default; }

/* Campi numerici culture-aware (QuantityField/PriceField/PercentageField) dentro le celle
   della griglia righe: rimuovono lo spazio del form-group e la label interna, così si
   comportano come gli input compatti della tabella. */
.cell-num-field[b-hx52zjjutl]  .form-group { margin: 0; padding: 0; }
.cell-num-field[b-hx52zjjutl]  .form-label { display: none; }
.cell-num-field[b-hx52zjjutl]  .quantity-input-wrapper,
.cell-num-field[b-hx52zjjutl]  .price-input-wrapper,
.cell-num-field[b-hx52zjjutl]  .percentage-input-wrapper { margin: 0; }
.cell-num-field[b-hx52zjjutl]  .form-control {
    font-size: 13px;
    height: 28px;
    width: 100%;
    text-align: right;
}
/* Nascondiamo il suggerimento decimali. */
.cell-num-field[b-hx52zjjutl]  [class$="-decimals-hint"] { display: none; }
/* Con il suggerimento nascosto rimuoviamo il padding-right riservato così Quantità e Prezzo
   restano a filo destro. !important perché le regole scoped dei componenti hanno pari specificità. */
.cell-num-field[b-hx52zjjutl]  .quantity-input,
.cell-num-field[b-hx52zjjutl]  .price-input {
    padding: 4px 8px !important;
    text-align: right !important;
}
/* La percentuale mantiene un piccolo spazio a destra per il simbolo %. */
.cell-num-field[b-hx52zjjutl]  .percentage-input {
    padding: 4px 1.6em 4px 8px !important;
    text-align: right !important;
}
.cell-num-field[b-hx52zjjutl]  .percentage-symbol { font-size: 11px; color: #94a3b8; }

/* Sotto-riga read-only con i campi di tracciabilità (aumenta l'altezza della riga). */
.line-trac-row td[b-hx52zjjutl] { padding: 6px 8px 10px 8px; border-bottom: 1px solid #e5e7eb; background: #fafafa; }
.trac-readonly[b-hx52zjjutl] { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline; }
.trac-title[b-hx52zjjutl] {
    font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
    color: #6b7280; margin-right: 4px;
}
.trac-item[b-hx52zjjutl] { font-size: 12px; color: #374151; white-space: nowrap; }
.trac-item-label[b-hx52zjjutl] { color: #9ca3af; }
.lines-hint[b-hx52zjjutl] { font-size: 12px; color: #9ca3af; margin: 8px 0 0 0; font-style: italic; }
.line-actions[b-hx52zjjutl] { display: flex; gap: 4px; }
.btn-icon[b-hx52zjjutl] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px;
    background: transparent; border: 1px solid transparent;
    color: #4b5563;
    cursor: pointer;
    border-radius: 4px;
}
.btn-icon-primary:hover[b-hx52zjjutl] { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }

/* Icona conferma riga: rosso = da confermare, verde = confermata. */
.btn-icon-confirm.needs-confirm[b-hx52zjjutl] { color: #b91c1c; }
.btn-icon-confirm.needs-confirm:hover[b-hx52zjjutl] { background: #fef2f2; border-color: #fecaca; }
.btn-icon-confirm.is-confirmed[b-hx52zjjutl] { color: #047857; }
.btn-icon-confirm.is-confirmed:hover[b-hx52zjjutl] { background: #ecfdf5; border-color: #a7f3d0; }
.btn-icon-danger:hover[b-hx52zjjutl] { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }

.line-lookup[b-hx52zjjutl] {
    display: flex;
    align-items: stretch;
    gap: 4px;
}
.line-lookup .form-control[b-hx52zjjutl] { flex: 1 1 auto; min-width: 0; }
.btn-lookup-sm[b-hx52zjjutl] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    flex: 0 0 28px;
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    color: #374151;
    cursor: pointer;
    border-radius: 4px;
    padding: 0;
}
.btn-lookup-sm:hover[b-hx52zjjutl] { background: #e5e7eb; color: #111827; }

/* Nota di riga sulle unità di misura: che cosa ha fatto il cambio d'unità, o perché non ha convertito.
   Non è un errore — è una spiegazione — quindi tono informativo e non allarme. §7.2.5, §7.3.1. */
.line-uom-note[b-hx52zjjutl] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-xs);
    color: #5c3c00;
    background-color: #fff8e6;
    border-left: 3px solid var(--color-warning, #b26a00);
}

.line-uom-note svg[b-hx52zjjutl] { flex-shrink: 0; }

.line-uom-note-close[b-hx52zjjutl] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-md);
    line-height: 1;
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
}

.line-uom-note-close:hover[b-hx52zjjutl] { opacity: 1; }
/* /Components/Pages/Purchasing/PurchaseDocumentGrouping.razor.rz.scp.css */
/* ===========================
   PurchaseDocumentGrouping - Scoped Styles
   Lista a card coerente con PurchaseDocumentList / OrderList.
   =========================== */

.page-container[b-v9zrg52gz5] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-v9zrg52gz5] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-v9zrg52gz5] { flex: 1; }
.page-header-right[b-v9zrg52gz5] { flex-shrink: 0; display: flex; gap: var(--space-2); }

.page-title[b-v9zrg52gz5] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-v9zrg52gz5] { color: var(--color-primary); flex-shrink: 0; }

.page-subtitle[b-v9zrg52gz5] { color: var(--text-muted); font-size: var(--font-size-sm); margin: var(--space-1) 0 0 0; }

/* Action buttons */
.btn-action[b-v9zrg52gz5] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover:not(:disabled)[b-v9zrg52gz5] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active:not(:disabled)[b-v9zrg52gz5] { background-color: var(--color-action-active); }
.btn-action:disabled[b-v9zrg52gz5] { opacity: 0.5; cursor: not-allowed; box-shadow: none; }

/* Variante secondaria */
.btn-action.btn-secondary[b-v9zrg52gz5] {
    background-color: transparent;
    color: var(--color-action);
    border-color: var(--color-action);
}
.btn-action.btn-secondary:hover:not(:disabled)[b-v9zrg52gz5] {
    background-color: var(--color-gray-100, rgba(0,0,0,0.04));
    color: var(--color-action);
}

/* Pulsante "Genera" per riga (compatto) */
.btn-row[b-v9zrg52gz5] { padding: var(--space-1) var(--space-3); font-size: var(--font-size-sm); }

/* Toolbar */
.toolbar[b-v9zrg52gz5] {
    display: flex;
    gap: var(--space-2);
    align-items: center;
    margin-bottom: var(--space-3);
}
.toolbar-spacer[b-v9zrg52gz5] { flex: 1; }

.select-all[b-v9zrg52gz5] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    cursor: pointer;
    user-select: none;
}
.select-all input[b-v9zrg52gz5] { cursor: pointer; }

/* Slider "Tutti / Solo elaborati" */
.switch[b-v9zrg52gz5] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    cursor: pointer;
    user-select: none;
    margin-left: var(--space-3);
}
.switch input[b-v9zrg52gz5] { position: absolute; opacity: 0; width: 0; height: 0; }
.switch-track[b-v9zrg52gz5] {
    position: relative;
    width: 38px; height: 20px;
    background-color: var(--color-gray-300, #cbd5e1);
    border-radius: 999px;
    transition: background-color var(--transition-fast) var(--transition-ease);
    flex-shrink: 0;
}
.switch-thumb[b-v9zrg52gz5] {
    position: absolute; top: 2px; left: 2px;
    width: 16px; height: 16px;
    background: #fff;
    border-radius: 50%;
    transition: transform var(--transition-fast) var(--transition-ease);
    box-shadow: var(--shadow-sm);
}
.switch input:checked + .switch-track[b-v9zrg52gz5] { background-color: var(--color-primary); }
.switch input:checked + .switch-track .switch-thumb[b-v9zrg52gz5] { transform: translateX(18px); }
.switch input:disabled + .switch-track[b-v9zrg52gz5] { opacity: 0.5; }
.switch-label[b-v9zrg52gz5] { font-size: var(--font-size-sm); color: var(--text-secondary); min-width: 92px; }

/* Riga già elaborata (attenuata, non selezionabile) */
.order-row.is-processed[b-v9zrg52gz5] { opacity: 0.7; cursor: default; }
.order-row.is-processed:hover[b-v9zrg52gz5] { background-color: transparent; }

/* Badge "Elaborato" */
.status-processed[b-v9zrg52gz5] { background: #eef2f7; color: #334155; border-color: #cbd5e1; }

/* Variante link (apre la fattura generata) */
.status-processed-link[b-v9zrg52gz5] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}
.status-processed-link:hover[b-v9zrg52gz5] { background: #dde5ef; color: #1e293b; text-decoration: none; }
.status-processed-link svg[b-v9zrg52gz5] { opacity: 0.8; }

/* Loading / empty */
.loading-state[b-v9zrg52gz5], .empty-state[b-v9zrg52gz5] {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3);
}
.empty-state svg[b-v9zrg52gz5] { opacity: 0.4; }
.empty-state-text[b-v9zrg52gz5] { font-size: var(--font-size-base); margin: 0; }

/* Card list */
.order-list[b-v9zrg52gz5] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }

.order-row[b-v9zrg52gz5] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
    cursor: pointer;
}
.order-row:last-child[b-v9zrg52gz5] { border-bottom: none; }
.order-row:hover[b-v9zrg52gz5] { background-color: rgba(11, 36, 62, 0.03); }
.order-row.is-selected[b-v9zrg52gz5] { background-color: rgba(11, 36, 62, 0.06); }

.row-check[b-v9zrg52gz5] { flex-shrink: 0; display: flex; align-items: center; }
.row-check input[b-v9zrg52gz5] { width: 16px; height: 16px; cursor: pointer; }

.order-avatar[b-v9zrg52gz5] {
    flex-shrink: 0;
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

.order-info[b-v9zrg52gz5] { flex: 1; min-width: 0; }

.order-name[b-v9zrg52gz5] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.order-meta[b-v9zrg52gz5] {
    display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap;
    font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px;
}
.order-code[b-v9zrg52gz5] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.8; }
.meta-separator[b-v9zrg52gz5] { color: var(--color-gray-300); }

.order-details[b-v9zrg52gz5] { display: flex; align-items: center; gap: var(--space-4); margin-top: var(--space-2); flex-wrap: wrap; }
.order-detail-item[b-v9zrg52gz5] { font-size: var(--font-size-xs); color: var(--text-muted); }
.detail-label[b-v9zrg52gz5] { color: var(--color-gray-400); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.3px; margin-right: var(--space-1); }

/* Selettore destinazione dentro la card */
.dest-picker[b-v9zrg52gz5] { display: inline-flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; }
.dest-picker select[b-v9zrg52gz5] {
    padding: 4px 8px;
    font-size: var(--font-size-sm);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-secondary);
    color: var(--color-gray-700);
}
.type-desc[b-v9zrg52gz5] { color: var(--text-muted); }
.text-muted[b-v9zrg52gz5] { color: var(--text-muted); }

/* Esito */
.order-badges[b-v9zrg52gz5] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-2); }
.result-open[b-v9zrg52gz5] { font-size: var(--font-size-xs); color: var(--color-action); text-decoration: none; }
.result-open:hover[b-v9zrg52gz5] { text-decoration: underline; }

.status-badge[b-v9zrg52gz5] {
    display: inline-flex;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
}
.status-saved[b-v9zrg52gz5] { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.status-pending[b-v9zrg52gz5] { background: #fef9c3; color: #854d0e; border-color: #fde68a; }
.status-error[b-v9zrg52gz5] { background: #fdeded; color: #b91c1c; border-color: #f5c2c2; }

/* Azioni */
.order-actions[b-v9zrg52gz5] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }

/* Responsive */
@media (max-width: 768px) {
    .page-header[b-v9zrg52gz5] { flex-direction: column; gap: var(--space-3); }
    .order-row[b-v9zrg52gz5] { flex-wrap: wrap; }
    .order-badges[b-v9zrg52gz5] { order: 5; }
    .order-actions[b-v9zrg52gz5] { order: 6; margin-left: auto; }
    .order-details[b-v9zrg52gz5] { flex-wrap: wrap; }
}
/* /Components/Pages/Purchasing/PurchaseDocumentLineTraceability.razor.rz.scp.css */
.page-container[b-gh1cmhj9z2] {
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px 16px;
}

.page-header[b-gh1cmhj9z2] { margin-bottom: 16px; }
/* Indietro → separatore → titolo: la forma di default dell'header di pagina
   (CLAUDE.md §«Header di pagina»). */
.page-header-left[b-gh1cmhj9z2] { flex: 1; display: flex; align-items: center; gap: var(--space-3); }
.page-heading[b-gh1cmhj9z2] { min-width: 0; }
.page-title[b-gh1cmhj9z2] { font-size: 22px; font-weight: 700; color: #111827; margin: 0; }

.alert-bar[b-gh1cmhj9z2] { display: flex; align-items: center; gap: 8px; padding: 12px 16px; margin-bottom: 12px; font-size: 13px; border-left: 4px solid; }
.alert-bar-danger[b-gh1cmhj9z2] { background: #fdeded; border-left-color: #b91c1c; color: #5f2120; }
.alert-bar-close[b-gh1cmhj9z2] { margin-left: auto; background: none; border: none; cursor: pointer; opacity: .6; font-size: 18px; }

.loading-state[b-gh1cmhj9z2], .empty-state[b-gh1cmhj9z2] { text-align: center; padding: 48px 16px; color: #6b7280; }

/* Tab Tracciabilità / Imballaggi */
.tab-bar[b-gh1cmhj9z2] { display: flex; gap: 2px; border-bottom: 1px solid #e5e7eb; margin-bottom: 16px; }
.tab[b-gh1cmhj9z2] {
    background: none; border: none; border-bottom: 2px solid transparent;
    padding: 8px 16px; cursor: pointer;
    font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em;
    color: #6b7280;
}
.tab:hover[b-gh1cmhj9z2] { color: #111827; }
.tab-active[b-gh1cmhj9z2] { color: #111827; border-bottom-color: #111827; }

.info-card[b-gh1cmhj9z2] {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 16px;
    margin-bottom: 16px;
}
.info-card-title[b-gh1cmhj9z2] {
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
    color: #6b7280; margin-bottom: 12px; border-bottom: 1px solid #f1f5f9; padding-bottom: 8px;
}
.info-grid[b-gh1cmhj9z2] { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px 16px; }
.info-row[b-gh1cmhj9z2] { display: grid; grid-template-columns: 160px 1fr; gap: 12px; align-items: start; }
.info-label[b-gh1cmhj9z2] { font-size: 11px; text-transform: uppercase; color: #6b7280; letter-spacing: 0.04em; padding-top: 2px; }
.info-value[b-gh1cmhj9z2] { font-size: 13px; color: #111827; overflow-wrap: anywhere; }

/* Griglia testata riga corrente: riga 1 (cod_art | descrizione), riga 2 (qta/UM/netto/pezzi/colli/pallet). */
.riga-grid[b-gh1cmhj9z2] {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    border: 1px solid #e5e7eb;
    border-bottom: none;
    border-right: none;
}
.riga-cell[b-gh1cmhj9z2] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 6px 10px;
    border-right: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    min-width: 0;
}
.riga-desc[b-gh1cmhj9z2] { grid-column: span 5; }
.riga-label[b-gh1cmhj9z2] { font-size: 10px; text-transform: uppercase; color: #9ca3af; letter-spacing: 0.04em; }
.riga-value[b-gh1cmhj9z2] { font-size: 13px; color: #111827; overflow-wrap: anywhere; }
.riga-value-strong[b-gh1cmhj9z2] { font-weight: 700; }

.form-section[b-gh1cmhj9z2] {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 16px;
    margin-bottom: 16px;
}
.form-section-title[b-gh1cmhj9z2] {
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
    color: #6b7280; margin-bottom: 12px; border-bottom: 1px solid #f1f5f9; padding-bottom: 8px;
}
.form-grid[b-gh1cmhj9z2] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    margin-bottom: 4px;
}
.form-group[b-gh1cmhj9z2] { display: flex; flex-direction: column; gap: 4px; }
.form-group label[b-gh1cmhj9z2] { font-size: 11px; text-transform: uppercase; color: #6b7280; letter-spacing: 0.04em; font-weight: 600; }

/* Colonna singola verticale che replica la disposizione legacy della tracciabilità. */
.trac-col[b-gh1cmhj9z2] { display: flex; flex-direction: column; gap: 7px; max-width: 560px; margin: 0 auto; }
.trac-inline[b-gh1cmhj9z2] { display: flex; gap: 12px; align-items: flex-start; }
.trac-inline > *[b-gh1cmhj9z2] { flex: 1 1 auto; }
.trac-inline .trac-age[b-gh1cmhj9z2] { flex: 0 0 120px; }

.form-actions[b-gh1cmhj9z2] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 16px;
}
/* /Components/Pages/Purchasing/PurchaseDocumentList.razor.rz.scp.css */
/* ===========================
   PurchaseDocumentList - Scoped Styles
   Stile "lista contatti": righe/card documenti di acquisto (FAA/BLA)
   Allineato a OrderList.razor.css
   =========================== */

.page-container[b-4qckoq8xlq] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}
/* Action buttons */
.btn-action[b-4qckoq8xlq] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-4qckoq8xlq] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:disabled[b-4qckoq8xlq] { opacity: 0.5; cursor: default; box-shadow: none; }

.btn-action-secondary[b-4qckoq8xlq] { background-color: transparent; color: var(--color-action); }
.btn-action-secondary:hover[b-4qckoq8xlq] { background-color: var(--color-gray-100, rgba(0,0,0,0.04)); color: var(--color-action); }

/* Alert bar */
.alert-bar[b-4qckoq8xlq] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-4qckoq8xlq] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }

.alert-bar-success[b-4qckoq8xlq] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }

.alert-bar-link[b-4qckoq8xlq] {
    color: inherit;
    font-weight: var(--font-weight-semibold);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.alert-bar-close[b-4qckoq8xlq] {
    margin-left: auto; background: none; border: none;
    font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1;
}
.alert-bar-close:hover[b-4qckoq8xlq] { opacity: 1; }

/* Status filter chips */
.status-filters[b-4qckoq8xlq] { display: flex; gap: var(--space-1); flex-wrap: wrap; margin-bottom: var(--space-3); }

.status-chip[b-4qckoq8xlq] {
    padding: var(--space-1) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: transparent;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    cursor: pointer;
}

.status-chip.is-active[b-4qckoq8xlq] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary, #fff);
}

/* Search bar */
.search-bar[b-4qckoq8xlq] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-4qckoq8xlq] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-4qckoq8xlq] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-4qckoq8xlq] {
    flex: 1; border: none; background: transparent;
    font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0;
}
.search-input[b-4qckoq8xlq]::placeholder { color: var(--text-muted); }
.search-count[b-4qckoq8xlq] {
    flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted);
    font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px;
}

/* Loading / empty */
.loading-state[b-4qckoq8xlq], .empty-state[b-4qckoq8xlq] {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3);
}
.empty-state svg[b-4qckoq8xlq] { opacity: 0.4; }
.empty-state-text[b-4qckoq8xlq] { font-size: var(--font-size-base); margin: 0; }

/* Avviso «termine troppo corto»: la ricerca è lato server e sotto i 2 caratteri non parte,
   quindi va detto, altrimenti la lista sembra semplicemente non reagire alla digitazione. */
.search-hint[b-4qckoq8xlq] {
    margin: calc(var(--space-2) * -1) 0 var(--space-3);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* Document list (righe) */
.order-list[b-4qckoq8xlq] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }

.order-row[b-4qckoq8xlq] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
    cursor: pointer;
}
.order-row:last-child[b-4qckoq8xlq] { border-bottom: none; }
.order-row:hover[b-4qckoq8xlq] { background-color: rgba(11, 36, 62, 0.03); }

.order-avatar[b-4qckoq8xlq] {
    flex-shrink: 0;
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

.order-info[b-4qckoq8xlq] { flex: 1; min-width: 0; }

.order-name[b-4qckoq8xlq] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.order-meta[b-4qckoq8xlq] {
    display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap;
    font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px;
}
.order-code[b-4qckoq8xlq] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.8; }
.meta-separator[b-4qckoq8xlq] { color: var(--color-gray-300); }

/* Descrizione tipo documento evidenziata (chip in risalto nella riga) */
.doc-type-chip[b-4qckoq8xlq] {
    display: inline-flex;
    align-items: center;
    padding: 2px var(--space-2);
    background-color: var(--color-primary);
    color: var(--text-on-primary, #fff);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

.order-details[b-4qckoq8xlq] { display: flex; align-items: center; gap: var(--space-4); margin-top: var(--space-1); flex-wrap: wrap; }
.order-detail-item[b-4qckoq8xlq] { font-size: var(--font-size-xs); color: var(--text-muted); }

/* Partita: chip navigabile, in risalto sulle altre voci di dettaglio (che sono testo grigio).
   In MTS la partita lega acquisto, lavorazione e vendita: è un'entità, non un attributo. */
.round-chip[b-4qckoq8xlq] {
    display: inline-flex; align-items: center; gap: var(--space-1);
    padding: 1px var(--space-2);
    border: var(--border-width-thin) solid var(--color-primary);
    color: var(--color-primary);
    background-color: transparent;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0.2px;
    white-space: nowrap;
    text-decoration: none;
    transition: background-color var(--transition-fast) var(--transition-ease),
                color var(--transition-fast) var(--transition-ease);
}
.round-chip:hover[b-4qckoq8xlq],
.round-chip:focus-visible[b-4qckoq8xlq] {
    background-color: var(--color-primary);
    color: var(--text-on-primary, #fff);
    text-decoration: none;
}
.detail-label[b-4qckoq8xlq] { color: var(--color-gray-400); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.3px; margin-right: 2px; }

/* Totali documento (MovRigheTotale) — stesso impianto delle KPI di riga di RoundList.
 *
 * I badge hanno LARGHEZZA FISSA perché devono formare colonne allineate fra le righe della lista:
 * dimensionati sul contenuto, ogni riga li posiziona diversamente e i numeri non si possono più
 * confrontare in verticale, che è l'unica ragione per cui stanno in lista.
 *
 * È min-width, non width: un totale fuori scala allarga il badge di quella riga invece di essere
 * troncato. Un numero tagliato con i puntini si legge come un numero diverso — una riga disallineata
 * si vede e basta. Le misure sotto coprono con margine i valori realistici, quindi in pratica la
 * larghezza è fissa. */
.order-totals[b-4qckoq8xlq] { flex-shrink: 0; display: flex; align-items: stretch; gap: var(--space-2); }

.total-badge[b-4qckoq8xlq] {
    flex-shrink: 0;
    display: flex; flex-direction: column; align-items: flex-end; justify-content: center;
    gap: 2px;
    padding: var(--space-1) var(--space-2);
    background-color: var(--color-gray-100);
}

/* Quantità merce · valore merce */
.total-badge-goods[b-4qckoq8xlq] { min-width: 200px; }

/* Pezzi · colli · pallet · netto — l'etichetta è più lunga dei valori e detta la misura */
.total-badge-logistics[b-4qckoq8xlq] { min-width: 232px; }

.total-label[b-4qckoq8xlq] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    text-transform: uppercase; letter-spacing: .04em;
    white-space: nowrap;
}

.total-value[b-4qckoq8xlq] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    /* Cifre a larghezza fissa: le colonne di numeri restano allineate fra righe diverse. */
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.total-sep[b-4qckoq8xlq] { color: var(--color-gray-300); margin: 0 4px; }

/* Larghezza riservata anche quando "Fatturata" non c'è: senza, le righe fatturate spingerebbero
 * verso sinistra tutto il blocco dei totali, disallineando le colonne proprio fra le righe che si
 * vogliono confrontare. Allineato a destra, così lo stato resta adiacente alle azioni. */
.order-badges[b-4qckoq8xlq] {
    flex-shrink: 0;
    display: flex; gap: var(--space-2); justify-content: flex-end; align-items: center;
    min-width: 252px;
}

/* Status badge (ind_stato_doc) — larghezza fissa: l'etichetta più lunga è "Salvato gestionale" */
.doc-status[b-4qckoq8xlq] {
    flex-shrink: 0;
    min-width: 156px;
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase; letter-spacing: 0.3px;
    border: var(--border-width-thin) solid transparent;
    white-space: nowrap;
    text-align: center;
}

/* "Fatturata" è opzionale e di testo fisso: misura propria, più stretta dello stato. */
.doc-status.is-linked[b-4qckoq8xlq] { min-width: 88px; }
.doc-status.is-draft[b-4qckoq8xlq]      { background-color: var(--color-gray-100); color: var(--text-muted); border-color: var(--border-color-light); }
.doc-status.is-tobesaved[b-4qckoq8xlq]  { background-color: #fff4e5; color: #7a4f01; border-color: #f2c98a; }
.doc-status.is-saved[b-4qckoq8xlq]      { background-color: #e7f5ec; color: #1b5e34; border-color: #a6d8b8; }
.doc-status.is-savederp[b-4qckoq8xlq]   { background-color: #e8eef6; color: #1c3d63; border-color: #a9c1de; }
.doc-status.is-unknown[b-4qckoq8xlq]    { background-color: var(--color-gray-100); color: var(--text-muted); }
.doc-status.is-linked[b-4qckoq8xlq]     { background-color: #eef2fb; color: #2a3f6b; border-color: #b9c6e4; }
/* «Ausiliari»: area del tipo documento senza tracciabilità e imballi. Testo fisso, misura propria. */
.doc-status.is-auxiliary[b-4qckoq8xlq]  { min-width: 80px; background-color: #f3f0fa; color: #4a3a7a; border-color: #cfc4e8; }

/* Action buttons */
.order-actions[b-4qckoq8xlq] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }

.action-separator[b-4qckoq8xlq] {
    width: 1px;
    align-self: stretch;
    min-height: 20px;
    margin: 0 var(--space-1);
    background-color: var(--border-color-light);
}

.btn-icon[b-4qckoq8xlq] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px;
    background: none; border: var(--border-width-thin) solid transparent;
    cursor: pointer; color: var(--text-muted); text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}
.btn-icon:hover[b-4qckoq8xlq] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

/* Link al documento generato: distinto dalle altre azioni di riga. */
.btn-icon-linked[b-4qckoq8xlq] { color: var(--color-action); }

.btn-icon:disabled[b-4qckoq8xlq] { opacity: 0.4; cursor: default; }
.btn-icon:disabled:hover[b-4qckoq8xlq] { color: var(--text-muted); background: none; border-color: transparent; }

/* Dialog di conferma (generazione fattura dalla bolla) */
.overlay[b-4qckoq8xlq] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-4qckoq8xlq] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 460px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-4qckoq8xlq] { color: var(--color-action); margin-bottom: var(--space-4); }

.confirm-dialog h3[b-4qckoq8xlq] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-4qckoq8xlq] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog .form-select[b-4qckoq8xlq] {
    width: 100%;
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    color: var(--text-primary);
}

.confirm-warning[b-4qckoq8xlq] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-4qckoq8xlq] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

/* Paginazione */
.list-pagination[b-4qckoq8xlq] {
    display: flex; align-items: center; justify-content: center;
    gap: var(--space-3); margin-top: var(--space-4);
}
.pagination-info[b-4qckoq8xlq] { color: var(--text-muted); font-size: var(--font-size-sm); }

/* Responsive */
@media (max-width: 768px) {
    .order-row[b-4qckoq8xlq] { flex-wrap: wrap; }
    /* I totali vanno a capo prima di stato e azioni, e possono spezzarsi su due righe. */
    .order-totals[b-4qckoq8xlq] { order: 4; flex-wrap: wrap; }
    .order-badges[b-4qckoq8xlq] { order: 5; }
    .order-actions[b-4qckoq8xlq] { order: 6; margin-left: auto; }
    .order-details[b-4qckoq8xlq] { flex-wrap: wrap; }

    /* Le larghezze fisse servono ad allineare colonne su righe affiancate: quando la riga si spezza
       le colonne non esistono più, e imporle qui farebbe solo traboccare la card. */
    .total-badge-goods[b-4qckoq8xlq],
    .total-badge-logistics[b-4qckoq8xlq] { min-width: 0; }
    .order-badges[b-4qckoq8xlq] { min-width: 0; }
    .doc-status[b-4qckoq8xlq] { min-width: 0; }
}
/* /Components/Pages/Purchasing/PurchaseDocumentListByMetaquery.razor.rz.scp.css */
/* Pulsante "torna al menu": affianca il blocco icona/titolo/sottotitolo. */
.page-header-left[b-uz6aconxlq] { display: flex; align-items: center; gap: var(--space-3); }
.page-heading[b-uz6aconxlq] { min-width: 0; }
/* /Components/Pages/Purchasing/PurchaseDocumentScan.razor.rz.scp.css */
/* ===========================
   Cromo di pagina
   In questo progetto container, header, alert e stati non sono globali ma scoped per pagina.
   =========================== */

.page-container[b-hekpzn2ulc] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-hekpzn2ulc] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

/* Indietro → separatore → titolo: la forma di default dell'header di pagina
   (CLAUDE.md §«Header di pagina»). */
.page-header-left[b-hekpzn2ulc] { flex: 1; min-width: 0; display: flex; align-items: center; gap: var(--space-3); }
.page-heading[b-hekpzn2ulc] { min-width: 0; }

.page-title[b-hekpzn2ulc] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    /* Il margine superiore serviva a staccare il titolo dal link «indietro» che gli stava SOPRA.
       Ora il pulsante è accanto, e quel margine scentrerebbe la riga. */
    margin: 0;
}

.page-subtitle[b-hekpzn2ulc] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

.alert-bar[b-hekpzn2ulc] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-hekpzn2ulc] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-success[b-hekpzn2ulc] { background-color: #e8f5ee; border-left-color: var(--color-success); color: #17603f; }

.alert-bar span[b-hekpzn2ulc] { flex: 1; }

.alert-bar-close[b-hekpzn2ulc] {
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-hekpzn2ulc] { opacity: 1; }

.loading-state[b-hekpzn2ulc], .empty-state[b-hekpzn2ulc] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
}

.empty-state-hint[b-hekpzn2ulc] { font-size: 0.85rem; color: #6b7280; margin: 0.35rem 0; }

/* ===========================
   Barra di comando
   Il contatore sta a sinistra e il campo codice occupa lo spazio: è quello che riceve
   il fuoco, ed è dove l'operatore incolla quando lo scanner non ce la fa.
   =========================== */

.scan-toolbar[b-hekpzn2ulc] {
    display: flex;
    align-items: flex-end;
    gap: 0.8rem;
    flex-wrap: wrap;
    padding: 0.8rem 1rem;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    margin-bottom: var(--space-4);
}

.scan-counter[b-hekpzn2ulc] { flex: 0 0 8rem; }
.scan-input[b-hekpzn2ulc] { flex: 1 1 20rem; min-width: 14rem; }

.scan-toolbar .form-label[b-hekpzn2ulc] {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
    color: #6b7280;
}

.btn-row[b-hekpzn2ulc] { display: flex; gap: 0.4rem; }

/* ===========================
   Collo in corso
   Bordo marcato: è l'unica cosa che l'operatore guarda mentre legge.
   =========================== */

.card[b-hekpzn2ulc] {
    background: #fff;
    border: 1px solid #e5e7eb;
    margin-bottom: var(--space-4);
}

.card-header[b-hekpzn2ulc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: 0.7rem 1rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.card-header h2[b-hekpzn2ulc] { margin: 0; font-size: 0.95rem; font-weight: 700; color: var(--color-primary); }
.card-body[b-hekpzn2ulc] { padding: 1rem; }

.current-package[b-hekpzn2ulc] { border-color: var(--color-primary, #1e40af); border-width: 2px; }

/* ===========================
   Totali
   =========================== */

.scan-totals[b-hekpzn2ulc] {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
    padding: 0.6rem 1rem;
    margin-bottom: var(--space-4);
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    font-size: 0.88rem;
    color: #475569;
}

.scan-totals strong[b-hekpzn2ulc] {
    font-size: 1.15rem;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
    margin-right: 0.25rem;
}

/* ===========================
   Tabelle
   =========================== */

.data-table[b-hekpzn2ulc] { width: 100%; border-collapse: collapse; background: #fff; }

.data-table th[b-hekpzn2ulc] {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #6b7280;
    text-align: left;
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.data-table td[b-hekpzn2ulc] {
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.9rem;
}

.data-table.compact td[b-hekpzn2ulc], .data-table.compact th[b-hekpzn2ulc] { padding: 0.35rem 0.5rem; font-size: 0.85rem; }

.data-table .col-num[b-hekpzn2ulc] { width: 4rem; text-align: right; }
.data-table .col-ai[b-hekpzn2ulc] { width: 5rem; }
.data-table .col-lot[b-hekpzn2ulc] { width: 10rem; }
.data-table .col-date[b-hekpzn2ulc] { width: 8rem; }
.data-table .col-qty[b-hekpzn2ulc] { width: 7rem; text-align: right; }
.data-table .col-actions[b-hekpzn2ulc] { width: 6rem; text-align: right; white-space: nowrap; }

/* Un collo non risolto NON si nasconde: si marca. Nasconderlo farebbe credere
   all'operatore di aver letto tutto. */
.data-table tr.is-unresolved td[b-hekpzn2ulc] { background: #fffbeb; }

/* Separatore sospetto: il valore SEMBRA giusto, ed è per questo che va evidenziato. */
.data-table tr.is-suspect td[b-hekpzn2ulc] { background: #fef2f2; }

.unresolved-reason[b-hekpzn2ulc] { color: #92400e; font-size: 0.85rem; }

.code-badge[b-hekpzn2ulc] {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    background: #eef2f7;
    border: 1px solid #d7dee8;
    color: #334155;
    font-size: 0.8rem;
    font-weight: 700;
}

.mono[b-hekpzn2ulc] { font-family: var(--font-mono, 'Courier New', monospace); }

.badge[b-hekpzn2ulc] {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    border: 1px solid transparent;
}

.badge-success[b-hekpzn2ulc] { background: #e8f5ee; border-color: #b7e0c8; color: #17603f; }
.badge-info[b-hekpzn2ulc]    { background: #eff6ff; border-color: #bfdbfe; color: #1e40af; }
.badge-warning[b-hekpzn2ulc] { background: #fff8e6; border-color: #f5d78e; color: #7a4b06; }
.badge-danger[b-hekpzn2ulc]  { background: #fef2f2; border-color: #fecaca; color: #b91c1c; }

.form-hint[b-hekpzn2ulc] { font-size: 0.78rem; color: #6b7280; }

.btn-sm[b-hekpzn2ulc] { padding: 0.25rem 0.7rem; font-size: 0.82rem; }

/* ===========================
   Conferma
   Il pulsante di conferma dice quante righe genererà: sta a destra, isolato.
   =========================== */

.scan-actions[b-hekpzn2ulc] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
    padding-top: var(--space-2);
}
/* /Components/Pages/Purchasing/Reports/DocumentPurchasesByDocs.razor.rz.scp.css */
/* ===========================
   DocumentPurchasesByDocs - Scoped Styles
   Brogliaccio acquisti per documento (stile report MTS SaaS,
   allineato a DocumentSalesByDocs / ArticleStockReport)
   =========================== */

.page-container[b-owwjpk39me] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Cursore "in caricamento" su tutta la pagina mentre i dati si caricano */
.page-container.is-loading[b-owwjpk39me],
.page-container.is-loading *[b-owwjpk39me] {
    cursor: progress;
}

.page-header[b-owwjpk39me] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-owwjpk39me] {
    flex: 1;
}

.page-title[b-owwjpk39me] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-owwjpk39me] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-owwjpk39me] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Filter bar */
/* Card filtri su DUE righe: i campi sopra, le scorciatoie di periodo sotto.
   Le scorciatoie non sono un campo ma comandi, e in linea con i campi obbligavano a impaginare
   sei pulsanti dentro un gruppo alto quanto un input. */
.filter-bar[b-owwjpk39me] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Prima riga: i campi. flex-end perche' hanno l'etichetta sopra e vanno allineati sulla base. */
.filter-row[b-owwjpk39me] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
}

/* Seconda riga: separata da un filetto e visivamente subordinata — la gerarchia dice che il
   periodo si imposta sopra e qui si scorciatoia, non che ci sono due modi paralleli. */
.filter-row-quick[b-owwjpk39me] {
    align-items: center;
    gap: var(--space-2);
    padding-top: var(--space-2);
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

/* Il pulsante di ricerca a fine riga: separato dai campi, non uno di essi. */
.filter-actions[b-owwjpk39me] {
    margin-left: auto;
    padding-bottom: 2px;
}

.filter-group[b-owwjpk39me] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 140px;
}

.filter-group-check[b-owwjpk39me] {
    min-width: auto;
}

.filter-label[b-owwjpk39me] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-input[b-owwjpk39me] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-owwjpk39me] {
    border-color: var(--color-primary);
}

/* Allinea il DateField (componente MTS, culture del tenant) agli altri controlli del filter-bar */
.filter-group-date[b-owwjpk39me] {
    min-width: 160px;
}

.filter-group-date[b-owwjpk39me]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-date[b-owwjpk39me]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-date[b-owwjpk39me]  .date-input {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* ===== SelectField dentro la barra =====
   Gli ::deep replicano .filter-input: il controllo condiviso deve risultare
   indistinguibile dai pulsanti dei multiselect che gli stanno accanto. */
.filter-group-datetype[b-owwjpk39me] {
    min-width: 175px;
}

.filter-group-datetype[b-owwjpk39me]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-datetype[b-owwjpk39me]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-datetype[b-owwjpk39me]  .select-input {
    padding: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Periodi rapidi */
/* Etichetta della riga scorciatoie: A FIANCO dei pulsanti, non sopra — qui non c'e' piu' un campo
   da allineare agli altri. Stessa tipografia di .filter-label per non introdurre un terzo stile
   di etichetta nella stessa card. */
.quick-label[b-owwjpk39me] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    flex: 0 0 auto;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.quick-label svg[b-owwjpk39me] {
    color: var(--text-muted);
}

.quick-periods[b-owwjpk39me] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1);
}

.quick-period-btn[b-owwjpk39me] {
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    cursor: pointer;
    white-space: nowrap;
    transition: background-color var(--transition-fast) var(--transition-ease),
                border-color var(--transition-fast) var(--transition-ease),
                color var(--transition-fast) var(--transition-ease);
}

.quick-period-btn:hover[b-owwjpk39me] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* La scorciatoia in uso. Si spegne appena le date vengono modificate a mano: vedi
   OnStartDateChanged nel code-behind. */
.quick-period-btn.is-active[b-owwjpk39me] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary);
}

.filter-group-select[b-owwjpk39me] {
    min-width: 200px;
}

/* Il MultiSelectField condiviso dentro la barra: stessi override di densita' degli altri
   controlli condivisi. */
.filter-group-select[b-owwjpk39me]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-select[b-owwjpk39me]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-select[b-owwjpk39me]  .multiselect-toggle {
    padding: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Summary Stats */
.summary-stats[b-owwjpk39me] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-owwjpk39me] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-owwjpk39me] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-owwjpk39me] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Alert Bars */
.alert-bar[b-owwjpk39me] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-owwjpk39me] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-owwjpk39me] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-owwjpk39me] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-owwjpk39me] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-owwjpk39me] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-owwjpk39me] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-owwjpk39me] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-owwjpk39me]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-owwjpk39me] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-owwjpk39me] {
    color: var(--color-primary);
}

.search-count[b-owwjpk39me] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-owwjpk39me],
.empty-state[b-owwjpk39me] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-owwjpk39me] {
    opacity: 0.4;
}

.empty-state-text[b-owwjpk39me] {
    font-size: var(--font-size-base);
    margin: 0;
}

.btn-outline-primary[b-owwjpk39me] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-owwjpk39me] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Report Table */
.report-table-wrapper[b-owwjpk39me] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-owwjpk39me] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
    table-layout: fixed;
}

/* Le celle di dettaglio possono troncare con ellissi mantenendo l'allineamento a larghezza fissa */
.report-table td[b-owwjpk39me] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.report-table thead[b-owwjpk39me] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-owwjpk39me] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    text-align: left;
}

.report-table thead th.col-num[b-owwjpk39me] {
    text-align: right;
}

.report-table thead th.col-um[b-owwjpk39me] {
    text-align: center;
}

/* Riga di intestazione (titolo + totali generali) */
.report-table thead tr:first-child th[b-owwjpk39me] {
    font-size: var(--font-size-sm);
    text-transform: none;
    letter-spacing: 0;
    border-bottom: var(--border-width-thin) solid rgba(255, 255, 255, 0.15);
    font-weight: var(--font-weight-bold);
}

/* Seconda riga thead = intestazioni colonna (stile standard xs uppercase) */
.report-table thead tr.col-head-row th[b-owwjpk39me] {
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-semibold);
    border-bottom: 2px solid var(--color-primary);
}

.report-table tbody tr[b-owwjpk39me] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-owwjpk39me] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-owwjpk39me] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table td[b-owwjpk39me] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.col-code[b-owwjpk39me] {
    text-align: left;
}

.col-desc[b-owwjpk39me] {
    text-align: left;
    min-width: 200px;
    max-width: 320px;
    white-space: normal;
}

.col-um[b-owwjpk39me] {
    text-align: center;
}

.col-num[b-owwjpk39me] {
    text-align: right;
}

.cell-code[b-owwjpk39me] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.85;
}

.cell-sub[b-owwjpk39me] {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* Riga documento (intestazione di gruppo) */
.report-table tbody tr.group-row[b-owwjpk39me] {
    background-color: transparent !important;
}

.report-table tbody tr.group-row td[b-owwjpk39me] {
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.report-table tbody tr.group-row-month td[b-owwjpk39me] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.group-row-month td strong[b-owwjpk39me] {
    color: var(--color-primary);
}

.report-table tbody tr.group-row-month .cell-sub[b-owwjpk39me] {
    display: inline;
    margin-left: var(--space-2);
}

.report-table tbody tr.group-row:hover[b-owwjpk39me] {
    background-color: transparent !important;
}

.group-count[b-owwjpk39me] {
    font-weight: var(--font-weight-normal);
    text-transform: none;
    letter-spacing: 0;
    opacity: 0.75;
}

/* Rientro leggero per le righe di dettaglio articolo */
.report-table tbody tr.doc-detail td:first-child[b-owwjpk39me] {
    padding-left: var(--space-5);
}

.report-table tbody tr.doc-detail:nth-child(even)[b-owwjpk39me] {
    background-color: var(--bg-secondary);
}

@media (max-width: 768px) {
    .page-header[b-owwjpk39me] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-owwjpk39me] {
        padding: var(--space-4) var(--space-2);
    }
}

/* ═══ STAMPA ═══ */
@media print {
    .filter-bar[b-owwjpk39me],
    .search-bar[b-owwjpk39me],
    .alert-bar[b-owwjpk39me],
    .page-header-right[b-owwjpk39me] {
        display: none !important;
    }

    .page-container[b-owwjpk39me],
    .page-container.is-loading[b-owwjpk39me],
    .page-container.is-loading *[b-owwjpk39me] {
        cursor: auto !important;
    }

    .page-container[b-owwjpk39me] {
        max-width: none;
        padding: 0;
    }

    .page-title[b-owwjpk39me] {
        font-size: 16pt;
    }

    .report-table-wrapper[b-owwjpk39me] {
        overflow: visible;
        border: 1px solid #333;
        page-break-inside: auto;
    }

    .report-table[b-owwjpk39me] {
        font-size: 8pt;
    }

    .report-table thead[b-owwjpk39me] {
        display: table-header-group;
    }

    .report-table thead th[b-owwjpk39me],
    .report-table tbody tr.group-row-month td[b-owwjpk39me] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .report-table tbody tr[b-owwjpk39me],
    .report-table thead tr[b-owwjpk39me] {
        page-break-inside: avoid;
    }

    .summary-stats[b-owwjpk39me] {
        page-break-inside: avoid;
    }

    .stat-card[b-owwjpk39me] {
        border: 1px solid #333;
    }
}
/* /Components/Pages/Purchasing/Reports/DocumentPurchasesByItem.razor.rz.scp.css */
/* ===========================
   DocumentPurchasesByItem - Scoped Styles
   Brogliaccio acquisti per articolo (stile report MTS SaaS,
   allineato a DocumentSalesByItem / ArticleStockReport)
   =========================== */

.page-container[b-oy3o81z7xz] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Cursore "in caricamento" su tutta la pagina mentre i dati si caricano */
.page-container.is-loading[b-oy3o81z7xz],
.page-container.is-loading *[b-oy3o81z7xz] {
    cursor: progress;
}

.page-header[b-oy3o81z7xz] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-oy3o81z7xz] {
    flex: 1;
}

.page-title[b-oy3o81z7xz] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-oy3o81z7xz] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-oy3o81z7xz] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Filter bar */
/* Card filtri su DUE righe: i campi sopra, le scorciatoie di periodo sotto.
   Le scorciatoie non sono un campo ma comandi, e in linea con i campi obbligavano a impaginare
   sei pulsanti dentro un gruppo alto quanto un input. */
.filter-bar[b-oy3o81z7xz] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Prima riga: i campi. flex-end perche' hanno l'etichetta sopra e vanno allineati sulla base. */
.filter-row[b-oy3o81z7xz] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
}

/* Seconda riga: separata da un filetto e visivamente subordinata — la gerarchia dice che il
   periodo si imposta sopra e qui si scorciatoia, non che ci sono due modi paralleli. */
.filter-row-quick[b-oy3o81z7xz] {
    align-items: center;
    gap: var(--space-2);
    padding-top: var(--space-2);
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

/* Il pulsante di ricerca a fine riga: separato dai campi, non uno di essi. */
.filter-actions[b-oy3o81z7xz] {
    margin-left: auto;
    padding-bottom: 2px;
}

.filter-group[b-oy3o81z7xz] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 140px;
}

.filter-group-check[b-oy3o81z7xz] {
    min-width: auto;
}

.filter-label[b-oy3o81z7xz] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-input[b-oy3o81z7xz] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-oy3o81z7xz] {
    border-color: var(--color-primary);
}

/* Allinea il DateField (componente MTS, culture del tenant) agli altri controlli del filter-bar */
.filter-group-date[b-oy3o81z7xz] {
    min-width: 160px;
}

.filter-group-date[b-oy3o81z7xz]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-date[b-oy3o81z7xz]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-date[b-oy3o81z7xz]  .date-input {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* ===== SelectField dentro la barra =====
   Gli ::deep replicano .filter-input: il controllo condiviso deve risultare
   indistinguibile dai pulsanti dei multiselect che gli stanno accanto. */
.filter-group-datetype[b-oy3o81z7xz] {
    min-width: 175px;
}

.filter-group-datetype[b-oy3o81z7xz]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-datetype[b-oy3o81z7xz]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-datetype[b-oy3o81z7xz]  .select-input {
    padding: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Periodi rapidi */
/* Etichetta della riga scorciatoie: A FIANCO dei pulsanti, non sopra — qui non c'e' piu' un campo
   da allineare agli altri. Stessa tipografia di .filter-label per non introdurre un terzo stile
   di etichetta nella stessa card. */
.quick-label[b-oy3o81z7xz] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    flex: 0 0 auto;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.quick-label svg[b-oy3o81z7xz] {
    color: var(--text-muted);
}

.quick-periods[b-oy3o81z7xz] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1);
}

.quick-period-btn[b-oy3o81z7xz] {
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    cursor: pointer;
    white-space: nowrap;
    transition: background-color var(--transition-fast) var(--transition-ease),
                border-color var(--transition-fast) var(--transition-ease),
                color var(--transition-fast) var(--transition-ease);
}

.quick-period-btn:hover[b-oy3o81z7xz] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* La scorciatoia in uso. Si spegne appena le date vengono modificate a mano: vedi
   OnStartDateChanged nel code-behind. */
.quick-period-btn.is-active[b-oy3o81z7xz] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary);
}

.filter-group-select[b-oy3o81z7xz] {
    min-width: 200px;
}

/* Il MultiSelectField condiviso dentro la barra: stessi override di densita' degli altri
   controlli condivisi. */
.filter-group-select[b-oy3o81z7xz]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-select[b-oy3o81z7xz]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-select[b-oy3o81z7xz]  .multiselect-toggle {
    padding: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Summary Stats */
.summary-stats[b-oy3o81z7xz] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-oy3o81z7xz] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-oy3o81z7xz] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-oy3o81z7xz] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Alert Bars */
.alert-bar[b-oy3o81z7xz] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-oy3o81z7xz] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-oy3o81z7xz] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-oy3o81z7xz] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-oy3o81z7xz] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-oy3o81z7xz] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-oy3o81z7xz] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-oy3o81z7xz] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-oy3o81z7xz]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-oy3o81z7xz] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-oy3o81z7xz] {
    color: var(--color-primary);
}

.search-count[b-oy3o81z7xz] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-oy3o81z7xz],
.empty-state[b-oy3o81z7xz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-oy3o81z7xz] {
    opacity: 0.4;
}

.empty-state-text[b-oy3o81z7xz] {
    font-size: var(--font-size-base);
    margin: 0;
}

.btn-outline-primary[b-oy3o81z7xz] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-oy3o81z7xz] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Report Table */
.report-table-wrapper[b-oy3o81z7xz] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-oy3o81z7xz] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
    table-layout: fixed;
}

/* Le celle di dettaglio possono troncare con ellissi mantenendo l'allineamento a larghezza fissa */
.report-table td[b-oy3o81z7xz] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.report-table thead[b-oy3o81z7xz] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-oy3o81z7xz] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    text-align: left;
}

.report-table thead th.col-num[b-oy3o81z7xz] {
    text-align: right;
}

.report-table thead th.col-um[b-oy3o81z7xz] {
    text-align: center;
}

/* Riga di intestazione (titolo + totali generali) */
.report-table thead tr:first-child th[b-oy3o81z7xz] {
    font-size: var(--font-size-sm);
    text-transform: none;
    letter-spacing: 0;
    border-bottom: var(--border-width-thin) solid rgba(255, 255, 255, 0.15);
    font-weight: var(--font-weight-bold);
}

/* Seconda riga thead = intestazioni colonna (stile standard xs uppercase) */
.report-table thead tr.col-head-row th[b-oy3o81z7xz] {
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-semibold);
    border-bottom: 2px solid var(--color-primary);
}

.report-table tbody tr[b-oy3o81z7xz] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-oy3o81z7xz] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-oy3o81z7xz] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table td[b-oy3o81z7xz] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.col-code[b-oy3o81z7xz] {
    text-align: left;
}

.col-desc[b-oy3o81z7xz] {
    text-align: left;
    min-width: 200px;
    max-width: 320px;
    white-space: normal;
}

.col-um[b-oy3o81z7xz] {
    text-align: center;
}

.col-num[b-oy3o81z7xz] {
    text-align: right;
}

.cell-code[b-oy3o81z7xz] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.85;
}

.cell-sub[b-oy3o81z7xz] {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* Riga documento (intestazione di gruppo) */
.report-table tbody tr.group-row[b-oy3o81z7xz] {
    background-color: transparent !important;
}

.report-table tbody tr.group-row td[b-oy3o81z7xz] {
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.report-table tbody tr.group-row-month td[b-oy3o81z7xz] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.group-row-month td strong[b-oy3o81z7xz] {
    color: var(--color-primary);
}

.report-table tbody tr.group-row-month .cell-sub[b-oy3o81z7xz] {
    display: inline;
    margin-left: var(--space-2);
}

.report-table tbody tr.group-row:hover[b-oy3o81z7xz] {
    background-color: transparent !important;
}

.group-count[b-oy3o81z7xz] {
    font-weight: var(--font-weight-normal);
    text-transform: none;
    letter-spacing: 0;
    opacity: 0.75;
}

/* Rientro leggero per le righe di dettaglio articolo */
.report-table tbody tr.doc-detail td:first-child[b-oy3o81z7xz] {
    padding-left: var(--space-5);
}

.report-table tbody tr.doc-detail:nth-child(even)[b-oy3o81z7xz] {
    background-color: var(--bg-secondary);
}

@media (max-width: 768px) {
    .page-header[b-oy3o81z7xz] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-oy3o81z7xz] {
        padding: var(--space-4) var(--space-2);
    }
}

/* ═══ STAMPA ═══ */
@media print {
    .filter-bar[b-oy3o81z7xz],
    .search-bar[b-oy3o81z7xz],
    .alert-bar[b-oy3o81z7xz],
    .page-header-right[b-oy3o81z7xz] {
        display: none !important;
    }

    .page-container[b-oy3o81z7xz],
    .page-container.is-loading[b-oy3o81z7xz],
    .page-container.is-loading *[b-oy3o81z7xz] {
        cursor: auto !important;
    }

    .page-container[b-oy3o81z7xz] {
        max-width: none;
        padding: 0;
    }

    .page-title[b-oy3o81z7xz] {
        font-size: 16pt;
    }

    .report-table-wrapper[b-oy3o81z7xz] {
        overflow: visible;
        border: 1px solid #333;
        page-break-inside: auto;
    }

    .report-table[b-oy3o81z7xz] {
        font-size: 8pt;
    }

    .report-table thead[b-oy3o81z7xz] {
        display: table-header-group;
    }

    .report-table thead th[b-oy3o81z7xz],
    .report-table tbody tr.group-row-month td[b-oy3o81z7xz] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .report-table tbody tr[b-oy3o81z7xz],
    .report-table thead tr[b-oy3o81z7xz] {
        page-break-inside: avoid;
    }

    .summary-stats[b-oy3o81z7xz] {
        page-break-inside: avoid;
    }

    .stat-card[b-oy3o81z7xz] {
        border: 1px solid #333;
    }
}
/* /Components/Pages/Purchasing/Reports/PurchasePricingStatus.razor.rz.scp.css */
/* =============================================================================
   Stato valorizzazione acquisti — elenco
   Design system MTS: flat industriale, angoli a 90 gradi.
   ============================================================================= */

.page-container[b-1duypium6f] {
    padding: 1.25rem 1.5rem 2rem;
}

.page-container.is-loading[b-1duypium6f] {
    opacity: .75;
    pointer-events: none;
}

/* --- Header --- */
.page-header[b-1duypium6f] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.page-title[b-1duypium6f] {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin: 0;
    font-size: 1.35rem;
    font-weight: 600;
}

.page-subtitle[b-1duypium6f] {
    margin: .3rem 0 0;
    font-size: .85rem;
    color: #6b7280;
    max-width: 70ch;
}

/* --- Banda di integrita' ---
   Volutamente diversa dalle card KPI: quando compare, cambia l'attendibilita' di
   tutti gli altri numeri e non deve poter essere scambiata per una statistica. */
.integrity-banner[b-1duypium6f] {
    align-items: flex-start;
    border-left: 4px solid #b45309;
    margin-bottom: 1rem;
}

.integrity-banner span[b-1duypium6f] {
    line-height: 1.45;
}

/* --- Filtri ---
   Tutti i controlli della barra sono componenti condivisi (SelectField, DateField): non restano
   input o select nudi da stilare qui. Sono loro a portare la struttura
   form-group > form-label + controllo, ed e' quella a rendere l'allineamento della riga
   automatico invece che ricostruito a mano pagina per pagina.

   Gli ::deep servono solo a portare i controlli alla DENSITA' della barra filtri: senza,
   userebbero la taglia da form documento, sproporzionata in questo contesto. Stessa struttura
   e stessi override delle altre barre filtro (Sales/SalesInvoiceFromDeliveryList). */
.filter-bar[b-1duypium6f] {
    display: flex;
    flex-direction: column;
    gap: .7rem;
    padding: .85rem 1rem;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    margin-bottom: 1rem;
}

/* Prima riga: i campi. flex-end perche' i controlli hanno l'etichetta sopra e vanno
   allineati sulla base, non sul bordo superiore. */
.filter-row[b-1duypium6f] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
}

/* Seconda riga: comandi, non campi. Separata da un filetto e visivamente subordinata —
   la gerarchia dice che il periodo si imposta sopra e qui si scorciatoia, non che ci sono
   due modi paralleli di fare la stessa cosa. */
.filter-row-quick[b-1duypium6f] {
    align-items: center;
    gap: .6rem;
    padding-top: .65rem;
    border-top: 1px solid #e5e7eb;
}

.filter-group[b-1duypium6f] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}

/* Il pulsante di ricerca a fine riga: separato dai campi, non uno di essi. */
.filter-actions[b-1duypium6f] {
    margin-left: auto;
    padding-bottom: 2px;
}

/* ===== DateField dentro la barra ===== */
.filter-group-date[b-1duypium6f] {
    min-width: 165px;
}

.filter-group-date[b-1duypium6f]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-date[b-1duypium6f]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-date[b-1duypium6f]  .date-input {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* ===== SelectField dentro la barra ===== */
.filter-group-select[b-1duypium6f] {
    min-width: 190px;
}

.filter-group-select[b-1duypium6f]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-select[b-1duypium6f]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-select[b-1duypium6f]  .select-input {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* ===== Riga «Periodo rapido» =====
   Ora e' una riga a se': l'etichetta sta A FIANCO dei pulsanti, non sopra, perche' qui non c'e'
   piu' un campo da allineare agli altri. Stessa tipografia di .form-label per non introdurre un
   terzo stile di etichetta nella stessa card. */
.quick-label[b-1duypium6f] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    flex: 0 0 auto;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.quick-label svg[b-1duypium6f] {
    color: #9ca3af;
}

.quick-periods[b-1duypium6f] {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
}

.quick-period-btn[b-1duypium6f] {
    height: 28px;
    padding: 0 .7rem;
    border: 1px solid #d1d5db;
    background: #fff;
    font-size: .78rem;
    color: #374151;
    cursor: pointer;
    transition: background-color .12s, border-color .12s, color .12s;
}

.quick-period-btn:hover[b-1duypium6f] {
    background: #eef2ff;
    border-color: #6366f1;
    color: #4f46e5;
}

/* La scorciatoia in uso. Si spegne appena le date vengono modificate a mano: vedi
   OnStartDateChanged nel code-behind. */
.quick-period-btn.is-active[b-1duypium6f] {
    background: #4f46e5;
    border-color: #4f46e5;
    color: #fff;
    font-weight: 600;
}

.quick-period-btn.is-active:hover[b-1duypium6f] {
    background: #4338ca;
    border-color: #4338ca;
    color: #fff;
}

/* --- Blocchi KPI ---
   Due blocchi separati e ETICHETTATI: uno segue il filtro di periodo, l'altro no.
   La separazione visiva e' la traduzione di una distinzione reale (flusso / stock). */
.kpi-block[b-1duypium6f] {
    margin-bottom: .9rem;
}

.kpi-block-title[b-1duypium6f] {
    display: flex;
    align-items: baseline;
    gap: .5rem;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #374151;
    margin-bottom: .35rem;
}

.kpi-block-note[b-1duypium6f] {
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    font-size: .74rem;
    color: #9ca3af;
}

.summary-stats[b-1duypium6f] {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}

.stat-card[b-1duypium6f] {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    min-width: 150px;
    padding: .6rem .8rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-left: 3px solid #9ca3af;
}

.stat-card-warn[b-1duypium6f] {
    border-left-color: #d97706;
    background: #fffbeb;
}

.stat-card-danger[b-1duypium6f] {
    border-left-color: #dc2626;
    background: #fef2f2;
}

.stat-label[b-1duypium6f] {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #6b7280;
}

.stat-value[b-1duypium6f] {
    font-size: 1.05rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

/* --- Selettore di vista --- */
.view-toggle[b-1duypium6f] {
    display: flex;
    gap: 0;
    margin-bottom: .85rem;
    border-bottom: 2px solid #e5e7eb;
}

.view-toggle-btn[b-1duypium6f] {
    display: flex;
    align-items: center;
    gap: .4rem;
    padding: .5rem .9rem;
    border: none;
    background: transparent;
    font-size: .88rem;
    font-weight: 500;
    color: #6b7280;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
}

.view-toggle-btn:hover[b-1duypium6f] {
    color: #111827;
}

.view-toggle-btn.is-active[b-1duypium6f] {
    color: #4f46e5;
    border-bottom-color: #4f46e5;
    font-weight: 600;
}

.view-toggle-count[b-1duypium6f] {
    padding: .05rem .4rem;
    background: #f3f4f6;
    font-size: .74rem;
    font-variant-numeric: tabular-nums;
}

.view-toggle-btn.is-active .view-toggle-count[b-1duypium6f] {
    background: #e0e7ff;
    color: #4f46e5;
}

/* --- Filtri di stato --- */
.status-filters[b-1duypium6f] {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-bottom: .75rem;
}

.status-filter[b-1duypium6f] {
    display: flex;
    align-items: center;
    gap: .35rem;
    padding: .3rem .6rem;
    border: 1px solid #d1d5db;
    background: #fff;
    font-size: .78rem;
    cursor: pointer;
}

.status-filter:hover[b-1duypium6f] {
    border-color: #6366f1;
}

.status-filter.is-active[b-1duypium6f] {
    background: #eef2ff;
    border-color: #4f46e5;
    color: #4f46e5;
    font-weight: 600;
}

.status-filter-count[b-1duypium6f] {
    font-variant-numeric: tabular-nums;
    color: #6b7280;
}

.status-filter.status-danger[b-1duypium6f] { border-left: 3px solid #dc2626; }
.status-filter.status-warn[b-1duypium6f] { border-left: 3px solid #d97706; }
.status-filter.status-critical[b-1duypium6f] { border-left: 3px solid #7f1d1d; }
.status-filter.status-ok[b-1duypium6f] { border-left: 3px solid #059669; }

/* --- Ricerca --- */
.search-bar[b-1duypium6f] {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: .6rem;
}

.search-input-wrapper[b-1duypium6f] {
    position: relative;
    flex: 0 1 420px;
}

.search-icon[b-1duypium6f] {
    position: absolute;
    left: .5rem;
    top: 50%;
    transform: translateY(-50%);
    color: #9ca3af;
}

.search-input[b-1duypium6f] {
    width: 100%;
    height: 34px;
    padding: 0 2rem 0 2.1rem;
    border: 1px solid #d1d5db;
    font-size: .85rem;
    border-radius: 0;
}

.search-clear[b-1duypium6f] {
    position: absolute;
    right: .35rem;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    color: #9ca3af;
    cursor: pointer;
    line-height: 0;
}

.search-count[b-1duypium6f] {
    font-size: .8rem;
    color: #6b7280;
    font-variant-numeric: tabular-nums;
}

/* --- Tabella --- */
.table-wrapper[b-1duypium6f] {
    overflow-x: auto;
    border: 1px solid #e5e7eb;
    background: #fff;
}

.report-table[b-1duypium6f] {
    width: 100%;
    border-collapse: collapse;
    font-size: .84rem;
}

.report-table thead th[b-1duypium6f] {
    position: sticky;
    top: 0;
    background: #f3f4f6;
    padding: .5rem .6rem;
    text-align: left;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #374151;
    border-bottom: 1px solid #d1d5db;
    white-space: nowrap;
}

.report-table tbody td[b-1duypium6f] {
    padding: .45rem .6rem;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: middle;
}

.report-table tbody tr:hover[b-1duypium6f] {
    background: #f9fafb;
}

.row-clickable[b-1duypium6f] {
    cursor: pointer;
}

/* Fattura consolidata senza prezzi: e' il caso grave, e si vede. */
.row-critical[b-1duypium6f] {
    background: #fff7ed;
}

.col-num[b-1duypium6f] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.col-date[b-1duypium6f], .col-code[b-1duypium6f] {
    white-space: nowrap;
}

.col-doc[b-1duypium6f] {
    white-space: nowrap;
    font-weight: 500;
}

.col-name[b-1duypium6f] {
    min-width: 200px;
}

.col-status[b-1duypium6f] {
    white-space: nowrap;
}

.cell-warn[b-1duypium6f] {
    color: #b45309;
    font-weight: 600;
}

/* --- Badge --- */
.badge[b-1duypium6f] {
    display: inline-block;
    padding: .1rem .45rem;
    font-size: .72rem;
    font-weight: 600;
    line-height: 1.5;
    white-space: nowrap;
}

.badge.status-ok[b-1duypium6f] { background: #d1fae5; color: #065f46; }
.badge.status-warn[b-1duypium6f] { background: #fef3c7; color: #92400e; }
.badge.status-danger[b-1duypium6f] { background: #fee2e2; color: #991b1b; }
.badge.status-critical[b-1duypium6f] { background: #7f1d1d; color: #fff; }
.badge.status-unknown[b-1duypium6f] { background: #f3f4f6; color: #4b5563; }

.badge-doc-draft[b-1duypium6f] { background: #f3f4f6; color: #4b5563; }
.badge-doc-tobesaved[b-1duypium6f] { background: #fef3c7; color: #92400e; }
.badge-doc-saved[b-1duypium6f] { background: #d1fae5; color: #065f46; }
.badge-doc-unknown[b-1duypium6f] { background: #f3f4f6; color: #4b5563; }

.badge-critical[b-1duypium6f] {
    background: #7f1d1d;
    color: #fff;
    margin-left: .3rem;
}

/* --- Stati di caricamento e vuoto --- */
.loading-state[b-1duypium6f], .empty-state[b-1duypium6f] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .7rem;
    padding: 3rem 1rem;
    color: #6b7280;
}

.empty-state svg[b-1duypium6f] {
    color: #d1d5db;
}

/* Uno stato vuoto positivo e' un'informazione, non l'assenza di dati. */
.empty-state-positive svg[b-1duypium6f] {
    color: #10b981;
}

.empty-state-positive p[b-1duypium6f] {
    color: #065f46;
    font-weight: 500;
}

/* --- Avvisi --- */
.alert-bar[b-1duypium6f] {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .65rem .85rem;
    margin-bottom: .85rem;
    font-size: .85rem;
    border: 1px solid transparent;
}

.alert-bar-danger[b-1duypium6f] {
    background: #fef2f2;
    border-color: #fecaca;
    color: #991b1b;
}

.alert-bar-warning[b-1duypium6f] {
    background: #fffbeb;
    border-color: #fde68a;
    color: #92400e;
}

.alert-bar-close[b-1duypium6f] {
    margin-left: auto;
    border: none;
    background: transparent;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    color: inherit;
}
/* /Components/Pages/Purchasing/Reports/PurchasePricingStatusDetail.razor.rz.scp.css */
/* =============================================================================
   Stato valorizzazione acquisti — dettaglio documento
   ============================================================================= */

.page-container[b-l9z8172ahd] {
    padding: 1.25rem 1.5rem 2rem;
}

.page-container.is-loading[b-l9z8172ahd] {
    opacity: .75;
    pointer-events: none;
}

.page-header[b-l9z8172ahd] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.page-header-right[b-l9z8172ahd] {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.page-title[b-l9z8172ahd] {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin: 0;
    font-size: 1.35rem;
    font-weight: 600;
}

.page-subtitle[b-l9z8172ahd] {
    margin: .3rem 0 0;
    font-size: .85rem;
    color: #6b7280;
}

/* --- Testata del documento --- */
.detail-head[b-l9z8172ahd] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-left: 3px solid #4f46e5;
    padding: .9rem 1rem;
    margin-bottom: 1.25rem;
}

.detail-head-main[b-l9z8172ahd] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: .75rem;
}

.detail-doc[b-l9z8172ahd] {
    font-size: 1.05rem;
    font-weight: 700;
}

.detail-head-fields[b-l9z8172ahd] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.detail-field[b-l9z8172ahd] {
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

.detail-field-label[b-l9z8172ahd] {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #6b7280;
}

.detail-field-value[b-l9z8172ahd] {
    font-size: .9rem;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}

.detail-head-actions[b-l9z8172ahd] {
    margin-top: .85rem;
    padding-top: .75rem;
    border-top: 1px solid #f3f4f6;
}

/* --- Titoli di sezione --- */
.section-title[b-l9z8172ahd] {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #374151;
    margin: 1.25rem 0 .5rem;
}

.clear-filter[b-l9z8172ahd] {
    border: 1px solid #d1d5db;
    background: #eef2ff;
    color: #4f46e5;
    font-size: .72rem;
    text-transform: none;
    letter-spacing: 0;
    padding: .1rem .45rem;
    cursor: pointer;
}

/* --- Riepilogo per stato, espandibile --- */
.summary-list[b-l9z8172ahd] {
    display: flex;
    flex-direction: column;
    gap: .3rem;
}

.summary-item[b-l9z8172ahd] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-left: 3px solid #9ca3af;
}

.summary-item.status-ok[b-l9z8172ahd] { border-left-color: #059669; }
.summary-item.status-warn[b-l9z8172ahd] { border-left-color: #d97706; }
.summary-item.status-danger[b-l9z8172ahd] { border-left-color: #dc2626; }
.summary-item.status-critical[b-l9z8172ahd] { border-left-color: #7f1d1d; }

.summary-item-head[b-l9z8172ahd] {
    display: flex;
    align-items: center;
    gap: .75rem;
    width: 100%;
    padding: .55rem .8rem;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
}

.summary-item-head:hover[b-l9z8172ahd] {
    background: #f9fafb;
}

.summary-item-label[b-l9z8172ahd] {
    font-weight: 600;
    font-size: .88rem;
}

.summary-item-count[b-l9z8172ahd] {
    font-size: .8rem;
    color: #6b7280;
    font-variant-numeric: tabular-nums;
}

.summary-item-chevron[b-l9z8172ahd] {
    margin-left: auto;
    font-size: 1rem;
    color: #9ca3af;
    line-height: 1;
}

.summary-item-body[b-l9z8172ahd] {
    padding: .1rem .8rem .7rem;
    border-top: 1px solid #f3f4f6;
}

.summary-item-body p[b-l9z8172ahd] {
    margin: .5rem 0 0;
    font-size: .85rem;
    line-height: 1.5;
    max-width: 90ch;
}

.summary-item-body .action[b-l9z8172ahd] {
    color: #1f2937;
}

/* --- Filtri di stato --- */
.status-filters[b-l9z8172ahd] {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-bottom: .6rem;
}

.status-filter[b-l9z8172ahd] {
    display: flex;
    align-items: center;
    gap: .35rem;
    padding: .3rem .6rem;
    border: 1px solid #d1d5db;
    background: #fff;
    font-size: .78rem;
    cursor: pointer;
}

.status-filter:hover[b-l9z8172ahd] { border-color: #6366f1; }

.status-filter.is-active[b-l9z8172ahd] {
    background: #eef2ff;
    border-color: #4f46e5;
    color: #4f46e5;
    font-weight: 600;
}

.status-filter-count[b-l9z8172ahd] {
    font-variant-numeric: tabular-nums;
    color: #6b7280;
}

.status-filter.status-danger[b-l9z8172ahd] { border-left: 3px solid #dc2626; }
.status-filter.status-warn[b-l9z8172ahd] { border-left: 3px solid #d97706; }
.status-filter.status-critical[b-l9z8172ahd] { border-left: 3px solid #7f1d1d; }
.status-filter.status-ok[b-l9z8172ahd] { border-left: 3px solid #059669; }

/* --- Tabella --- */
.table-wrapper[b-l9z8172ahd] {
    overflow-x: auto;
    border: 1px solid #e5e7eb;
    background: #fff;
}

.report-table[b-l9z8172ahd] {
    width: 100%;
    border-collapse: collapse;
    font-size: .84rem;
}

.report-table thead th[b-l9z8172ahd] {
    position: sticky;
    top: 0;
    background: #f3f4f6;
    padding: .5rem .6rem;
    text-align: left;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #374151;
    border-bottom: 1px solid #d1d5db;
    white-space: nowrap;
}

.report-table tbody td[b-l9z8172ahd] {
    padding: .45rem .6rem;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: middle;
}

.report-table tbody tr:hover[b-l9z8172ahd] { background: #f9fafb; }

.col-num[b-l9z8172ahd] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.col-code[b-l9z8172ahd], .col-status[b-l9z8172ahd], .col-doc[b-l9z8172ahd] { white-space: nowrap; }

.col-name[b-l9z8172ahd] { min-width: 220px; }

.cell-warn[b-l9z8172ahd] {
    color: #b45309;
    font-weight: 600;
}

.muted[b-l9z8172ahd] { color: #9ca3af; }

.broken[b-l9z8172ahd] {
    color: #7f1d1d;
    font-weight: 600;
    font-size: .8rem;
}

.hint[b-l9z8172ahd] {
    display: inline-block;
    margin-left: .3rem;
    font-size: .7rem;
    color: #6b7280;
    font-style: italic;
}

/* --- Badge --- */
.badge[b-l9z8172ahd] {
    display: inline-block;
    padding: .1rem .45rem;
    font-size: .72rem;
    font-weight: 600;
    line-height: 1.5;
    white-space: nowrap;
}

.badge.status-ok[b-l9z8172ahd] { background: #d1fae5; color: #065f46; }
.badge.status-warn[b-l9z8172ahd] { background: #fef3c7; color: #92400e; }
.badge.status-danger[b-l9z8172ahd] { background: #fee2e2; color: #991b1b; }
.badge.status-critical[b-l9z8172ahd] { background: #7f1d1d; color: #fff; }
.badge.status-unknown[b-l9z8172ahd] { background: #f3f4f6; color: #4b5563; }

.badge-doc-draft[b-l9z8172ahd] { background: #f3f4f6; color: #4b5563; }
.badge-doc-tobesaved[b-l9z8172ahd] { background: #fef3c7; color: #92400e; }
.badge-doc-saved[b-l9z8172ahd] { background: #d1fae5; color: #065f46; }
.badge-doc-unknown[b-l9z8172ahd] { background: #f3f4f6; color: #4b5563; }

/* --- Stati --- */
.loading-state[b-l9z8172ahd], .empty-state[b-l9z8172ahd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .7rem;
    padding: 3rem 1rem;
    color: #6b7280;
}

.empty-state svg[b-l9z8172ahd] { color: #d1d5db; }
.empty-state-positive svg[b-l9z8172ahd] { color: #10b981; }

.empty-state-positive p[b-l9z8172ahd] {
    color: #065f46;
    font-weight: 500;
}

.alert-bar[b-l9z8172ahd] {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .65rem .85rem;
    margin-bottom: .85rem;
    font-size: .85rem;
    border: 1px solid transparent;
}

.alert-bar-danger[b-l9z8172ahd] {
    background: #fef2f2;
    border-color: #fecaca;
    color: #991b1b;
}
/* /Components/Pages/Purchasing/Shared/MovLinePackageModal.razor.rz.scp.css */
.pkg-modal-backdrop[b-ju430cp9h1] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
}

.pkg-modal[b-ju430cp9h1] {
    background: #fff;
    border-radius: 8px;
    width: 100%;
    max-width: 720px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

.pkg-modal-header[b-ju430cp9h1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1.2rem;
    border-bottom: 1px solid #e5e7eb;
}

.pkg-modal-header h3[b-ju430cp9h1] {
    margin: 0;
    font-size: 1.05rem;
}

.pkg-modal-header .btn-close[b-ju430cp9h1] {
    border: none;
    background: transparent;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    color: #6b7280;
    padding: 0 0.25rem;
}

.pkg-modal-body[b-ju430cp9h1] {
    padding: 1.2rem;
    overflow-y: auto;
}

.pkg-table[b-ju430cp9h1] {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1rem;
}

.pkg-table th[b-ju430cp9h1] {
    font-size: 0.8rem;
    color: #374151;
    text-align: left;
    padding: 0.25rem 0.5rem;
    border-bottom: 1px solid #e5e7eb;
}

.pkg-table td[b-ju430cp9h1] {
    padding: 0.25rem 0.5rem;
}

.pkg-table .text-end[b-ju430cp9h1] {
    text-align: right;
}

.pkg-grid[b-ju430cp9h1] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 0.75rem;
}

.pkg-field[b-ju430cp9h1] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.pkg-field label[b-ju430cp9h1] {
    font-size: 0.8rem;
    color: #374151;
    font-weight: 600;
}

.pkg-modal-footer[b-ju430cp9h1] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.9rem 1.2rem;
    border-top: 1px solid #e5e7eb;
}
/* /Components/Pages/Purchasing/Shared/PurchaseLineDetailsModal.razor.rz.scp.css */
.dtl-modal-backdrop[b-w7w7aqm41r] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
}

.dtl-modal[b-w7w7aqm41r] {
    background: #fff;
    border-radius: 8px;
    width: 100%;
    max-width: 920px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

.dtl-modal-header[b-w7w7aqm41r] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1.2rem;
    background-color: var(--color-primary, #0B243E);
    color: #fff;
    border-bottom: 1px solid var(--color-primary, #0B243E);
}

.dtl-modal-header h3[b-w7w7aqm41r] { margin: 0; font-size: 1.05rem; color: #fff; }

.dtl-modal-header .btn-close[b-w7w7aqm41r] {
    border: none; background: transparent;
    font-size: 1.5rem; line-height: 1; cursor: pointer; color: rgba(255, 255, 255, 0.85); padding: 0 0.25rem;
}

.dtl-modal-header .btn-close:hover[b-w7w7aqm41r] { color: #fff; }

/* Tabs */
.dtl-tabs[b-w7w7aqm41r] {
    display: flex;
    gap: 0;
    border-bottom: 1px solid #e5e7eb;
    padding: 0 1.2rem;
}

.dtl-tab[b-w7w7aqm41r] {
    border: none;
    background: transparent;
    padding: 0.65rem 1rem;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #6b7280;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}

.dtl-tab.is-active[b-w7w7aqm41r] {
    color: var(--color-primary, #0b243e);
    border-bottom-color: var(--color-primary, #0b243e);
}

.dtl-modal-body[b-w7w7aqm41r] {
    padding: 1.2rem;
    overflow-y: auto;
}

.dtl-modal-footer[b-w7w7aqm41r] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.9rem 1.2rem;
    border-top: 1px solid #e5e7eb;
}

/* Campi tracciabilità */
.trac-grid[b-w7w7aqm41r] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.75rem;
}

.trac-field[b-w7w7aqm41r] { display: flex; flex-direction: column; gap: 0.25rem; }
.trac-field label[b-w7w7aqm41r] { font-size: 0.8rem; color: #374151; font-weight: 600; }
.trac-field-check[b-w7w7aqm41r] { margin-top: 1rem; }
.trac-field-check label[b-w7w7aqm41r] { display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 600; cursor: pointer; }

/* Campi imballi */
.pkg-composition[b-w7w7aqm41r] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    max-width: 420px;
    margin-bottom: 1rem;
    padding-bottom: 0.9rem;
    border-bottom: 1px solid #e5e7eb;
}
.pkg-composition label[b-w7w7aqm41r] { font-size: 0.8rem; color: #374151; font-weight: 600; }

.pkg-table[b-w7w7aqm41r] { width: 100%; border-collapse: collapse; margin-bottom: 1rem; }
.pkg-table th[b-w7w7aqm41r] { font-size: 0.8rem; color: #374151; text-align: left; padding: 0.25rem 0.5rem; border-bottom: 1px solid #e5e7eb; }
.pkg-table td[b-w7w7aqm41r] { padding: 0.25rem 0.5rem; }
.pkg-table .text-end[b-w7w7aqm41r] { text-align: right; }

.pkg-grid[b-w7w7aqm41r] { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 0.75rem; }
.pkg-field[b-w7w7aqm41r] { display: flex; flex-direction: column; gap: 0.25rem; }
.pkg-field label[b-w7w7aqm41r] { font-size: 0.8rem; color: #374151; font-weight: 600; }
/* /Components/Pages/ResetPassword.razor.rz.scp.css */
/* Reset Password — stessa palette/sfondo/logo della pagina Login (scoped al componente) */

/* Container con gradiente + immagine di sfondo (come Login) */
.login-page[b-t2ccpqu8qt] {
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem;
    position: relative;
    background:
        linear-gradient(135deg, rgba(11, 36, 62, 0.85) 0%, rgba(30, 77, 123, 0.85) 100%),
        url('/images/AdobeStock_138850596.jpeg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/* Logo aziendale in alto a sinistra */
.company-logo[b-t2ccpqu8qt] {
    position: absolute;
    top: 2rem;
    left: 2rem;
    width: 220px;
    max-width: 30vw;
    z-index: 10;
}

.company-logo svg[b-t2ccpqu8qt] {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3));
}

.company-logo .logo-tagline[b-t2ccpqu8qt] {
    color: #ffffff;
    font-weight: 500;
    letter-spacing: 0.18em;
    font-size: 0.95rem;
    margin-top: 0.35rem;
    text-align: right;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Card: limite di larghezza dei controlli */
.login-card[b-t2ccpqu8qt] {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    border: none;
    border-radius: 12px;
    overflow: hidden;
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.95);
}

.login-card .card-header[b-t2ccpqu8qt] {
    background: linear-gradient(135deg, #0B243E 0%, #1e4d7b 100%) !important;
    border-bottom: none;
    padding: 1.5rem;
}

.login-card .card-header h4[b-t2ccpqu8qt] {
    font-weight: 700;
    letter-spacing: 0.5px;
}

.login-card .card-header small[b-t2ccpqu8qt] {
    opacity: 0.9;
    font-size: 0.875rem;
}

/* Form */
.login-card .form-label[b-t2ccpqu8qt] {
    font-weight: 600;
    color: #0B243E;
    font-size: 0.9rem;
}

/* ::deep necessario: i campi password sono renderizzati dal componente
   condiviso PasswordInput, che ha un proprio scope CSS. */
.login-card[b-t2ccpqu8qt]  .form-control {
    width: 100%;
    max-width: 100%;
    border-radius: 8px;
    border: 1px solid #dee2e6;
    padding: 0.75rem 1rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.login-card[b-t2ccpqu8qt]  .form-control:focus {
    border-color: #0B243E;
    box-shadow: 0 0 0 0.2rem rgba(11, 36, 62, 0.15);
}

/* Ripristina lo spazio per il pulsante "occhio" (il padding shorthand qui sopra
   sovrascriverebbe il padding-right definito in css/components.css). */
.login-card[b-t2ccpqu8qt]  .password-field .form-control {
    padding-right: 2.75rem;
}

/* Bottoni */
.login-card .btn[b-t2ccpqu8qt] {
    width: 100%;
    max-width: 100%;
}

.login-card .btn-primary[b-t2ccpqu8qt] {
    background: linear-gradient(135deg, #0B243E 0%, #1e4d7b 100%);
    border: none;
    border-radius: 8px;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.login-card .btn-primary:hover:not(:disabled)[b-t2ccpqu8qt] {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(11, 36, 62, 0.3);
}

.login-card .btn-primary:disabled[b-t2ccpqu8qt] {
    opacity: 0.65;
    cursor: not-allowed;
}

.login-card .btn-outline-primary[b-t2ccpqu8qt] {
    color: #0B243E;
    border-color: #0B243E;
    border-radius: 8px;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
}

.login-card .btn-outline-primary:hover[b-t2ccpqu8qt] {
    background: #0B243E;
    color: #fff;
}

.login-card .btn-link[b-t2ccpqu8qt] {
    color: #1e4d7b;
    font-weight: 600;
    text-decoration: none;
}

.login-card .btn-link:hover[b-t2ccpqu8qt] {
    text-decoration: underline;
}

/* Alert */
.login-card .alert[b-t2ccpqu8qt] {
    border-radius: 8px;
    border: none;
}

/* Spinner di verifica token */
.login-card .spinner-border[b-t2ccpqu8qt] {
    color: #0B243E;
}

/* Responsive */
@media (max-width: 576px) {
    .login-card[b-t2ccpqu8qt] {
        max-width: 100%;
        border-radius: 0;
    }

    .login-page[b-t2ccpqu8qt] {
        padding: 0;
    }

    .company-logo[b-t2ccpqu8qt] {
        top: 1rem;
        left: 1rem;
        width: 150px;
        max-width: 40vw;
    }
}
/* /Components/Pages/Sales/DeferredInvoiceDeliveryNotes.razor.rz.scp.css */
/* ===========================
   SalesInvoiceFromDeliveryList - Scoped Styles
   Flat Industrial Minimal

   Il "cromo" di pagina (container, header, alert, ricerca, stati vuoto/caricamento) è scoped
   per pagina in questo progetto, non globale: senza queste regole titolo e barre resterebbero
   senza stile. Blocco allineato a Orders/DeliveryOrderByCustomerList.razor.css.
   =========================== */


/* Page Container */
.page-container[b-uujmdnb6hq] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Header */
.page-header[b-uujmdnb6hq] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-uujmdnb6hq] {
    flex: 1;
}

.page-header-right[b-uujmdnb6hq] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.page-title[b-uujmdnb6hq] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-uujmdnb6hq] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-uujmdnb6hq] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Back Button */


/* Alert Bars */
.alert-bar[b-uujmdnb6hq] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-uujmdnb6hq] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-uujmdnb6hq] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-uujmdnb6hq] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-uujmdnb6hq] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-uujmdnb6hq] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-uujmdnb6hq] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-uujmdnb6hq] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-uujmdnb6hq]::placeholder {
    color: var(--text-muted);
}

/* Loading / Empty States */
.loading-state[b-uujmdnb6hq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-uujmdnb6hq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-uujmdnb6hq] {
    opacity: 0.4;
}

.empty-state-text[b-uujmdnb6hq] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Header con MenuBackLink: il link e il titolo stanno sulla stessa riga.
   Senza questa regola .page-header-left resta un blocco e il titolo scende sotto la freccia. */
.page-header-left[b-uujmdnb6hq] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.page-heading[b-uujmdnb6hq] { min-width: 0; }

/* ===== Alert di esito positivo (non presente nella pagina di riferimento) ===== */
.alert-bar-success[b-uujmdnb6hq] {
    background-color: #e8f5ee;
    border-left-color: var(--color-success);
    color: #17603f;
}

/* ===== Filtri della ricerca su periodo =====
   Stessa struttura delle barre filtro dei brogliacci (Sales/Reports): .filter-group in colonna,
   con override ::deep per portare i controlli condivisi (DateField, LookupField) alla densità
   della barra. Senza gli ::deep i controlli userebbero la taglia da form documento, che qui è
   sproporzionata. */
.filter-bar[b-uujmdnb6hq] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-group[b-uujmdnb6hq] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
    /* Contenitore del suggerimento del codice, che esce dal flusso — vedi più sotto. */
    position: relative;
    /* Spazio riservato al suggerimento su TUTTI i gruppi, anche quelli che non ce l'hanno: è ciò
       che tiene la riga alta uguale ovunque. Vedi il blocco «Allineamento». */
    padding-bottom: var(--space-4);
}

/* ===== Allineamento dei controlli =====
   La barra è `align-items: flex-end`, quindi allinea il BASSO di ogni gruppo. Perché i campi
   risultino sulla stessa riga, tutti i gruppi devono avere la stessa distanza fra il fondo del
   controllo e il fondo del gruppo. Due cose la rompevano.

   1. `.form-group` porta `margin-bottom: var(--space-3)` da components.css — spaziatura da form
      documento, dove i campi sono impilati. In una toolbar è solo un distanziatore invisibile che
      alza i controlli rispetto al pulsante «Cerca», che quel margine non ce l'ha.

   2. Il suggerimento «Codice: BLV» sotto il campo entra nel calcolo dell'altezza: dov'è presente
      alza l'input di ~16px rispetto agli altri. E siccome compare solo quando un codice è
      impostato, l'allineamento CAMBIA mentre si usa la pagina — che è la parte peggiore.

   Rimedio: margine azzerato, suggerimento fuori dal flusso, spazio riservato su tutti i gruppi.
   Così il fondo del controllo è alla stessa quota ovunque, con o senza codice. */
.filter-group[b-uujmdnb6hq]  .form-group {
    margin-bottom: 0;
}

/* Tutti i controlli della barra sono componenti condivisi: non restano input o select nudi da
   stilare qui, solo gli override di densità qui sotto. */

/* ===== DateField dentro la barra ===== */
.filter-group-date[b-uujmdnb6hq] {
    min-width: 165px;
}

.filter-group-date[b-uujmdnb6hq]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-date[b-uujmdnb6hq]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-date[b-uujmdnb6hq]  .date-input {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* ===== LookupField dentro la barra ===== */
.filter-group-lookup[b-uujmdnb6hq] {
    min-width: 220px;
}

.filter-group-lookup[b-uujmdnb6hq]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-lookup[b-uujmdnb6hq]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-lookup[b-uujmdnb6hq]  .form-control {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Il codice sotto il campo: utile per capire che cosa filtra, ma fuori dal flusso — altrimenti
   alza l'input rispetto agli altri controlli, e lo alza solo quando un codice è impostato.
   Sta nello spazio riservato da `.filter-group { padding-bottom }`: `bottom: 0` lo appoggia
   esattamente sotto il campo. Troncato con i puntini invece di andare a capo, perché una seconda
   riga rifarebbe crescere il gruppo. */
.filter-group-lookup[b-uujmdnb6hq]  .lookup-hint {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    font-size: var(--font-size-xs);
    line-height: 1.2;
    margin-top: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ===== SelectField dentro la barra ===== */
.filter-group-select[b-uujmdnb6hq] {
    min-width: 165px;
}

.filter-group-select[b-uujmdnb6hq]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-select[b-uujmdnb6hq]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-select[b-uujmdnb6hq]  .select-input {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Il pulsante non è dentro un `.filter-group`, quindi non eredita lo spazio riservato al
   suggerimento del codice: senza la stessa riserva resterebbe più in basso degli input. */
.filter-actions[b-uujmdnb6hq] {
    margin-left: auto;
    padding-bottom: var(--space-4);
}

/* ===== Footer di pagina: conteggi e azione ===== */
.page-footer[b-uujmdnb6hq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    margin-top: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.page-footer-left[b-uujmdnb6hq],
.page-footer-right[b-uujmdnb6hq] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

/* I totali seguono la SELEZIONE, non il risultato di ricerca: al momento di premere «Genera»
   interessa quanto si sta per fatturare. Nel Win32 seguono il risultato e sono inutili. */
.footer-metric[b-uujmdnb6hq] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.footer-metric strong[b-uujmdnb6hq] {
    color: var(--color-gray-700);
}

.footer-metric[b-uujmdnb6hq]  .form-group {
    margin: 0;
    gap: 0;
}
/* /Components/Pages/Sales/DeferredInvoiceInvoices.razor.rz.scp.css */
/* ===========================
   SalesInvoiceFromDeliveryList - Scoped Styles
   Flat Industrial Minimal

   Il "cromo" di pagina (container, header, alert, ricerca, stati vuoto/caricamento) è scoped
   per pagina in questo progetto, non globale: senza queste regole titolo e barre resterebbero
   senza stile. Blocco allineato a Orders/DeliveryOrderByCustomerList.razor.css.
   =========================== */


/* Page Container */
.page-container[b-s4qk208an8] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Header */
.page-header[b-s4qk208an8] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-s4qk208an8] {
    flex: 1;
}

.page-header-right[b-s4qk208an8] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.page-title[b-s4qk208an8] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-s4qk208an8] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-s4qk208an8] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Back Button */


/* Alert Bars */
.alert-bar[b-s4qk208an8] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-s4qk208an8] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-s4qk208an8] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-s4qk208an8] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-s4qk208an8] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-s4qk208an8] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-s4qk208an8] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-s4qk208an8] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-s4qk208an8]::placeholder {
    color: var(--text-muted);
}

/* Loading / Empty States */
.loading-state[b-s4qk208an8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-s4qk208an8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-s4qk208an8] {
    opacity: 0.4;
}

.empty-state-text[b-s4qk208an8] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Header con MenuBackLink: il link e il titolo stanno sulla stessa riga.
   Senza questa regola .page-header-left resta un blocco e il titolo scende sotto la freccia. */
.page-header-left[b-s4qk208an8] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.page-heading[b-s4qk208an8] { min-width: 0; }

/* ===== Alert di esito positivo (non presente nella pagina di riferimento) ===== */
.alert-bar-success[b-s4qk208an8] {
    background-color: #e8f5ee;
    border-left-color: var(--color-success);
    color: #17603f;
}

/* ===== Filtri della ricerca su periodo =====
   Stessa struttura delle barre filtro dei brogliacci (Sales/Reports): .filter-group in colonna,
   con override ::deep per portare i controlli condivisi (DateField, LookupField) alla densità
   della barra. Senza gli ::deep i controlli userebbero la taglia da form documento, che qui è
   sproporzionata. */
.filter-bar[b-s4qk208an8] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-group[b-s4qk208an8] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
    /* Contenitore del suggerimento del codice, che esce dal flusso — vedi più sotto. */
    position: relative;
    /* Spazio riservato al suggerimento su TUTTI i gruppi, anche quelli che non ce l'hanno: è ciò
       che tiene la riga alta uguale ovunque. Vedi il blocco «Allineamento». */
    padding-bottom: var(--space-4);
}

/* ===== Allineamento dei controlli =====
   La barra è `align-items: flex-end`, quindi allinea il BASSO di ogni gruppo. Perché i campi
   risultino sulla stessa riga, tutti i gruppi devono avere la stessa distanza fra il fondo del
   controllo e il fondo del gruppo. Due cose la rompevano.

   1. `.form-group` porta `margin-bottom: var(--space-3)` da components.css — spaziatura da form
      documento, dove i campi sono impilati. In una toolbar è solo un distanziatore invisibile che
      alza i controlli rispetto al pulsante «Cerca», che quel margine non ce l'ha.

   2. Il suggerimento «Codice: FAV» sotto il campo entra nel calcolo dell'altezza: dov'è presente
      alza l'input di ~16px rispetto agli altri. E siccome compare solo quando un codice è
      impostato, l'allineamento CAMBIA mentre si usa la pagina — che è la parte peggiore.

   Rimedio: margine azzerato, suggerimento fuori dal flusso, spazio riservato su tutti i gruppi. */
.filter-group[b-s4qk208an8]  .form-group {
    margin-bottom: 0;
}

/* Tutti i controlli della barra sono componenti condivisi: non restano input o select nudi da
   stilare qui, solo gli override di densità qui sotto. */

/* ===== DateField dentro la barra ===== */
.filter-group-date[b-s4qk208an8] {
    min-width: 165px;
}

.filter-group-date[b-s4qk208an8]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-date[b-s4qk208an8]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-date[b-s4qk208an8]  .date-input {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* ===== LookupField dentro la barra ===== */
.filter-group-lookup[b-s4qk208an8] {
    min-width: 220px;
}

.filter-group-lookup[b-s4qk208an8]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-lookup[b-s4qk208an8]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-lookup[b-s4qk208an8]  .form-control {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Il codice sotto il campo: utile per capire che cosa filtra, ma non deve alzare la riga
   e sfasare l'allineamento degli altri controlli. */
.filter-group-lookup[b-s4qk208an8]  .lookup-hint {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    font-size: var(--font-size-xs);
    line-height: 1.2;
    margin-top: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ===== SelectField dentro la barra ===== */
.filter-group-select[b-s4qk208an8] {
    min-width: 165px;
}

.filter-group-select[b-s4qk208an8]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-select[b-s4qk208an8]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-select[b-s4qk208an8]  .select-input {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Il pulsante non è dentro un `.filter-group`, quindi non eredita lo spazio riservato al
   suggerimento del codice: senza la stessa riserva resterebbe più in basso degli input. */
.filter-actions[b-s4qk208an8] {
    margin-left: auto;
    padding-bottom: var(--space-4);
}

/* ===== Toolbar di export ===== */
/* Si abilita con ALMENO UNA fattura selezionata: nel Win32 servono più di una, e con una sola
   bisogna usare i pulsanti di riga — comportamento mai documentato in interfaccia (D-26). */
.export-toolbar[b-s4qk208an8] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.export-toolbar-note[b-s4qk208an8] {
    margin-left: auto;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ===== Lista raggruppata per data ===== */
.inv-list[b-s4qk208an8] {
    border: var(--border-width-thin) solid var(--border-color-light);
}

.inv-day + .inv-day[b-s4qk208an8] {
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

.inv-day-header[b-s4qk208an8] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    background-color: var(--bg-secondary);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.inv-day-date[b-s4qk208an8] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-700);
    text-transform: capitalize;
}

.inv-day-meta[b-s4qk208an8] {
    margin-left: auto;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.inv-row[b-s4qk208an8] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
}

.inv-row + .inv-row[b-s4qk208an8] {
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

.inv-check[b-s4qk208an8] { flex-shrink: 0; }
.inv-number[b-s4qk208an8] { width: 90px; flex-shrink: 0; }
.inv-customer[b-s4qk208an8] { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Importi allineati a destra e a larghezza fissa: incolonnati si confrontano, a larghezza
   variabile no. */
.inv-amount[b-s4qk208an8] {
    width: 100px;
    flex-shrink: 0;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.inv-total[b-s4qk208an8] { font-weight: var(--font-weight-medium); }

.inv-link[b-s4qk208an8] {
    width: 50px;
    flex-shrink: 0;
    text-align: right;
    font-size: var(--font-size-xs);
}

/* ===== Colonna canali ===== */
/* Sigle brevi e affiancate: la colonna deve dire «dove è già uscita» a colpo d'occhio, senza
   allargare la riga. Il dettaglio esteso è nel title. */
.inv-channels[b-s4qk208an8] {
    width: 84px;
    flex-shrink: 0;
    display: flex;
    gap: 4px;
    justify-content: flex-end;
}

.inv-channel[b-s4qk208an8] {
    font-size: var(--font-size-xs);
    padding: 1px 5px;
    background-color: #e8f5ee;
    color: #17603f;
    white-space: nowrap;
}

.inv-channel-none[b-s4qk208an8] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}
/* /Components/Pages/Sales/Reports/DocumentCostsByItem.razor.rz.scp.css */
/* ===========================
   DocumentCostsByItem - Scoped Styles
   Brogliaccio costi per articolo (gemello di DocumentSalesByItem:
   stessa impaginazione, misura di valore diversa)
   =========================== */

.page-container[b-tdkq65w7w8] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Cursore "in caricamento" su tutta la pagina mentre i dati si caricano */
.page-container.is-loading[b-tdkq65w7w8],
.page-container.is-loading *[b-tdkq65w7w8] {
    cursor: progress;
}

.page-header[b-tdkq65w7w8] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-tdkq65w7w8] {
    flex: 1;
}

.page-title[b-tdkq65w7w8] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-tdkq65w7w8] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-tdkq65w7w8] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Filter bar */
/* Card filtri su DUE righe: i campi sopra, le scorciatoie di periodo sotto.
   Le scorciatoie non sono un campo ma comandi, e in linea con i campi obbligavano a impaginare
   sei pulsanti dentro un gruppo alto quanto un input. */
.filter-bar[b-tdkq65w7w8] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Prima riga: i campi. flex-end perche' hanno l'etichetta sopra e vanno allineati sulla base. */
.filter-row[b-tdkq65w7w8] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
}

/* Seconda riga: separata da un filetto e visivamente subordinata — la gerarchia dice che il
   periodo si imposta sopra e qui si scorciatoia, non che ci sono due modi paralleli. */
.filter-row-quick[b-tdkq65w7w8] {
    align-items: center;
    gap: var(--space-2);
    padding-top: var(--space-2);
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

/* Il pulsante di ricerca a fine riga: separato dai campi, non uno di essi. */
.filter-actions[b-tdkq65w7w8] {
    margin-left: auto;
    padding-bottom: 2px;
}

.filter-group[b-tdkq65w7w8] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 140px;
}

.filter-group-check[b-tdkq65w7w8] {
    min-width: auto;
}

.filter-label[b-tdkq65w7w8] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-input[b-tdkq65w7w8] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-tdkq65w7w8] {
    border-color: var(--color-primary);
}

/* Allinea il DateField (componente MTS, culture del tenant) agli altri controlli del filter-bar */
.filter-group-date[b-tdkq65w7w8] {
    min-width: 160px;
}

.filter-group-date[b-tdkq65w7w8]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-date[b-tdkq65w7w8]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-date[b-tdkq65w7w8]  .date-input {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* ===== SelectField dentro la barra =====
   Gli ::deep replicano .filter-input: il controllo condiviso deve risultare
   indistinguibile dai pulsanti dei multiselect che gli stanno accanto. */
.filter-group-datetype[b-tdkq65w7w8] {
    min-width: 175px;
}

.filter-group-datetype[b-tdkq65w7w8]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-datetype[b-tdkq65w7w8]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-datetype[b-tdkq65w7w8]  .select-input {
    padding: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Periodi rapidi */
/* Etichetta della riga scorciatoie: A FIANCO dei pulsanti, non sopra — qui non c'e' piu' un campo
   da allineare agli altri. Stessa tipografia di .filter-label per non introdurre un terzo stile
   di etichetta nella stessa card. */
.quick-label[b-tdkq65w7w8] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    flex: 0 0 auto;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.quick-label svg[b-tdkq65w7w8] {
    color: var(--text-muted);
}

.quick-periods[b-tdkq65w7w8] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1);
}

.quick-period-btn[b-tdkq65w7w8] {
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    cursor: pointer;
    white-space: nowrap;
    transition: background-color var(--transition-fast) var(--transition-ease),
                border-color var(--transition-fast) var(--transition-ease),
                color var(--transition-fast) var(--transition-ease);
}

.quick-period-btn:hover[b-tdkq65w7w8] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* La scorciatoia in uso. Si spegne appena le date vengono modificate a mano: vedi
   OnStartDateChanged nel code-behind. */
.quick-period-btn.is-active[b-tdkq65w7w8] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary);
}

.filter-group-select[b-tdkq65w7w8] {
    min-width: 200px;
}

/* Il MultiSelectField condiviso dentro la barra: stessi override di densita' degli altri
   controlli condivisi. */
.filter-group-select[b-tdkq65w7w8]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-select[b-tdkq65w7w8]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-select[b-tdkq65w7w8]  .multiselect-toggle {
    padding: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Summary Stats */
.summary-stats[b-tdkq65w7w8] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-tdkq65w7w8] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-tdkq65w7w8] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-tdkq65w7w8] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Alert Bars */
.alert-bar[b-tdkq65w7w8] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-tdkq65w7w8] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

/* Avviso «costo a zero»: non e' un errore del caricamento, e' un dato da leggere con cautela.
   Colore distinto dal rosso perche' la pagina ha funzionato. */
.alert-bar-warning[b-tdkq65w7w8] {
    background-color: #fff4e5;
    border-left-color: var(--color-warning);
    color: #663c00;
}

.alert-bar-close[b-tdkq65w7w8] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-tdkq65w7w8] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-tdkq65w7w8] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-tdkq65w7w8] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-tdkq65w7w8] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-tdkq65w7w8] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-tdkq65w7w8]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-tdkq65w7w8] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-tdkq65w7w8] {
    color: var(--color-primary);
}

.search-count[b-tdkq65w7w8] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-tdkq65w7w8],
.empty-state[b-tdkq65w7w8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-tdkq65w7w8] {
    opacity: 0.4;
}

.empty-state-text[b-tdkq65w7w8] {
    font-size: var(--font-size-base);
    margin: 0;
}

.btn-outline-primary[b-tdkq65w7w8] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-tdkq65w7w8] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Report Table */
.report-table-wrapper[b-tdkq65w7w8] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-tdkq65w7w8] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
    table-layout: fixed;
}

/* Le celle di dettaglio possono troncare con ellissi mantenendo l'allineamento a larghezza fissa */
.report-table td[b-tdkq65w7w8] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.report-table thead[b-tdkq65w7w8] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-tdkq65w7w8] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    text-align: left;
}

.report-table thead th.col-num[b-tdkq65w7w8] {
    text-align: right;
}

.report-table thead th.col-um[b-tdkq65w7w8] {
    text-align: center;
}

/* Riga di intestazione (titolo + totali generali) */
.report-table thead tr:first-child th[b-tdkq65w7w8] {
    font-size: var(--font-size-sm);
    text-transform: none;
    letter-spacing: 0;
    border-bottom: var(--border-width-thin) solid rgba(255, 255, 255, 0.15);
    font-weight: var(--font-weight-bold);
}

/* Seconda riga thead = intestazioni colonna (stile standard xs uppercase) */
.report-table thead tr.col-head-row th[b-tdkq65w7w8] {
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-semibold);
    border-bottom: 2px solid var(--color-primary);
}

.report-table tbody tr[b-tdkq65w7w8] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-tdkq65w7w8] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-tdkq65w7w8] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table td[b-tdkq65w7w8] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.col-code[b-tdkq65w7w8] {
    text-align: left;
}

.col-desc[b-tdkq65w7w8] {
    text-align: left;
    min-width: 200px;
    max-width: 320px;
    white-space: normal;
}

.col-um[b-tdkq65w7w8] {
    text-align: center;
}

.col-num[b-tdkq65w7w8] {
    text-align: right;
}

.cell-code[b-tdkq65w7w8] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.85;
}

.cell-sub[b-tdkq65w7w8] {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* Link a partita e lotto verso gli altri due report. Sottolineatura solo al passaggio: in una
   colonna di numeri una riga sotto ogni valore diventerebbe rumore. */
.cell-link[b-tdkq65w7w8] {
    color: var(--color-primary);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    border-bottom: 1px dotted currentColor;
}

.cell-link:hover[b-tdkq65w7w8] {
    text-decoration: none;
    border-bottom-style: solid;
}

/* In stampa il link non e' cliccabile: resta il numero, senza decorazione che suggerisca il
   contrario. */
@media print {
    .cell-link[b-tdkq65w7w8] {
        border-bottom: none;
        color: inherit;
    }
}

/* Asterisco «subtotale parziale»: deve leggersi come annotazione, non come cifra. */
.cell-partial[b-tdkq65w7w8] {
    color: var(--color-warning);
    font-weight: var(--font-weight-bold);
    margin-left: 2px;
}

/* Riga documento (intestazione di gruppo) */
.report-table tbody tr.group-row[b-tdkq65w7w8] {
    background-color: transparent !important;
}

.report-table tbody tr.group-row td[b-tdkq65w7w8] {
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Intestazione di GRUPPO MERCEOLOGICO: sta un gradino sopra la riga articolo, quindi va distinta —
   fondo pieno e filetto marcato. Senza, i due livelli di raggruppamento si leggono come uno solo. */
.report-table tbody tr.group-row-family td[b-tdkq65w7w8] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thick) solid var(--color-primary);
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.group-row-family td strong[b-tdkq65w7w8],
.report-table tbody tr.group-row-family .cell-code[b-tdkq65w7w8] {
    color: var(--text-on-primary);
    opacity: 1;
}

.report-table tbody tr.group-row-family .group-count[b-tdkq65w7w8],
.report-table tbody tr.group-row-family .group-continues[b-tdkq65w7w8] {
    color: var(--text-on-primary);
    opacity: 0.8;
}

/* «continua in un altro blocco»: annotazione, non un dato del gruppo. */
.group-continues[b-tdkq65w7w8] {
    font-weight: var(--font-weight-normal);
    font-style: italic;
}

.report-table tbody tr.group-row-month td[b-tdkq65w7w8] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.group-row-month td strong[b-tdkq65w7w8] {
    color: var(--color-primary);
}

.report-table tbody tr.group-row-month .cell-sub[b-tdkq65w7w8] {
    display: inline;
    margin-left: var(--space-2);
}

.report-table tbody tr.group-row:hover[b-tdkq65w7w8] {
    background-color: transparent !important;
}

.group-count[b-tdkq65w7w8] {
    font-weight: var(--font-weight-normal);
    text-transform: none;
    letter-spacing: 0;
    opacity: 0.75;
}

/* Rientro leggero per le righe di dettaglio articolo */
.report-table tbody tr.doc-detail td:first-child[b-tdkq65w7w8] {
    padding-left: var(--space-5);
}

.report-table tbody tr.doc-detail:nth-child(even)[b-tdkq65w7w8] {
    background-color: var(--bg-secondary);
}

/* ===== Barra di paginazione =====
   Sotto la tabella e con lo stesso trattamento della search-bar: e' un comando di navigazione
   sull'elenco, non un filtro, e non deve competere con la barra filtri in testa. */
.pager-bar[b-tdkq65w7w8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    flex-wrap: wrap;
    margin-top: var(--space-3);
    padding: var(--space-2) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.pager-info[b-tdkq65w7w8] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.pager-info strong[b-tdkq65w7w8] {
    color: var(--color-primary);
}

.pager-sub[b-tdkq65w7w8] {
    color: var(--text-muted);
    font-size: var(--font-size-xs);
}

.pager-actions[b-tdkq65w7w8] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.pager-btn[b-tdkq65w7w8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-1) var(--space-2);
    color: var(--color-primary);
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                border-color var(--transition-fast) var(--transition-ease),
                color var(--transition-fast) var(--transition-ease);
}

.pager-btn:hover:not(:disabled)[b-tdkq65w7w8] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Agli estremi i pulsanti restano al loro posto, spenti: se sparissero, la barra cambierebbe
   larghezza a ogni salto e il pulsante «successivo» si sposterebbe sotto il cursore. */
.pager-btn:disabled[b-tdkq65w7w8] {
    opacity: 0.35;
    cursor: default;
}

.pager-current[b-tdkq65w7w8] {
    min-width: 72px;
    text-align: center;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
}

@media (max-width: 768px) {
    .page-header[b-tdkq65w7w8] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-tdkq65w7w8] {
        padding: var(--space-4) var(--space-2);
    }
}

/* ═══ STAMPA ═══ */
@media print {
    /* La barra di paginazione non si stampa: su carta non si clicca. Resta pero' l'indicazione del
       blocco nell'intestazione della tabella, che e' cio' che serve per capire quale porzione si sta
       leggendo — una stampa senza quel riferimento sembra il report intero. */
    .filter-bar[b-tdkq65w7w8],
    .search-bar[b-tdkq65w7w8],
    .alert-bar[b-tdkq65w7w8],
    .pager-bar[b-tdkq65w7w8],
    .page-header-right[b-tdkq65w7w8] {
        display: none !important;
    }

    .page-container[b-tdkq65w7w8],
    .page-container.is-loading[b-tdkq65w7w8],
    .page-container.is-loading *[b-tdkq65w7w8] {
        cursor: auto !important;
    }

    .page-container[b-tdkq65w7w8] {
        max-width: none;
        padding: 0;
    }

    .page-title[b-tdkq65w7w8] {
        font-size: 16pt;
    }

    .report-table-wrapper[b-tdkq65w7w8] {
        overflow: visible;
        border: 1px solid #333;
        page-break-inside: auto;
    }

    .report-table[b-tdkq65w7w8] {
        font-size: 8pt;
    }

    .report-table thead[b-tdkq65w7w8] {
        display: table-header-group;
    }

    .report-table thead th[b-tdkq65w7w8],
    .report-table tbody tr.group-row-month td[b-tdkq65w7w8] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .report-table tbody tr[b-tdkq65w7w8],
    .report-table thead tr[b-tdkq65w7w8] {
        page-break-inside: avoid;
    }

    .summary-stats[b-tdkq65w7w8] {
        page-break-inside: avoid;
    }

    .stat-card[b-tdkq65w7w8] {
        border: 1px solid #333;
    }
}
/* /Components/Pages/Sales/Reports/DocumentSalesByDocs.razor.rz.scp.css */
/* NOTA (11/09/2026) — LA BARRA FILTRI NON E' PIU' QUI.
   Le sue regole (.filter-bar, .filter-group*, .quick-period-btn, ...) sono state RIMOSSE da questo
   file: il markup e' passato al componente condiviso SalesFilterBar, che porta il proprio CSS
   isolato. Regole scoped senza il markup corrispondente non fanno nulla e non danno errore — sono
   esattamente il tipo di residuo che il prossimo lettore scambia per stile in uso.
   Se cerchi lo stile dei filtri: Shared/SalesFilterBar.razor.css. */

/* ===========================
   DocumentSalesByDocs - Scoped Styles
   Brogliaccio vendite per documento (stile report MTS SaaS,
   allineato a ArticleStockReport)
   =========================== */

.page-container[b-k7sorqp2ii] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Cursore "in caricamento" su tutta la pagina mentre i dati si caricano */
.page-container.is-loading[b-k7sorqp2ii],
.page-container.is-loading *[b-k7sorqp2ii] {
    cursor: progress;
}

.page-header[b-k7sorqp2ii] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-k7sorqp2ii] {
    flex: 1;
}

.page-title[b-k7sorqp2ii] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-k7sorqp2ii] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-k7sorqp2ii] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Filter bar */

/* Periodi rapidi */

/* Summary Stats */
.summary-stats[b-k7sorqp2ii] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-k7sorqp2ii] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-k7sorqp2ii] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-k7sorqp2ii] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Alert Bars */
.alert-bar[b-k7sorqp2ii] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-k7sorqp2ii] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-k7sorqp2ii] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-k7sorqp2ii] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-k7sorqp2ii] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-k7sorqp2ii] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-k7sorqp2ii] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-k7sorqp2ii] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-k7sorqp2ii]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-k7sorqp2ii] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-k7sorqp2ii] {
    color: var(--color-primary);
}

.search-count[b-k7sorqp2ii] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-k7sorqp2ii],
.empty-state[b-k7sorqp2ii] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-k7sorqp2ii] {
    opacity: 0.4;
}

.empty-state-text[b-k7sorqp2ii] {
    font-size: var(--font-size-base);
    margin: 0;
}

.btn-outline-primary[b-k7sorqp2ii] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-k7sorqp2ii] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Report Table */
.report-table-wrapper[b-k7sorqp2ii] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-k7sorqp2ii] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
    table-layout: fixed;
}

/* Le celle di dettaglio possono troncare con ellissi mantenendo l'allineamento a larghezza fissa */
.report-table td[b-k7sorqp2ii] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.report-table thead[b-k7sorqp2ii] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-k7sorqp2ii] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    text-align: left;
}

.report-table thead th.col-num[b-k7sorqp2ii] {
    text-align: right;
}

.report-table thead th.col-um[b-k7sorqp2ii] {
    text-align: center;
}

/* Riga di intestazione (titolo + totali generali) */
.report-table thead tr:first-child th[b-k7sorqp2ii] {
    font-size: var(--font-size-sm);
    text-transform: none;
    letter-spacing: 0;
    border-bottom: var(--border-width-thin) solid rgba(255, 255, 255, 0.15);
    font-weight: var(--font-weight-bold);
}

/* Seconda riga thead = intestazioni colonna (stile standard xs uppercase) */
.report-table thead tr.col-head-row th[b-k7sorqp2ii] {
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-semibold);
    border-bottom: 2px solid var(--color-primary);
}

.report-table tbody tr[b-k7sorqp2ii] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-k7sorqp2ii] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-k7sorqp2ii] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table td[b-k7sorqp2ii] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.col-code[b-k7sorqp2ii] {
    text-align: left;
}

.col-desc[b-k7sorqp2ii] {
    text-align: left;
    min-width: 200px;
    max-width: 320px;
    white-space: normal;
}

.col-um[b-k7sorqp2ii] {
    text-align: center;
}

.col-num[b-k7sorqp2ii] {
    text-align: right;
}

.cell-code[b-k7sorqp2ii] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.85;
}

.cell-sub[b-k7sorqp2ii] {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* Riga documento (intestazione di gruppo) */
.report-table tbody tr.group-row[b-k7sorqp2ii] {
    background-color: transparent !important;
}

.report-table tbody tr.group-row td[b-k7sorqp2ii] {
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.report-table tbody tr.group-row-month td[b-k7sorqp2ii] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.group-row-month td strong[b-k7sorqp2ii] {
    color: var(--color-primary);
}

.report-table tbody tr.group-row-month .cell-sub[b-k7sorqp2ii] {
    display: inline;
    margin-left: var(--space-2);
}

.report-table tbody tr.group-row:hover[b-k7sorqp2ii] {
    background-color: transparent !important;
}

.group-count[b-k7sorqp2ii] {
    font-weight: var(--font-weight-normal);
    text-transform: none;
    letter-spacing: 0;
    opacity: 0.75;
}

/* Rientro leggero per le righe di dettaglio articolo */
.report-table tbody tr.doc-detail td:first-child[b-k7sorqp2ii] {
    padding-left: var(--space-5);
}

.report-table tbody tr.doc-detail:nth-child(even)[b-k7sorqp2ii] {
    background-color: var(--bg-secondary);
}

@media (max-width: 768px) {
    .page-header[b-k7sorqp2ii] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-k7sorqp2ii] {
        padding: var(--space-4) var(--space-2);
    }
}

/* ═══ STAMPA ═══ */
@media print {
    .filter-bar[b-k7sorqp2ii],
    .search-bar[b-k7sorqp2ii],
    .alert-bar[b-k7sorqp2ii],
    .page-header-right[b-k7sorqp2ii] {
        display: none !important;
    }

    .page-container[b-k7sorqp2ii],
    .page-container.is-loading[b-k7sorqp2ii],
    .page-container.is-loading *[b-k7sorqp2ii] {
        cursor: auto !important;
    }

    .page-container[b-k7sorqp2ii] {
        max-width: none;
        padding: 0;
    }

    .page-title[b-k7sorqp2ii] {
        font-size: 16pt;
    }

    .report-table-wrapper[b-k7sorqp2ii] {
        overflow: visible;
        border: 1px solid #333;
        page-break-inside: auto;
    }

    .report-table[b-k7sorqp2ii] {
        font-size: 8pt;
    }

    .report-table thead[b-k7sorqp2ii] {
        display: table-header-group;
    }

    .report-table thead th[b-k7sorqp2ii],
    .report-table tbody tr.group-row-month td[b-k7sorqp2ii] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .report-table tbody tr[b-k7sorqp2ii],
    .report-table thead tr[b-k7sorqp2ii] {
        page-break-inside: avoid;
    }

    .summary-stats[b-k7sorqp2ii] {
        page-break-inside: avoid;
    }

    .stat-card[b-k7sorqp2ii] {
        border: 1px solid #333;
    }
}
/* /Components/Pages/Sales/Reports/DocumentSalesByItem.razor.rz.scp.css */
/* NOTA (11/09/2026) — LA BARRA FILTRI NON E' PIU' QUI.
   Le sue regole (.filter-bar, .filter-group*, .quick-period-btn, ...) sono state RIMOSSE da questo
   file: il markup e' passato al componente condiviso SalesFilterBar, che porta il proprio CSS
   isolato. Regole scoped senza il markup corrispondente non fanno nulla e non danno errore — sono
   esattamente il tipo di residuo che il prossimo lettore scambia per stile in uso.
   Se cerchi lo stile dei filtri: Shared/SalesFilterBar.razor.css. */

/* ===========================
   DocumentSalesByItem - Scoped Styles
   Brogliaccio vendite per articolo (stile report MTS SaaS,
   allineato a ArticleStockReport)
   =========================== */

.page-container[b-ouw62ao6pz] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Cursore "in caricamento" su tutta la pagina mentre i dati si caricano */
.page-container.is-loading[b-ouw62ao6pz],
.page-container.is-loading *[b-ouw62ao6pz] {
    cursor: progress;
}

.page-header[b-ouw62ao6pz] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-ouw62ao6pz] {
    flex: 1;
}

.page-title[b-ouw62ao6pz] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-ouw62ao6pz] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-ouw62ao6pz] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Filter bar */

/* Periodi rapidi */

/* Summary Stats */
.summary-stats[b-ouw62ao6pz] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-ouw62ao6pz] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-ouw62ao6pz] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-ouw62ao6pz] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Alert Bars */
.alert-bar[b-ouw62ao6pz] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-ouw62ao6pz] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-ouw62ao6pz] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-ouw62ao6pz] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-ouw62ao6pz] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-ouw62ao6pz] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-ouw62ao6pz] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-ouw62ao6pz] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-ouw62ao6pz]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-ouw62ao6pz] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-ouw62ao6pz] {
    color: var(--color-primary);
}

.search-count[b-ouw62ao6pz] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-ouw62ao6pz],
.empty-state[b-ouw62ao6pz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-ouw62ao6pz] {
    opacity: 0.4;
}

.empty-state-text[b-ouw62ao6pz] {
    font-size: var(--font-size-base);
    margin: 0;
}

.btn-outline-primary[b-ouw62ao6pz] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-ouw62ao6pz] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Report Table */
.report-table-wrapper[b-ouw62ao6pz] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-ouw62ao6pz] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
    table-layout: fixed;
}

/* Le celle di dettaglio possono troncare con ellissi mantenendo l'allineamento a larghezza fissa */
.report-table td[b-ouw62ao6pz] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.report-table thead[b-ouw62ao6pz] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-ouw62ao6pz] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    text-align: left;
}

.report-table thead th.col-num[b-ouw62ao6pz] {
    text-align: right;
}

.report-table thead th.col-um[b-ouw62ao6pz] {
    text-align: center;
}

/* Riga di intestazione (titolo + totali generali) */
.report-table thead tr:first-child th[b-ouw62ao6pz] {
    font-size: var(--font-size-sm);
    text-transform: none;
    letter-spacing: 0;
    border-bottom: var(--border-width-thin) solid rgba(255, 255, 255, 0.15);
    font-weight: var(--font-weight-bold);
}

/* Seconda riga thead = intestazioni colonna (stile standard xs uppercase) */
.report-table thead tr.col-head-row th[b-ouw62ao6pz] {
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-semibold);
    border-bottom: 2px solid var(--color-primary);
}

.report-table tbody tr[b-ouw62ao6pz] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-ouw62ao6pz] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-ouw62ao6pz] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table td[b-ouw62ao6pz] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.col-code[b-ouw62ao6pz] {
    text-align: left;
}

.col-desc[b-ouw62ao6pz] {
    text-align: left;
    min-width: 200px;
    max-width: 320px;
    white-space: normal;
}

.col-um[b-ouw62ao6pz] {
    text-align: center;
}

.col-num[b-ouw62ao6pz] {
    text-align: right;
}

.cell-code[b-ouw62ao6pz] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.85;
}

.cell-sub[b-ouw62ao6pz] {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* Riga documento (intestazione di gruppo) */
.report-table tbody tr.group-row[b-ouw62ao6pz] {
    background-color: transparent !important;
}

.report-table tbody tr.group-row td[b-ouw62ao6pz] {
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.report-table tbody tr.group-row-month td[b-ouw62ao6pz] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.group-row-month td strong[b-ouw62ao6pz] {
    color: var(--color-primary);
}

.report-table tbody tr.group-row-month .cell-sub[b-ouw62ao6pz] {
    display: inline;
    margin-left: var(--space-2);
}

.report-table tbody tr.group-row:hover[b-ouw62ao6pz] {
    background-color: transparent !important;
}

.group-count[b-ouw62ao6pz] {
    font-weight: var(--font-weight-normal);
    text-transform: none;
    letter-spacing: 0;
    opacity: 0.75;
}

/* Rientro leggero per le righe di dettaglio articolo */
.report-table tbody tr.doc-detail td:first-child[b-ouw62ao6pz] {
    padding-left: var(--space-5);
}

.report-table tbody tr.doc-detail:nth-child(even)[b-ouw62ao6pz] {
    background-color: var(--bg-secondary);
}

@media (max-width: 768px) {
    .page-header[b-ouw62ao6pz] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-ouw62ao6pz] {
        padding: var(--space-4) var(--space-2);
    }
}

/* ═══ STAMPA ═══ */
@media print {
    .filter-bar[b-ouw62ao6pz],
    .search-bar[b-ouw62ao6pz],
    .alert-bar[b-ouw62ao6pz],
    .page-header-right[b-ouw62ao6pz] {
        display: none !important;
    }

    .page-container[b-ouw62ao6pz],
    .page-container.is-loading[b-ouw62ao6pz],
    .page-container.is-loading *[b-ouw62ao6pz] {
        cursor: auto !important;
    }

    .page-container[b-ouw62ao6pz] {
        max-width: none;
        padding: 0;
    }

    .page-title[b-ouw62ao6pz] {
        font-size: 16pt;
    }

    .report-table-wrapper[b-ouw62ao6pz] {
        overflow: visible;
        border: 1px solid #333;
        page-break-inside: auto;
    }

    .report-table[b-ouw62ao6pz] {
        font-size: 8pt;
    }

    .report-table thead[b-ouw62ao6pz] {
        display: table-header-group;
    }

    .report-table thead th[b-ouw62ao6pz],
    .report-table tbody tr.group-row-month td[b-ouw62ao6pz] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .report-table tbody tr[b-ouw62ao6pz],
    .report-table thead tr[b-ouw62ao6pz] {
        page-break-inside: avoid;
    }

    .summary-stats[b-ouw62ao6pz] {
        page-break-inside: avoid;
    }

    .stat-card[b-ouw62ao6pz] {
        border: 1px solid #333;
    }
}
/* /Components/Pages/Sales/Reports/Shared/BlockNavigator.razor.rz.scp.css */
/* ===========================
   BlockNavigator - Scoped Styles
   La barra dei blocchi dei brogliacci paginati. Tutto il markup è dichiarato dentro il
   componente (nessuno slot), quindi queste regole lo raggiungono.
   =========================== */

.block-nav[b-wupqxpk3s7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2) var(--space-4);
    margin-bottom: var(--space-3);
    padding: var(--space-2) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.block-nav-controls[b-wupqxpk3s7] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.block-nav-btn[b-wupqxpk3s7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-1) var(--space-2);
    color: var(--color-primary);
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                border-color var(--transition-fast) var(--transition-ease),
                color var(--transition-fast) var(--transition-ease);
}

.block-nav-btn:hover:not(:disabled)[b-wupqxpk3s7] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Spento ma ancora leggibile: un pulsante che sparisce sposta gli altri, e al primo o
   all'ultimo blocco la barra ballerebbe. */
.block-nav-btn:disabled[b-wupqxpk3s7] {
    opacity: 0.35;
    cursor: default;
}

.block-nav-position[b-wupqxpk3s7] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    white-space: nowrap;
}

.block-nav-position strong[b-wupqxpk3s7] {
    color: var(--color-primary);
}

/* La nota che spiega la differenza fra ciò che si vede e ciò che i totali dicono. Smorzata
   perché è una spiegazione, non un dato — ma presente sempre, perché è la sola difesa contro
   «il totale non torna con le righe». */
.block-nav-note[b-wupqxpk3s7] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    line-height: 1.3;
}

/* In stampa i comandi spariscono e resta la sola posizione: un PDF deve dire di quale blocco
   è la stampa, o due stampe dello stesso report sono indistinguibili. */
@media print {
    .block-nav[b-wupqxpk3s7] {
        border: none;
        padding: 0;
        background: none;
    }

    .block-nav-controls button[b-wupqxpk3s7] {
        display: none;
    }
}
/* /Components/Pages/Sales/Reports/Shared/SalesFilterBar.razor.rz.scp.css */
/* ===========================
   SalesFilterBar - Scoped Styles
   La barra filtri dei brogliacci di vendita: campi sopra, scorciatoie di periodo sotto.

   Tutto il markup è dichiarato dentro il componente (nessuno slot), quindi porta lo scope di
   questo file e queste regole lo raggiungono. Gli ::deep servono ai componenti condivisi
   (SelectField, DateField, MultiSelectField), che hanno uno scope proprio.
   =========================== */

/* Card filtri su DUE righe: i campi sopra, le scorciatoie di periodo sotto.
   Le scorciatoie non sono un campo ma comandi, e in linea con i campi obbligavano a impaginare
   sei pulsanti dentro un gruppo alto quanto un input. */
.filter-bar[b-5juhkym8b2] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Prima riga: i campi. flex-end perche' hanno l'etichetta sopra e vanno allineati sulla base. */
.filter-row[b-5juhkym8b2] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
}

/* Seconda riga: separata da un filetto e visivamente subordinata — la gerarchia dice che il
   periodo si imposta sopra e qui si scorciatoia, non che ci sono due modi paralleli. */
.filter-row-quick[b-5juhkym8b2] {
    align-items: center;
    gap: var(--space-2);
    padding-top: var(--space-2);
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

.filter-group[b-5juhkym8b2] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 140px;
}

/* Il pulsante di ricerca a fine riga: separato dai campi, non uno di essi. */
.filter-actions[b-5juhkym8b2] {
    margin-left: auto;
    padding-bottom: 2px;
}

.filter-group-check[b-5juhkym8b2] {
    min-width: auto;
}

.filter-label[b-5juhkym8b2] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Allinea il DateField (componente MTS, cultura del tenant) agli altri controlli della barra. */
.filter-group-date[b-5juhkym8b2] {
    min-width: 160px;
}

.filter-group-date[b-5juhkym8b2]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-date[b-5juhkym8b2]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-date[b-5juhkym8b2]  .date-input {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* ===== SelectField dentro la barra =====
   Gli ::deep replicano gli altri controlli: il campo condiviso deve risultare indistinguibile
   dai pulsanti dei multiselect che gli stanno accanto. */
.filter-group-datetype[b-5juhkym8b2] {
    min-width: 175px;
}

.filter-group-datetype[b-5juhkym8b2]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-datetype[b-5juhkym8b2]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-datetype[b-5juhkym8b2]  .select-input {
    padding: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-group-select[b-5juhkym8b2] {
    min-width: 200px;
}

.filter-group-select[b-5juhkym8b2]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-select[b-5juhkym8b2]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-select[b-5juhkym8b2]  .multiselect-toggle {
    padding: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* ===== Periodi rapidi =====
   Etichetta della riga scorciatoie: A FIANCO dei pulsanti, non sopra — qui non c'e' piu' un campo
   da allineare agli altri. Stessa tipografia di .filter-label per non introdurre un terzo stile di
   etichetta nella stessa card. */
.quick-label[b-5juhkym8b2] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    flex: 0 0 auto;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.quick-label svg[b-5juhkym8b2] {
    color: var(--text-muted);
}

.quick-periods[b-5juhkym8b2] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1);
}

.quick-period-btn[b-5juhkym8b2] {
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    cursor: pointer;
    white-space: nowrap;
    transition: background-color var(--transition-fast) var(--transition-ease),
                border-color var(--transition-fast) var(--transition-ease),
                color var(--transition-fast) var(--transition-ease);
}

.quick-period-btn:hover[b-5juhkym8b2] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* La scorciatoia in uso. Si spegne appena le date vengono modificate a mano: vedi
   OnStartDateChanged in SalesPricesPageBase. */
.quick-period-btn.is-active[b-5juhkym8b2] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary);
}

.btn-outline-primary[b-5juhkym8b2] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-5juhkym8b2] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* La barra non si stampa: e' un comando, non un dato. Le pagine che la ospitano ripetono la
   regola nel proprio @media print per gli elementi che spettano a loro. */
@media print {
    .filter-bar[b-5juhkym8b2] {
        display: none !important;
    }
}
/* /Components/Pages/Sales/SalesDocumentDetail.razor.rz.scp.css */
/* ===========================
   SalesDocumentDetail - Scoped Styles
   Allineato a PurchaseDocumentDetail.razor.css, con in più il badge di tracciabilità di riga.
   =========================== */

.page-container[b-937aj6mz9d] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6, 24px) var(--space-4, 16px);
}

/* L'header è PageToolbar (components.css §PAGE TOOLBAR): qui non c'è più nulla da impaginare.
   Il badge di stato resta scoped perché è un contenuto dello slot Title, dichiarato in questa
   pagina. */
.status-badge[b-937aj6mz9d] {
    display: inline-flex;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.status-draft[b-937aj6mz9d] { background: #f4f4f5; color: #71717a; border-color: #e4e4e7; }
.status-pending[b-937aj6mz9d] { background: #fef9c3; color: #854d0e; border-color: #fde68a; }
.status-saved[b-937aj6mz9d] { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }

/* ── Messaggi in toast ─────────────────────────────────────────────────────
   Posizione fissa in alto al centro, come nel form: il consolidamento si lancia anche dopo aver
   scorso fino a righe o totali, e un avviso ancorato all'header sarebbe fuori schermo. */
.toast-stack[b-937aj6mz9d] {
    position: fixed;
    /* Sotto la toolbar agganciata, non sopra il titolo: barra utente + toolbar compatta + aria. */
    top: calc(var(--topbar-height) + var(--toolbar-stuck-height) + 16px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 1080;
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: max-content;
    max-width: min(720px, calc(100vw - 32px));
    pointer-events: none;
}

.toast-msg[b-937aj6mz9d] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    font-size: 13px;
    line-height: 1.45;
    border-left: 4px solid;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    pointer-events: auto;
    animation: toast-slide-in-b-937aj6mz9d 180ms ease-out;
}

@keyframes toast-slide-in-b-937aj6mz9d {
    from { opacity: 0; transform: translateY(-14px); }
    to   { opacity: 1; transform: translateY(0); }
}

.toast-msg svg[b-937aj6mz9d] { flex-shrink: 0; margin-top: 1px; }
.toast-msg-text[b-937aj6mz9d] { flex: 1 1 auto; }

.toast-msg-danger[b-937aj6mz9d] { background: #fef2f2; border-left-color: #b91c1c; color: #7f1d1d; }
.toast-msg-success[b-937aj6mz9d] { background: #ecfdf5; border-left-color: #047857; color: #064e3b; }

.toast-msg-close[b-937aj6mz9d] {
    flex-shrink: 0;
    background: none; border: none; cursor: pointer;
    font-size: 20px; line-height: 1; padding: 0 2px;
    color: inherit; opacity: .55;
}
.toast-msg-close:hover[b-937aj6mz9d] { opacity: 1; }

@media (max-width: 768px) {
    .toast-stack[b-937aj6mz9d] { left: 16px; right: 16px; transform: none; width: auto; max-width: none; }
}

.loading-state[b-937aj6mz9d], .empty-state[b-937aj6mz9d] {
    text-align: center;
    padding: 48px 16px;
    color: #6b7280;
}

.tabs[b-937aj6mz9d] {
    display: flex;
    gap: 0;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
/* Etichette in maiuscolo, come i titoli di sezione e le intestazioni di colonna della stessa
   pagina: la spaziatura è quella (0.04em), perché il maiuscolo senza spaziatura si legge
   compatto. La trasformazione sta nel CSS e NON nel testo del markup — così «Righe (12)»
   resta una stringa sola e il conteggio non va scritto a parte. */
.tab[b-937aj6mz9d] {
    background: none;
    border: none;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}
.tab:hover[b-937aj6mz9d] { color: #111827; }
.tab.active[b-937aj6mz9d] {
    color: #1d4ed8;
    border-bottom-color: #1d4ed8;
    font-weight: 600;
}

.tab-panel[b-937aj6mz9d] { padding-top: 8px; }

.cards-grid[b-937aj6mz9d] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    gap: 16px;
}

.info-card[b-937aj6mz9d] {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 16px;
}
.info-card-title[b-937aj6mz9d] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    margin-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 8px;
}
.info-grid[b-937aj6mz9d] { display: grid; gap: 8px; }
.info-row[b-937aj6mz9d] { display: grid; grid-template-columns: 160px 1fr; gap: 12px; align-items: start; }
.info-label[b-937aj6mz9d] { font-size: 11px; text-transform: uppercase; color: #6b7280; letter-spacing: 0.04em; padding-top: 2px; }
.info-value[b-937aj6mz9d] { font-size: 13px; color: #111827; overflow-wrap: anywhere; }

.lines-wrapper[b-937aj6mz9d] { background: #fff; border: 1px solid #e5e7eb; overflow-x: auto; }
.lines-table[b-937aj6mz9d] { width: 100%; border-collapse: collapse; font-size: 13px; }
.lines-table thead th[b-937aj6mz9d] {
    text-align: left;
    padding: 10px 12px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #374151;
}
.lines-table tbody td[b-937aj6mz9d] { padding: 10px 12px; border-bottom: 1px solid #f1f5f9; }

.text-end[b-937aj6mz9d] { text-align: right; }
.text-center[b-937aj6mz9d] { text-align: center; }

/* ── Badge del progressivo di riga (prg_mov) ───────────────────────────────
   Stesso aspetto del badge nel form, così la riga si riconosce passando fra le due viste. */
.cell-seq[b-937aj6mz9d] { text-align: center; vertical-align: middle; width: 44px; }

.seq-badge[b-937aj6mz9d] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 22px;
    padding: 0 6px;
    background: #eef2f7;
    border: 1px solid #d7dee8;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

/* Indicatore di tracciabilità di riga (flg_traceable + id_mov_barcode_padre).
   Il dettaglio della provenienza è nel tooltip, per non allargare la tabella. */
.trace-badge[b-937aj6mz9d] {
    display: inline-flex;
    padding: 2px 8px;
    font-size: 10px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
    cursor: help;
}
.trace-badge.is-traceable[b-937aj6mz9d] { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.trace-badge.is-untraceable[b-937aj6mz9d] { background: transparent; color: #9ca3af; border-color: transparent; cursor: default; }

.badges-row[b-937aj6mz9d] { display: flex; gap: 8px; flex-wrap: wrap; }
.flag-badge[b-937aj6mz9d] {
    display: inline-flex;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
}
.flag-on[b-937aj6mz9d] { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.flag-off[b-937aj6mz9d] { background: #f4f4f5; color: #71717a; border-color: #e4e4e7; }
/* /Components/Pages/Sales/SalesDocumentForm.razor.rz.scp.css */
/* ===========================
   SalesDocumentForm - Scoped Styles
   Allineato a PurchaseDocumentForm.razor.css, con in più:
   - .alert-bar-warning (avviso di tracciabilità obbligatoria senza barra disponibile)
   - .line-row-main.is-traceable e .trac-parent (riga tracciabile e sua provenienza)
   =========================== */

.page-container[b-u7z51qmzzu] {
    max-width: 1400px;
    margin: 0 auto;
    padding: 24px 16px;
}

/* L'header è PageToolbar (components.css §PAGE TOOLBAR): qui non c'è più nulla da impaginare. */

/* ── Messaggi in toast ─────────────────────────────────────────────────────
   Posizione FISSA in alto al centro: il form è lungo e l'operatore lavora sulla griglia righe, in
   fondo alla pagina. Un avviso ancorato all'header sarebbe fuori dallo schermo proprio quando serve
   — è il caso del rifiuto per giacenza insufficiente. */
.toast-stack[b-u7z51qmzzu] {
    position: fixed;
    /* Sotto la toolbar agganciata, non sopra il titolo. */
    top: calc(var(--topbar-height) + var(--toolbar-stuck-height) + 16px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 1080;   /* sopra il modale dettagli riga (1050) */
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: max-content;
    max-width: min(720px, calc(100vw - 32px));
    pointer-events: none;   /* il contenitore non intercetta i click sul form sottostante */
}

.toast-msg[b-u7z51qmzzu] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    font-size: 13px;
    line-height: 1.45;
    border-left: 4px solid;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    pointer-events: auto;   /* ma il singolo toast sì: va chiuso */
    animation: toast-slide-in-b-u7z51qmzzu 180ms ease-out;
}

/* Entrata dall'alto: il movimento è ciò che attira lo sguardo su un messaggio che compare
   mentre l'attenzione è altrove. */
@keyframes toast-slide-in-b-u7z51qmzzu {
    from { opacity: 0; transform: translateY(-14px); }
    to   { opacity: 1; transform: translateY(0); }
}

.toast-msg svg[b-u7z51qmzzu] { flex-shrink: 0; margin-top: 1px; }
.toast-msg-text[b-u7z51qmzzu] { flex: 1 1 auto; }

.toast-msg-danger[b-u7z51qmzzu] { background: #fef2f2; border-left-color: #b91c1c; color: #7f1d1d; }
.toast-msg-success[b-u7z51qmzzu] { background: #ecfdf5; border-left-color: #047857; color: #064e3b; }

.toast-msg-close[b-u7z51qmzzu] {
    flex-shrink: 0;
    background: none; border: none; cursor: pointer;
    font-size: 20px; line-height: 1; padding: 0 2px;
    color: inherit; opacity: .55;
}
.toast-msg-close:hover[b-u7z51qmzzu] { opacity: 1; }

@media (max-width: 768px) {
    .toast-stack[b-u7z51qmzzu] { left: 16px; right: 16px; transform: none; width: auto; max-width: none; }
}

/* Avviso di configurazione in linea nel flusso (non è un errore dell'utente): tono ambra. */
.alert-bar[b-u7z51qmzzu] { display: flex; align-items: center; gap: 8px; padding: 12px 16px; margin-bottom: 12px; font-size: 13px; border-left: 4px solid; }
.alert-bar-warning[b-u7z51qmzzu] { background: #fffbeb; border-left-color: #d97706; color: #78350f; }

.loading-state[b-u7z51qmzzu] { text-align: center; padding: 48px 16px; color: #6b7280; }

.form-section[b-u7z51qmzzu] {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 16px;
    margin-bottom: 16px;
}
.form-section-header[b-u7z51qmzzu] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }

/* ── Testata della sezione Righe: interruttore + pulsante ──────────────────
   L'interruttore di aggiunta automatica sta accanto al pulsante perché è quell'azione che modifica:
   acceso, «Aggiungi riga» avviene da solo ad ogni lettura valida. */
.lines-header-actions[b-u7z51qmzzu] { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }

.auto-add-switch[b-u7z51qmzzu] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
    font-size: 12px;
    color: #334155;
    margin: 0;
}

.auto-add-switch input[b-u7z51qmzzu] { position: absolute; opacity: 0; width: 0; height: 0; }

.auto-add-track[b-u7z51qmzzu] {
    position: relative;
    width: 34px;
    height: 18px;
    background: #cbd5e1;
    border-radius: 999px;
    transition: background-color 140ms ease;
    flex-shrink: 0;
}

.auto-add-thumb[b-u7z51qmzzu] {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 14px;
    height: 14px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    transition: transform 140ms ease;
}

/* Verde da acceso: stesso colore della riga tracciabile e del badge di tracciabilità, perché è
   dello stesso flusso che si parla. */
.auto-add-switch input:checked + .auto-add-track[b-u7z51qmzzu] { background: #047857; }
.auto-add-switch input:checked + .auto-add-track .auto-add-thumb[b-u7z51qmzzu] { transform: translateX(16px); }
.auto-add-switch input:focus-visible + .auto-add-track[b-u7z51qmzzu] { box-shadow: 0 0 0 3px rgba(4, 120, 87, 0.25); }

.auto-add-label[b-u7z51qmzzu] { line-height: 1.2; text-transform: none; letter-spacing: normal; font-weight: 500; }

/* Non applicabile con la proposta 'N': resta visibile ma inerte, e il tooltip dice perché.
   Nasconderlo lascerebbe l'operatore a chiedersi dove sia finito. */
.auto-add-switch.is-disabled[b-u7z51qmzzu] { cursor: not-allowed; color: #94a3b8; }
.auto-add-switch.is-disabled .auto-add-track[b-u7z51qmzzu] { background: #e2e8f0; }
.form-section-title[b-u7z51qmzzu] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    margin-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 8px;
}
.form-section-header .form-section-title[b-u7z51qmzzu] { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }

.form-section-collapsible > summary[b-u7z51qmzzu] {
    cursor: pointer;
    list-style: none;
    user-select: none;
    display: flex;
    align-items: center;
    gap: 8px;
}
.form-section-collapsible > summary[b-u7z51qmzzu]::-webkit-details-marker { display: none; }
.form-section-collapsible > summary[b-u7z51qmzzu]::before {
    content: "▸";
    font-size: 12px;
    color: #6b7280;
    transition: transform 0.15s ease;
    display: inline-block;
}
.form-section-collapsible[open] > summary[b-u7z51qmzzu]::before {
    transform: rotate(90deg);
}
.form-section-collapsible:not([open]) > summary[b-u7z51qmzzu] {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
.form-section-collapsible[open] > summary[b-u7z51qmzzu] {
    margin-bottom: 12px;
}

.form-grid[b-u7z51qmzzu] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}
/* Senza `gap`: lo spazio fra etichetta e controllo lo dà il margine dell'etichetta, come nei
   componenti condivisi. Con il gap in più, un campo scritto a mano teneva la propria etichetta
   4 px più in alto di quella del <DateField> accanto, dentro la stessa .form-group-row. */
.form-group[b-u7z51qmzzu] { display: flex; flex-direction: column; }

/* Il selettore resta sull'elemento perché non tutte le <label> di questa pagina portano
   class="form-label". I valori però non sono più suoi: sono quelli dell'etichetta di campo del
   design system, gli stessi che LookupField e DateField rendono qui accanto. Erano 11px/600/#6b7280
   contro 12px/500/--text-secondary, e la differenza si leggeva sulla stessa riga. */
.form-group label[b-u7z51qmzzu] {
    font-size: var(--label-font-size);
    font-weight: var(--label-font-weight);
    color: var(--label-color);
    text-transform: uppercase;
    letter-spacing: var(--label-letter-spacing);
    margin-bottom: var(--label-gap);
}

.empty-state-inline[b-u7z51qmzzu] {
    text-align: center;
    padding: 24px;
    color: #9ca3af;
    font-style: italic;
    font-size: 13px;
    border: 1px dashed #e5e7eb;
}

.lines-edit-wrapper[b-u7z51qmzzu] { overflow-x: auto; }

/* ── Scala densa della riga di dettaglio ──────────────────────────────────────────────────
   La riga di una tabella NON è una riga di form: i controlli stanno dentro una cella e devono
   stare all'altezza dell'icona di riga, non a quella della scheda. Qui l'altezza era scritta con
   letterali sparsi — 28px per .cell-num-field, .btn-icon e .btn-lookup-sm, e i 31 px che
   .form-control-sm ereditava da Bootstrap per gli input di Pezzi/Colli/Pallet — e nessuno dei
   quattro sapeva degli altri: la riga mostrava 28 e 31 px insieme.

   Ora è un token solo, --control-height-xs, lo stesso di LabelPrintIconButton. Serve anche a
   tenere fuori --control-height (40 px), che components.css dichiara su ogni .form-control.
   Vedi docs/Analisi-ArmonizzazioneControlliShared-MtsSaas.md §8 e §13.

   DUE DETTAGLI CHE LA MISURA SULLA PAGINA VERA HA CORRETTO, SU OrderForm:
   · `::deep` non è facoltativo. Senza, Blazor mette l'attributo di scope sul BERSAGLIO
     (`.form-control[b-questa-pagina]`) e la regola non raggiunge gli input resi dai componenti
     condivisi, che portano lo scope del componente — qui QuantityField, PriceField e
     PercentageField. Con `::deep` l'attributo va sull'antenato e la regola vale per tutti.
   · serve anche `min-height`: Bootstrap lo dichiara su .form-control-sm, e batte `height`. */
.lines-edit-table[b-u7z51qmzzu]  .form-control,
.lines-edit-table[b-u7z51qmzzu]  .btn-lookup-sm,
.lines-edit-table[b-u7z51qmzzu]  .btn-icon {
    height: var(--control-height-xs);
    min-height: var(--control-height-xs);
}

/* La scala densa ha anche un suo corpo del testo, e va dichiarato qui per lo stesso motivo:
   `:root .form-control` porta 14 px a ogni campo, e i campi resi dai componenti resterebbero a
   14 in mezzo a controlli scritti a 13. */
.lines-edit-table[b-u7z51qmzzu]  .form-control {
    font-size: var(--control-font-size-xs);
}

.lines-edit-table[b-u7z51qmzzu] { width: 100%; border-collapse: collapse; font-size: 13px; }
.lines-edit-table thead th[b-u7z51qmzzu] {
    text-align: left;
    padding: 8px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #374151;
}
.lines-edit-table tbody td[b-u7z51qmzzu] { padding: 4px; border-bottom: 1px solid #f1f5f9; }
.lines-edit-table .text-end[b-u7z51qmzzu] { text-align: right; }
.lines-edit-table .form-control-sm[b-u7z51qmzzu] { padding: 4px 8px; font-size: var(--control-font-size-xs); }
/* Campo quantità calcolato dall'UM base: sola lettura, sfondo grigio. */
.lines-edit-table .qty-readonly[b-u7z51qmzzu] { background-color: #f3f4f6; cursor: default; }
/* Campi di riga non editabili (descrizione articolo, codice articolo, IVA): stessa resa dei
   campi readonly di testata (LookupField) — sfondo grigio chiaro e cursore normale. */
.lines-edit-table input[readonly][b-u7z51qmzzu] {
    background-color: var(--color-gray-50, #f3f4f6);
    color: var(--color-gray-700, #374151);
    cursor: default;
}
.lines-summary[b-u7z51qmzzu] { padding: 12px; background: #f9fafb; font-size: 13px; color: #374151; }

/* ── Piede documento: card riepilogo totali ─────────────────────────────── */
/* I totali restano ancorati al fondo della finestra mentre si scorrono le righe: su un documento
   lungo l'operatore vede l'effetto di ogni riga sul totale senza dover scendere in fondo.

   È `sticky`, non `fixed`: la fascia resta dentro la sezione Righe, quindi si sgancia da sola
   quando la sezione esce dallo schermo, invece di restare sospesa sul resto del form.

   Perché funziona: `.lines-totals` è FRATELLO di `.lines-edit-wrapper` (che ha overflow-x per lo
   scorrimento orizzontale della tabella), non figlio — un antenato con overflow annullerebbe
   l'ancoraggio. Se in futuro si sposta dentro il wrapper, questo comportamento si perde. */
.lines-totals[b-u7z51qmzzu] {
    position: sticky;
    bottom: 0;
    z-index: 3;

    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px;
    background: #f9fafb;
    border-top: 1px solid #e5e7eb;
    /* Ombra verso l'alto: quando è ancorata si distingue dalle righe che le scorrono sotto. */
    box-shadow: 0 -2px 6px rgba(15, 23, 42, 0.06);
}

/* Su schermi bassi le card andrebbero a capo occupando mezza finestra: si stringono e si rendono
   scorrevoli in orizzontale, così restano una fascia sottile e non rubano spazio alle righe. */
@media (max-height: 800px) {
    .lines-totals[b-u7z51qmzzu] {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 8px 12px;
    }

    .lines-totals .total-card[b-u7z51qmzzu] { min-width: 92px; padding: 6px 10px; }
    .lines-totals .total-card-value[b-u7z51qmzzu] { font-size: 14px; }
}
.total-card[b-u7z51qmzzu] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 104px;
    padding: 8px 12px;
    background: #fff;
    border: 1px solid #e5e7eb;
}
.total-card-label[b-u7z51qmzzu] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
}
.total-card-value[b-u7z51qmzzu] {
    font-size: 16px;
    font-weight: 700;
    color: #111827;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
/* Card importo documento: evidenziata e spinta a destra. */
.total-card-emphasis[b-u7z51qmzzu] {
    margin-left: auto;
    background: #eff6ff;
    border-color: #bfdbfe;
}
.total-card-emphasis .total-card-value[b-u7z51qmzzu] { color: #1d4ed8; }

/* ── Il gruppo di righe e il suo separatore ────────────────────────────────
   Una riga di vendita occupa da uno a cinque <tr>: principale, quantità secondarie (solo sulla
   riga merce), provenienza della merce, tracciabilità di settore, imballi. Nessuna di queste è
   «l'ultima» per costruzione — dipende da che cosa la riga porta.

   Quindi il separatore lo chiude sempre `.line-row-close`, marcata in Razor: è là che si sa
   quale delle cinque è l'ultima. Dedurlo in CSS (`:last-child`, `+`) significherebbe riscrivere
   il selettore ogni volta che si aggiunge una sotto-riga, e sbagliarlo in silenzio.
   Vedi docs/Analisi-ArmonizzazioneControlliShared-MtsSaas.md §9.2. */
.lines-edit-table tbody tr.line-row-main td[b-u7z51qmzzu] { border-bottom: none; padding-bottom: 2px; }

.lines-edit-table tbody tr.line-row-secondary td[b-u7z51qmzzu] {
    padding-top: 0;
    padding-bottom: 2px;
    border-bottom: none;
}

.lines-edit-table tbody tr.line-row-close td[b-u7z51qmzzu] {
    padding-bottom: 6px;
    border-bottom: 1px solid #cbd5e1;
}

/* La sotto-riga di tracciabilità ha un respiro suo (10 px), che il padding della riga di chiusura
   le toglierebbe: quando è lei a chiudere il gruppo prende il bordo e si tiene il proprio. */
.lines-edit-table tbody tr.line-trac-row.line-row-close td[b-u7z51qmzzu] { padding-bottom: 10px; }

/* Riga tracciabile: filetto verde a sinistra. Segnale discreto ma sempre visibile, così si
   distingue a colpo d'occhio da una riga classica senza aggiungere colonne. */
.lines-edit-table tbody tr.line-row-main.is-traceable td:first-child[b-u7z51qmzzu] {
    box-shadow: inset 3px 0 0 0 #047857;
}

/* ── Badge del progressivo di riga (prg_mov) ───────────────────────────────
   Colonna stretta a sinistra: è un riferimento di lettura, non un dato da editare. */
.cell-seq[b-u7z51qmzzu] { text-align: center; vertical-align: middle; }

.seq-badge[b-u7z51qmzzu] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 22px;
    padding: 0 6px;
    background: #eef2f7;
    border: 1px solid #d7dee8;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
    /* Tabellare: con progressivi a una e due cifre i badge restano allineati in colonna. */
    font-variant-numeric: tabular-nums;
}

/* Riga non ancora salvata: il progressivo non esiste, il badge è smorzato e mostra un segnaposto. */
.seq-badge.is-new[b-u7z51qmzzu] {
    background: transparent;
    border-style: dashed;
    border-color: #cbd5e1;
    color: #94a3b8;
    font-weight: 400;
}

/* ── Riga secondaria: un campo per cella ───────────────────────────────────────────────────
   Le larghezze non si dichiarano più. Prima erano quattro letterali (114, 90, 96, 114) dentro un
   flex-wrap annidato in una cella con colspan, e producevano una riga i cui bordi sinistri non
   cadevano sotto nessuna colonna della riga principale. Ora ogni campo sta nella cella della
   colonna che lo spiega — Pezzi sotto Quantità, Colli sotto UM, Pallet sotto Prezzo, Qta netto
   sotto Sc.1 — e ad allineare è la tabella, che è l'unica cosa che sa dove cadono le colonne e
   continua a saperlo quando cambiano.

   Il conto delle colonne non è mantenuto a mano: lo costruisce SecondaryRowCells() in
   SalesDocumentForm.Lines.cs, perché qui le colonne sono CONDIZIONATE dal tipo documento
   (flg_input_qta, flg_input_prezzo) e una cella di troppo sposterebbe tutto ciò che sta a destra.
   Vedi docs/Analisi-ArmonizzazioneControlliShared-MtsSaas.md §9.2–§9.3. */
.cell-sub[b-u7z51qmzzu] {
    /* In alto: i campi partono tutti dalla stessa linea qualunque cosa contengano. */
    vertical-align: top;
}

.cell-sub label[b-u7z51qmzzu] {
    display: block;
    font-size: 10px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.4px; color: #94a3b8;
    margin-bottom: 2px;
    white-space: nowrap;
}

/* I componenti condivisi portano con sé le proprie misure, pensate per una scheda e non per una
   cella di tabella. Dentro una colonna il campo deve prendere la larghezza che la colonna gli dà:
   il min-width: 0 è la parte che conta, perché senza di esso la cella non può restringersi sotto
   la misura del componente e allarga la colonna, e con essa tutta la tabella. */
.cell-sub[b-u7z51qmzzu]  .form-group {
    margin: 0;
    width: 100%;
    min-width: 0;
    max-width: none;
}

.cell-sub[b-u7z51qmzzu]  .form-label {
    font-size: 10px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.4px; color: #94a3b8; margin-bottom: 2px;
}

.cell-sub .form-control[b-u7z51qmzzu],
.cell-sub[b-u7z51qmzzu]  .form-control {
    width: 100%;
    min-width: 0;
}

/* Campo quantità collegato all'UM (des_nome_campo_calc): sola lettura, tenuto = qta_merce. */
.qty-readonly[b-u7z51qmzzu] { background: #f3f4f6; color: #6b7280; cursor: default; }

/* Campi numerici culture-aware (QuantityField/PriceField/PercentageField) dentro le celle
   della griglia righe: rimuovono lo spazio del form-group e la label interna, così si
   comportano come gli input compatti della tabella. */
.cell-num-field[b-u7z51qmzzu]  .form-group { margin: 0; padding: 0; }
.cell-num-field[b-u7z51qmzzu]  .form-label { display: none; }
.cell-num-field[b-u7z51qmzzu]  .quantity-input-wrapper,
.cell-num-field[b-u7z51qmzzu]  .price-input-wrapper,
.cell-num-field[b-u7z51qmzzu]  .percentage-input-wrapper { margin: 0; }
.cell-num-field[b-u7z51qmzzu]  .form-control {
    font-size: var(--control-font-size-xs);
    height: var(--control-height-xs);
    width: 100%;
    text-align: right;
}
/* Nascondiamo il suggerimento decimali. */
.cell-num-field[b-u7z51qmzzu]  [class$="-decimals-hint"] { display: none; }
/* Con il suggerimento nascosto rimuoviamo il padding-right riservato così Quantità e Prezzo
   restano a filo destro. !important perché le regole scoped dei componenti hanno pari specificità. */
.cell-num-field[b-u7z51qmzzu]  .quantity-input,
.cell-num-field[b-u7z51qmzzu]  .price-input {
    padding: 4px 8px !important;
    text-align: right !important;
}
/* La percentuale mantiene un piccolo spazio a destra per il simbolo %. */
.cell-num-field[b-u7z51qmzzu]  .percentage-input {
    padding: 4px 1.6em 4px 8px !important;
    text-align: right !important;
}
.cell-num-field[b-u7z51qmzzu]  .percentage-symbol { font-size: 11px; color: #94a3b8; }

/* Sotto-riga read-only con i campi di tracciabilità (aumenta l'altezza della riga).
   Nessun bordo inferiore: a chiudere il gruppo è `.line-row-close`, e queste righe lo sono solo
   quando sono le ultime. Lo sfondo le distingue già dalle righe editabili. */
.line-trac-row td[b-u7z51qmzzu] { padding: 6px 8px 10px 8px; border-bottom: none; background: #fafafa; }
.trac-readonly[b-u7z51qmzzu] { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline; }
.trac-title[b-u7z51qmzzu] {
    font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
    color: #6b7280; margin-right: 4px;
}
.trac-item[b-u7z51qmzzu] { font-size: 12px; color: #374151; white-space: nowrap; }
.trac-item-label[b-u7z51qmzzu] { color: #9ca3af; }

/* Provenienza della merce (barcode padre): sfondo verde tenue, per distinguerla dalla
   tracciabilità di settore che vive nella riga successiva. */
.trac-parent[b-u7z51qmzzu] { background: #f0fdf4; padding: 4px 8px; }
.trac-parent .trac-title[b-u7z51qmzzu] { color: #047857; }

.lines-hint[b-u7z51qmzzu] { font-size: 12px; color: #9ca3af; margin: 8px 0 0 0; font-style: italic; }


.line-actions[b-u7z51qmzzu] { display: flex; gap: 4px; }
.btn-icon[b-u7z51qmzzu] {
    display: inline-flex; align-items: center; justify-content: center;
    width: var(--control-height-xs); height: var(--control-height-xs);
    background: transparent; border: 1px solid transparent;
    color: #4b5563;
    cursor: pointer;
    border-radius: 4px;
}
.btn-icon-primary:hover[b-u7z51qmzzu] { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }

/* Icona conferma riga: rosso = da confermare, verde = confermata. */
.btn-icon-confirm.needs-confirm[b-u7z51qmzzu] { color: #b91c1c; }
.btn-icon-confirm.needs-confirm:hover[b-u7z51qmzzu] { background: #fef2f2; border-color: #fecaca; }
.btn-icon-confirm.is-confirmed[b-u7z51qmzzu] { color: #047857; }
.btn-icon-confirm.is-confirmed:hover[b-u7z51qmzzu] { background: #ecfdf5; border-color: #a7f3d0; }
.btn-icon-danger:hover[b-u7z51qmzzu] { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }

.line-lookup[b-u7z51qmzzu] {
    display: flex;
    align-items: stretch;
    gap: 4px;
}
.line-lookup .form-control[b-u7z51qmzzu] { flex: 1 1 auto; min-width: 0; }
.btn-lookup-sm[b-u7z51qmzzu] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--control-height-xs);
    flex: 0 0 var(--control-height-xs);
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    color: #374151;
    cursor: pointer;
    border-radius: 4px;
    padding: 0;
}
.btn-lookup-sm:hover[b-u7z51qmzzu] { background: #e5e7eb; color: #111827; }

/* Nota di riga sulle unità di misura (gemella della form d'acquisto): informativa, non allarme. */
.line-uom-note[b-u7z51qmzzu] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-xs);
    color: #5c3c00;
    background-color: #fff8e6;
    border-left: 3px solid var(--color-warning, #b26a00);
}

.line-uom-note svg[b-u7z51qmzzu] { flex-shrink: 0; }

.line-uom-note-close[b-u7z51qmzzu] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-md);
    line-height: 1;
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
}

.line-uom-note-close:hover[b-u7z51qmzzu] { opacity: 1; }
/* /Components/Pages/Sales/SalesDocumentList.razor.rz.scp.css */
/* ===========================
   SalesDocumentList - Scoped Styles
   Stile "lista contatti": righe/card documenti di vendita (BLV/FAV)
   Allineato a PurchaseDocumentList.razor.css, senza le regole della dialog di
   generazione fattura (overlay, confirm-*, azioni collegate): in vendita non esiste.
   =========================== */

.page-container[b-lygil80zzp] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}
/* Action buttons */
.btn-action[b-lygil80zzp] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-lygil80zzp] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:disabled[b-lygil80zzp] { opacity: 0.5; cursor: default; box-shadow: none; }

.btn-action-secondary[b-lygil80zzp] { background-color: transparent; color: var(--color-action); }
.btn-action-secondary:hover[b-lygil80zzp] { background-color: var(--color-gray-100, rgba(0,0,0,0.04)); color: var(--color-action); }

/* Alert bar */
.alert-bar[b-lygil80zzp] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-lygil80zzp] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }

.alert-bar-close[b-lygil80zzp] {
    margin-left: auto; background: none; border: none;
    font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1;
}
.alert-bar-close:hover[b-lygil80zzp] { opacity: 1; }

/* Status filter chips */
.status-filters[b-lygil80zzp] { display: flex; gap: var(--space-1); flex-wrap: wrap; margin-bottom: var(--space-3); }

.status-chip[b-lygil80zzp] {
    padding: var(--space-1) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: transparent;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    cursor: pointer;
}

.status-chip.is-active[b-lygil80zzp] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary, #fff);
}

/* Search bar */
.search-bar[b-lygil80zzp] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-lygil80zzp] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-lygil80zzp] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-lygil80zzp] {
    flex: 1; border: none; background: transparent;
    font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0;
}
.search-input[b-lygil80zzp]::placeholder { color: var(--text-muted); }
.search-count[b-lygil80zzp] {
    flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted);
    font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px;
}

/* Loading / empty */
.loading-state[b-lygil80zzp], .empty-state[b-lygil80zzp] {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3);
}
.empty-state svg[b-lygil80zzp] { opacity: 0.4; }
.empty-state-text[b-lygil80zzp] { font-size: var(--font-size-base); margin: 0; }

/* Document list (righe) */
.order-list[b-lygil80zzp] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }

.order-row[b-lygil80zzp] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
    cursor: pointer;
}
.order-row:last-child[b-lygil80zzp] { border-bottom: none; }
.order-row:hover[b-lygil80zzp] { background-color: rgba(11, 36, 62, 0.03); }

.order-avatar[b-lygil80zzp] {
    flex-shrink: 0;
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

.order-info[b-lygil80zzp] { flex: 1; min-width: 0; }

.order-name[b-lygil80zzp] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.order-meta[b-lygil80zzp] {
    display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap;
    font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px;
}
.order-code[b-lygil80zzp] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.8; }
.meta-separator[b-lygil80zzp] { color: var(--color-gray-300); }

/* Descrizione tipo documento evidenziata (chip in risalto nella riga) */
.doc-type-chip[b-lygil80zzp] {
    display: inline-flex;
    align-items: center;
    padding: 2px var(--space-2);
    background-color: var(--color-primary);
    color: var(--text-on-primary, #fff);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

.order-details[b-lygil80zzp] { display: flex; align-items: center; gap: var(--space-4); margin-top: var(--space-1); flex-wrap: wrap; }
.order-detail-item[b-lygil80zzp] { font-size: var(--font-size-xs); color: var(--text-muted); }
.detail-label[b-lygil80zzp] { color: var(--color-gray-400); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.3px; margin-right: 2px; }

.order-badges[b-lygil80zzp] { flex-shrink: 0; display: flex; gap: var(--space-2); }

/* Status badge (ind_stato_doc) */
.doc-status[b-lygil80zzp] {
    display: inline-flex; align-items: center;
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase; letter-spacing: 0.3px;
    border: var(--border-width-thin) solid transparent;
    white-space: nowrap;
}
.doc-status.is-draft[b-lygil80zzp]      { background-color: var(--color-gray-100); color: var(--text-muted); border-color: var(--border-color-light); }
.doc-status.is-tobesaved[b-lygil80zzp]  { background-color: #fff4e5; color: #7a4f01; border-color: #f2c98a; }
.doc-status.is-saved[b-lygil80zzp]      { background-color: #e7f5ec; color: #1b5e34; border-color: #a6d8b8; }
/* «Ausiliari»: area del tipo documento senza tracciabilità e imballi. Testo fisso, misura propria. */
.doc-status.is-auxiliary[b-lygil80zzp]  { min-width: 80px; background-color: #f3f0fa; color: #4a3a7a; border-color: #cfc4e8; }
.doc-status.is-savederp[b-lygil80zzp]   { background-color: #e8eef6; color: #1c3d63; border-color: #a9c1de; }
.doc-status.is-unknown[b-lygil80zzp]    { background-color: var(--color-gray-100); color: var(--text-muted); }

/* Action buttons */
.order-actions[b-lygil80zzp] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }

.btn-icon[b-lygil80zzp] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px;
    background: none; border: var(--border-width-thin) solid transparent;
    cursor: pointer; color: var(--text-muted); text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}
.btn-icon:hover[b-lygil80zzp] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon:disabled[b-lygil80zzp] { opacity: 0.4; cursor: default; }
.btn-icon:disabled:hover[b-lygil80zzp] { color: var(--text-muted); background: none; border-color: transparent; }

/* Paginazione */
.list-pagination[b-lygil80zzp] {
    display: flex; align-items: center; justify-content: center;
    gap: var(--space-3); margin-top: var(--space-4);
}
.pagination-info[b-lygil80zzp] { color: var(--text-muted); font-size: var(--font-size-sm); }

/* Responsive */
@media (max-width: 768px) {
    .order-row[b-lygil80zzp] { flex-wrap: wrap; }
    .order-badges[b-lygil80zzp] { order: 5; }
    .order-actions[b-lygil80zzp] { order: 6; margin-left: auto; }
    .order-details[b-lygil80zzp] { flex-wrap: wrap; }
}
/* /Components/Pages/Sales/SalesDocumentListByMetaquery.razor.rz.scp.css */
/* Pulsante "torna al menu": affianca il blocco icona/titolo/sottotitolo. */
.page-header-left[b-04h1izd3a0] { display: flex; align-items: center; gap: var(--space-3); }
.page-heading[b-04h1izd3a0] { min-width: 0; }
/* /Components/Pages/Sales/SalesInvoiceFromDeliveryList.razor.rz.scp.css */
/* ===========================
   SalesInvoiceFromDeliveryList - Scoped Styles
   Flat Industrial Minimal

   Il "cromo" di pagina (container, header, alert, ricerca, stati vuoto/caricamento) è scoped
   per pagina in questo progetto, non globale: senza queste regole titolo e barre resterebbero
   senza stile. Blocco allineato a Orders/DeliveryOrderByCustomerList.razor.css.
   =========================== */

/* Page Container */
.page-container[b-huhssa2udp] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Back Button */

/* Alert Bars */
.alert-bar[b-huhssa2udp] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-huhssa2udp] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-huhssa2udp] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-huhssa2udp] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-huhssa2udp] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-huhssa2udp] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-huhssa2udp] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-huhssa2udp] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-huhssa2udp]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-huhssa2udp] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-huhssa2udp] {
    color: var(--color-primary);
}

.search-count[b-huhssa2udp] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-huhssa2udp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-huhssa2udp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-huhssa2udp] {
    opacity: 0.4;
}

.empty-state-text[b-huhssa2udp] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* ===== Alert di esito positivo (non presente nella pagina di riferimento) ===== */
.alert-bar-success[b-huhssa2udp] {
    background-color: #e8f5ee;
    border-left-color: var(--color-success);
    color: #17603f;
}

/* ===== Filtri della ricerca su periodo =====
   Stessa struttura delle barre filtro dei brogliacci (Sales/Reports): .filter-group in colonna,
   con override ::deep per portare i controlli condivisi (DateField, LookupField) alla densità
   della barra. Senza gli ::deep i controlli userebbero la taglia da form documento, che qui è
   sproporzionata. */
.filter-bar[b-huhssa2udp] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-group[b-huhssa2udp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}

/* Tutti i controlli della barra sono componenti condivisi: non restano input o select nudi da
   stilare qui, solo gli override di densità qui sotto. */

/* ===== DateField dentro la barra ===== */
.filter-group-date[b-huhssa2udp] {
    min-width: 165px;
}

.filter-group-date[b-huhssa2udp]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-date[b-huhssa2udp]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-date[b-huhssa2udp]  .date-input {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* ===== LookupField dentro la barra ===== */
.filter-group-lookup[b-huhssa2udp] {
    min-width: 220px;
}

.filter-group-lookup[b-huhssa2udp]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-lookup[b-huhssa2udp]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-lookup[b-huhssa2udp]  .form-control {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Il codice sotto il campo: utile per capire che cosa filtra, ma non deve alzare la riga
   e sfasare l'allineamento degli altri controlli. */
.filter-group-lookup[b-huhssa2udp]  .lookup-hint {
    font-size: var(--font-size-xs);
    line-height: 1.2;
    margin-top: 2px;
}

/* ===== SelectField dentro la barra ===== */
.filter-group-select[b-huhssa2udp] {
    min-width: 165px;
}

.filter-group-select[b-huhssa2udp]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-select[b-huhssa2udp]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-select[b-huhssa2udp]  .select-input {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-actions[b-huhssa2udp] {
    margin-left: auto;
    padding-bottom: var(--space-1);
}
/* /Components/Pages/SectorHome/HomeStatsCard.razor.rz.scp.css */
.home-stats-card[b-oc1y7zg3jq] {
    background: var(--color-white);
    border: 1px solid var(--color-gray-200);
    border-radius: 0;
    padding: 16px 20px;
    margin-top: 24px;
}

.home-stats-header[b-oc1y7zg3jq] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 1px solid var(--color-gray-200);
}

.home-stats-title[b-oc1y7zg3jq] {
    font-weight: 600;
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: .8125rem;
}

.home-stats-subtitle[b-oc1y7zg3jq] {
    font-size: .8125rem;
    color: var(--color-gray-500);
}

.home-stats-grid[b-oc1y7zg3jq] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 16px;
}

.home-stat[b-oc1y7zg3jq] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 8px 12px;
    background: var(--color-gray-50);
    border-left: 3px solid var(--color-primary);
}

.home-stat-label[b-oc1y7zg3jq] {
    font-size: .75rem;
    color: var(--color-gray-500);
    text-transform: uppercase;
    letter-spacing: .03em;
}

.home-stat-value[b-oc1y7zg3jq] {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--color-primary);
    font-variant-numeric: tabular-nums;
}

.home-stat-placeholder[b-oc1y7zg3jq] {
    color: var(--color-gray-300);
}

.home-stat-na[b-oc1y7zg3jq] {
    color: var(--color-gray-400);
    font-size: 1.125rem;
    font-weight: 600;
}
/* /Components/Pages/SectorHome/SectorHomeCard.razor.rz.scp.css */
.sector-card[b-uz5chpjux2] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    background: var(--color-white);
    border: 1px solid var(--color-gray-200);
    border-radius: 0;
    text-decoration: none;
    color: inherit;
    transition: border-color .15s ease, background-color .15s ease;
    height: 100%;
}

    .sector-card:hover[b-uz5chpjux2] {
        border-color: var(--color-primary);
        background: var(--color-gray-50);
        text-decoration: none;
        color: inherit;
    }

.sector-card-icon[b-uz5chpjux2] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: var(--color-gray-100);
    color: var(--color-primary);
}

.sector-card-body[b-uz5chpjux2] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.sector-card-title[b-uz5chpjux2] {
    font-weight: 600;
    color: var(--color-primary);
    line-height: 1.3;
}

.sector-card-text[b-uz5chpjux2] {
    font-size: .875rem;
    color: var(--color-gray-500);
    line-height: 1.4;
    margin-top: 2px;
}
/* /Components/Pages/SelectTenant.razor.rz.scp.css */
/* Tenant Selection Page Container */
.tenant-selection-page[b-atpboj1dge] {
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem;
    position: relative;
    /* Background with gradient overlay and custom image - same as login */
    background: 
        linear-gradient(135deg, rgba(11, 36, 62, 0.85) 0%, rgba(30, 77, 123, 0.85) 100%),
        url('/images/AdobeStock_138850596.jpeg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/* Company Logo - same positioning as login */
.company-logo[b-atpboj1dge] {
    position: absolute;
    top: 2rem;
    left: 2rem;
    width: 220px;
    max-width: 30vw;
    z-index: 10;
}

.company-logo svg[b-atpboj1dge] {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3));
}

/* Tenant Card - similar to login card but wider for tenant list */
.tenant-card[b-atpboj1dge] {
    width: 100%;
    max-width: 600px;
    border: none;
    border-radius: 12px;
    overflow: hidden;
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.95);
}

.tenant-card .card-header[b-atpboj1dge] {
    background: linear-gradient(135deg, #0B243E 0%, #1e4d7b 100%) !important;
    border-bottom: none;
    padding: 1.5rem;
}

.tenant-card .card-header h4[b-atpboj1dge] {
    font-weight: 700;
    letter-spacing: 0.5px;
}

.tenant-card .card-header small[b-atpboj1dge] {
    opacity: 0.9;
    font-size: 0.875rem;
}

/* Admin Button in Header */
.tenant-card .card-header .btn[b-atpboj1dge] {
    border-radius: 6px;
    padding: 0.4rem 1rem;
    font-weight: 500;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.tenant-card .card-header .btn:hover[b-atpboj1dge] {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.tenant-card .card-header .btn svg[b-atpboj1dge] {
    vertical-align: middle;
}

/* Tenant List Items */
.list-group-item[b-atpboj1dge] {
    border-radius: 8px !important;
    border: 1px solid #dee2e6 !important;
    transition: all 0.2s ease;
}

.list-group-item-action:hover:not(.disabled)[b-atpboj1dge] {
    background-color: #f8f9fa !important;
    transform: translateX(5px);
    border-color: #0B243E !important;
}

.list-group-item h5[b-atpboj1dge] {
    color: #0B243E;
    font-weight: 600;
}

/* Badge Styling */
.badge[b-atpboj1dge] {
    border-radius: 6px;
    padding: 0.35rem 0.65rem;
    font-weight: 500;
}

/* Alert Styling - consistent with login */
.alert[b-atpboj1dge] {
    border-radius: 8px;
    border: none;
}

/* Spinner Styling */
.spinner-border[b-atpboj1dge] {
    border-width: 0.25em;
}

/* Responsive adjustments */
@media (max-width: 576px) {
    .tenant-card[b-atpboj1dge] {
        max-width: 100%;
        border-radius: 0;
    }

    .tenant-selection-page[b-atpboj1dge] {
        padding: 0;
    }

    /* Smaller logo on mobile */
    .company-logo[b-atpboj1dge] {
        top: 1rem;
        left: 1rem;
        width: 150px;
        max-width: 40vw;
    }

    .list-group-item-action:hover:not(.disabled)[b-atpboj1dge] {
        transform: none;
    }
}
/* /Components/Pages/SetPassword.razor.rz.scp.css */
/* Set Password (primo accesso) — stessa palette/sfondo/logo della pagina Login (scoped al componente) */

/* Container con gradiente + immagine di sfondo (come Login) */
.login-page[b-1156463jhh] {
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem;
    position: relative;
    background:
        linear-gradient(135deg, rgba(11, 36, 62, 0.85) 0%, rgba(30, 77, 123, 0.85) 100%),
        url('/images/AdobeStock_138850596.jpeg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/* Logo aziendale in alto a sinistra */
.company-logo[b-1156463jhh] {
    position: absolute;
    top: 2rem;
    left: 2rem;
    width: 220px;
    max-width: 30vw;
    z-index: 10;
}

.company-logo svg[b-1156463jhh] {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3));
}

.company-logo .logo-tagline[b-1156463jhh] {
    color: #ffffff;
    font-weight: 500;
    letter-spacing: 0.18em;
    font-size: 0.95rem;
    margin-top: 0.35rem;
    text-align: right;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Card: limite di larghezza dei controlli */
.login-card[b-1156463jhh] {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    border: none;
    border-radius: 12px;
    overflow: hidden;
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.95);
}

.login-card .card-header[b-1156463jhh] {
    background: linear-gradient(135deg, #0B243E 0%, #1e4d7b 100%) !important;
    border-bottom: none;
    padding: 1.5rem;
}

.login-card .card-header h4[b-1156463jhh] {
    font-weight: 700;
    letter-spacing: 0.5px;
}

.login-card .card-header small[b-1156463jhh] {
    opacity: 0.9;
    font-size: 0.875rem;
}

/* Form */
.login-card .form-label[b-1156463jhh] {
    font-weight: 600;
    color: #0B243E;
    font-size: 0.9rem;
}

/* ::deep necessario: i campi password sono renderizzati dal componente
   condiviso PasswordInput, che ha un proprio scope CSS. */
.login-card[b-1156463jhh]  .form-control {
    width: 100%;
    max-width: 100%;
    border-radius: 8px;
    border: 1px solid #dee2e6;
    padding: 0.75rem 1rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.login-card[b-1156463jhh]  .form-control:focus {
    border-color: #0B243E;
    box-shadow: 0 0 0 0.2rem rgba(11, 36, 62, 0.15);
}

/* Ripristina lo spazio per il pulsante "occhio" (il padding shorthand qui sopra
   sovrascriverebbe il padding-right definito in css/components.css). */
.login-card[b-1156463jhh]  .password-field .form-control {
    padding-right: 2.75rem;
}

/* Bottoni */
.login-card .btn[b-1156463jhh] {
    width: 100%;
    max-width: 100%;
}

.login-card .btn-primary[b-1156463jhh] {
    background: linear-gradient(135deg, #0B243E 0%, #1e4d7b 100%);
    border: none;
    border-radius: 8px;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.login-card .btn-primary:hover:not(:disabled)[b-1156463jhh] {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(11, 36, 62, 0.3);
}

.login-card .btn-primary:disabled[b-1156463jhh] {
    opacity: 0.65;
    cursor: not-allowed;
}

.login-card .btn-outline-primary[b-1156463jhh] {
    color: #0B243E;
    border-color: #0B243E;
    border-radius: 8px;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
}

.login-card .btn-outline-primary:hover[b-1156463jhh] {
    background: #0B243E;
    color: #fff;
}

.login-card .btn-link[b-1156463jhh] {
    color: #1e4d7b;
    font-weight: 600;
    text-decoration: none;
}

.login-card .btn-link:hover[b-1156463jhh] {
    text-decoration: underline;
}

/* Alert */
.login-card .alert[b-1156463jhh] {
    border-radius: 8px;
    border: none;
}

/* Spinner di verifica token */
.login-card .spinner-border[b-1156463jhh] {
    color: #0B243E;
}

/* Responsive */
@media (max-width: 576px) {
    .login-card[b-1156463jhh] {
        max-width: 100%;
        border-radius: 0;
    }

    .login-page[b-1156463jhh] {
        padding: 0;
    }

    .company-logo[b-1156463jhh] {
        top: 1rem;
        left: 1rem;
        width: 150px;
        max-width: 40vw;
    }
}
/* /Components/Pages/Shipping/CarrierCreate.razor.rz.scp.css */
/* ===========================
   CarrierCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-xmztrc1kjf] {
    max-width: 1100px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-xmztrc1kjf] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-xmztrc1kjf] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-xmztrc1kjf] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-xmztrc1kjf] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-xmztrc1kjf] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-xmztrc1kjf] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-xmztrc1kjf] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-xmztrc1kjf] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-xmztrc1kjf] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-xmztrc1kjf] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-xmztrc1kjf] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-xmztrc1kjf] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-xmztrc1kjf] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-xmztrc1kjf]::placeholder {
    color: var(--color-gray-400);
}

.form-control-sm[b-xmztrc1kjf] {
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-xs);
}

/* Detail Table */
.detail-table[b-xmztrc1kjf] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.detail-header[b-xmztrc1kjf] {
    display: flex;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    background-color: var(--color-gray-50);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.detail-row[b-xmztrc1kjf] {
    display: flex;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    align-items: center;
}

.detail-row:last-child[b-xmztrc1kjf] {
    border-bottom: none;
}

.detail-cell[b-xmztrc1kjf] {
    display: flex;
    align-items: center;
}

/*
 * LookupField dentro una riga di dettaglio (stesse regole di CarrierEdit e DeliveryRouteEdit).
 * Il componente rende un .form-group con etichetta e hint del codice, che in una riga di
 * tabella spezzerebbero l'allineamento. ::deep perche' il markup e' del componente figlio.
 */
.detail-cell[b-xmztrc1kjf]  .form-group {
    width: 100%;
    margin-bottom: 0;
}

/* L'intestazione di colonna fa gia' da etichetta. */
.detail-cell[b-xmztrc1kjf]  .form-label {
    display: none;
}

/* Il codice e' gia' nella casella: il suggerimento renderebbe le righe di altezza diversa. */
.detail-cell[b-xmztrc1kjf]  .lookup-hint {
    display: none;
}

/*
 * Altezza di riga: i campi di testo delle righe sono .form-control-sm (32px), mentre LookupField e
 * IndicatorField nascono a 40px per le form. Senza queste regole le righe risultano disallineate.
 */
.detail-cell[b-xmztrc1kjf]  .form-note {
    display: none;
}

.detail-cell[b-xmztrc1kjf]  .input-with-lookup .form-control,
.detail-cell[b-xmztrc1kjf]  .btn-lookup,
.detail-cell[b-xmztrc1kjf]  .select-input {
    height: 32px;
    min-height: 32px;
}

.detail-cell[b-xmztrc1kjf]  .input-with-lookup .form-control {
    padding: 4px 8px;
}

.detail-cell[b-xmztrc1kjf]  .btn-lookup {
    width: 32px;
}

.detail-cell[b-xmztrc1kjf]  .select-input {
    padding-top: 4px;
    padding-bottom: 4px;
    padding-left: 8px;
}

.detail-cell-seq[b-xmztrc1kjf] {
    width: 60px;
    flex-shrink: 0;
}

.detail-cell-sm[b-xmztrc1kjf] {
    width: 100px;
    flex-shrink: 0;
}

.detail-cell-md[b-xmztrc1kjf] {
    width: 160px;
    flex-shrink: 0;
}

.detail-cell-grow[b-xmztrc1kjf] {
    flex: 1;
    min-width: 0;
}

.detail-cell-action[b-xmztrc1kjf] {
    width: 36px;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
}

.row-number[b-xmztrc1kjf] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

.detail-empty[b-xmztrc1kjf] {
    text-align: center;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    padding: var(--space-4) 0;
    margin: 0;
}

.btn-add-detail[b-xmztrc1kjf] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: 2px var(--space-2);
    background: none;
    border: var(--border-width-thin) solid var(--color-primary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    text-transform: none;
    letter-spacing: normal;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-add-detail:hover[b-xmztrc1kjf] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Action Buttons */
.btn-icon[b-xmztrc1kjf] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-xmztrc1kjf] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
}

.btn-icon-danger:hover[b-xmztrc1kjf] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.btn-action[b-xmztrc1kjf] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-xmztrc1kjf] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-xmztrc1kjf] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-xmztrc1kjf] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-xmztrc1kjf] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-xmztrc1kjf] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-xmztrc1kjf] {
        grid-column: span 1;
    }

    .detail-header[b-xmztrc1kjf] {
        display: none;
    }

    .detail-row[b-xmztrc1kjf] {
        flex-wrap: wrap;
    }

    .detail-cell-seq[b-xmztrc1kjf],
    .detail-cell-sm[b-xmztrc1kjf],
    .detail-cell-md[b-xmztrc1kjf] {
        width: 100%;
    }
}
/* /Components/Pages/Shipping/CarrierEdit.razor.rz.scp.css */
/* ===========================
   CarrierEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-5j2mvlm7vt] {
    max-width: 1100px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-5j2mvlm7vt] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    background-color: var(--color-gray-100);
    padding: 1px 6px;
}

/* Alert Bar */
.alert-bar[b-5j2mvlm7vt] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-5j2mvlm7vt] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-5j2mvlm7vt] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-5j2mvlm7vt] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-5j2mvlm7vt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-5j2mvlm7vt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-5j2mvlm7vt] {
    opacity: 0.4;
}

.empty-state-text[b-5j2mvlm7vt] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-5j2mvlm7vt] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-5j2mvlm7vt] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-5j2mvlm7vt] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-5j2mvlm7vt] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-5j2mvlm7vt] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-5j2mvlm7vt] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-5j2mvlm7vt] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-5j2mvlm7vt] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-5j2mvlm7vt] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-5j2mvlm7vt]::placeholder {
    color: var(--color-gray-400);
}

.form-control-sm[b-5j2mvlm7vt] {
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-xs);
}

.form-control-static[b-5j2mvlm7vt] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
}

/* Detail Table */
.detail-table[b-5j2mvlm7vt] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.detail-header[b-5j2mvlm7vt] {
    display: flex;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    background-color: var(--color-gray-50);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.detail-row[b-5j2mvlm7vt] {
    display: flex;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    align-items: center;
}

.detail-row:last-child[b-5j2mvlm7vt] {
    border-bottom: none;
}

.detail-cell[b-5j2mvlm7vt] {
    display: flex;
    align-items: center;
}

.detail-cell-seq[b-5j2mvlm7vt] {
    width: 60px;
    flex-shrink: 0;
}

.detail-cell-sm[b-5j2mvlm7vt] {
    width: 100px;
    flex-shrink: 0;
}

.detail-cell-md[b-5j2mvlm7vt] {
    width: 160px;
    flex-shrink: 0;
}

.detail-cell-grow[b-5j2mvlm7vt] {
    flex: 1;
    min-width: 0;
}

.detail-cell-action[b-5j2mvlm7vt] {
    width: 36px;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
}

/*
 * LookupField dentro una riga di dettaglio (stesse regole di DeliveryRouteEdit).
 * Il componente rende un .form-group con etichetta e hint del codice, che in una riga di
 * tabella spezzerebbero l'allineamento. ::deep perche' il markup e' del componente figlio.
 */
.detail-cell[b-5j2mvlm7vt]  .form-group {
    width: 100%;
    margin-bottom: 0;
}

/* L'intestazione di colonna fa gia' da etichetta. */
.detail-cell[b-5j2mvlm7vt]  .form-label {
    display: none;
}

/* Il codice e' gia' nella casella: il suggerimento renderebbe le righe di altezza diversa. */
.detail-cell[b-5j2mvlm7vt]  .lookup-hint {
    display: none;
}

/*
 * Altezza di riga: i campi di testo delle righe sono .form-control-sm (32px), mentre LookupField e
 * IndicatorField nascono a 40px per le form. Senza queste regole le righe risultano disallineate.
 */
.detail-cell[b-5j2mvlm7vt]  .form-note {
    display: none;
}

.detail-cell[b-5j2mvlm7vt]  .input-with-lookup .form-control,
.detail-cell[b-5j2mvlm7vt]  .btn-lookup,
.detail-cell[b-5j2mvlm7vt]  .select-input {
    height: 32px;
    min-height: 32px;
}

.detail-cell[b-5j2mvlm7vt]  .input-with-lookup .form-control {
    padding: 4px 8px;
}

.detail-cell[b-5j2mvlm7vt]  .btn-lookup {
    width: 32px;
}

.detail-cell[b-5j2mvlm7vt]  .select-input {
    padding-top: 4px;
    padding-bottom: 4px;
    padding-left: 8px;
}

.row-number[b-5j2mvlm7vt] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

.detail-empty[b-5j2mvlm7vt] {
    text-align: center;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    padding: var(--space-4) 0;
    margin: 0;
}

.btn-add-detail[b-5j2mvlm7vt] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: 2px var(--space-2);
    background: none;
    border: var(--border-width-thin) solid var(--color-primary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    text-transform: none;
    letter-spacing: normal;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-add-detail:hover[b-5j2mvlm7vt] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Action Buttons */
.btn-icon[b-5j2mvlm7vt] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-5j2mvlm7vt] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
}

.btn-icon-danger:hover[b-5j2mvlm7vt] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.btn-action[b-5j2mvlm7vt] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-5j2mvlm7vt] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-5j2mvlm7vt] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-5j2mvlm7vt] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-5j2mvlm7vt] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-5j2mvlm7vt] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-5j2mvlm7vt] {
        grid-column: span 1;
    }

    .detail-header[b-5j2mvlm7vt] {
        display: none;
    }

    .detail-row[b-5j2mvlm7vt] {
        flex-wrap: wrap;
    }

    .detail-cell-seq[b-5j2mvlm7vt],
    .detail-cell-sm[b-5j2mvlm7vt],
    .detail-cell-md[b-5j2mvlm7vt] {
        width: 100%;
    }
}
/* /Components/Pages/Shipping/CarrierList.razor.rz.scp.css */
/* ===========================
   CarrierList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-sxq3rbf9ns] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-sxq3rbf9ns] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-sxq3rbf9ns] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-sxq3rbf9ns] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-sxq3rbf9ns] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-sxq3rbf9ns] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-sxq3rbf9ns] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-sxq3rbf9ns] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-sxq3rbf9ns] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-sxq3rbf9ns] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-sxq3rbf9ns] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-sxq3rbf9ns] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-sxq3rbf9ns] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-sxq3rbf9ns]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-sxq3rbf9ns] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-sxq3rbf9ns] {
    color: var(--color-primary);
}

.search-count[b-sxq3rbf9ns] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-sxq3rbf9ns] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-sxq3rbf9ns] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-sxq3rbf9ns] {
    opacity: 0.4;
}

.empty-state-text[b-sxq3rbf9ns] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-sxq3rbf9ns] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-sxq3rbf9ns] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-sxq3rbf9ns] {
    border-bottom: none;
}

.item-row:hover[b-sxq3rbf9ns] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-sxq3rbf9ns] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-sxq3rbf9ns] {
    flex: 1;
    min-width: 0;
}

.item-name[b-sxq3rbf9ns] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-sxq3rbf9ns] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-sxq3rbf9ns] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-sxq3rbf9ns] {
    color: var(--color-gray-300);
}

/* Action Buttons */
.item-actions[b-sxq3rbf9ns] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-sxq3rbf9ns] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-sxq3rbf9ns] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-sxq3rbf9ns] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-sxq3rbf9ns] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-sxq3rbf9ns] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-sxq3rbf9ns] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-sxq3rbf9ns] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-sxq3rbf9ns] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-sxq3rbf9ns] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-sxq3rbf9ns] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-sxq3rbf9ns] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-sxq3rbf9ns] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-sxq3rbf9ns] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-sxq3rbf9ns] {
        flex-wrap: wrap;
    }

    .item-actions[b-sxq3rbf9ns] {
        width: 100%;
        justify-content: flex-end;
    }
}

/* /Components/Pages/Shipping/DeliveryPlanning.razor.rz.scp.css */
/* ===========================
   DeliveryPlanning - Scoped Styles
   Flat Industrial Minimal — angoli a 90°, nessun radius
   =========================== */

/* La board ha bisogno di larghezza: le colonne sono tante e scorrono in orizzontale.
   Il max-width standard di .page-container (1200px) qui è controproducente. */
.planning-page[b-s3k16brpwv] {
    max-width: none;
    padding: var(--space-6) var(--space-4);
}

/* Header */
.page-header[b-s3k16brpwv] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-4);
    gap: var(--space-4);
}

.page-header-left[b-s3k16brpwv] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    flex: 1;
}

.page-header-right[b-s3k16brpwv] {
    flex-shrink: 0;
}

.page-title[b-s3k16brpwv] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-s3k16brpwv] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-s3k16brpwv] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* ===========================
   BARRA STRUMENTI
   =========================== */
.planning-toolbar[b-s3k16brpwv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--space-4);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--color-gray-200);
}

.planning-toolbar-group[b-s3k16brpwv] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.planning-date[b-s3k16brpwv] {
    width: 10rem;
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--color-gray-300);
    font-size: var(--font-size-sm);
    font-family: var(--font-primary);
}

.planning-weekday[b-s3k16brpwv] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0.06em;
    color: var(--text-muted);
    padding-left: var(--space-2);
}

.btn-icon[b-s3k16brpwv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    background-color: var(--color-white);
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-gray-300);
    cursor: pointer;
}

.btn-icon:hover:not(:disabled)[b-s3k16brpwv] {
    background-color: var(--color-gray-100);
}

.btn-icon:disabled[b-s3k16brpwv] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Contatori di giornata */
.planning-toolbar-stats[b-s3k16brpwv] {
    gap: var(--space-4);
}

.planning-stat[b-s3k16brpwv] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.planning-stat strong[b-s3k16brpwv] {
    color: var(--color-primary);
    font-weight: var(--font-weight-bold);
}

.planning-stat-warn strong[b-s3k16brpwv] {
    color: var(--color-action);
}

.planning-stat-muted[b-s3k16brpwv] {
    color: var(--text-muted);
}

/* ===========================
   BOARD
   =========================== */
.planning-board[b-s3k16brpwv] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    overflow-x: auto;
    padding-bottom: var(--space-4);
    /* Altezza piena: la board è lo strumento di lavoro, non un riquadro in una pagina. */
    min-height: 60vh;
}

.planning-column[b-s3k16brpwv] {
    flex: 0 0 20rem;
    display: flex;
    flex-direction: column;
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--color-gray-200);
    border-top: 3px solid var(--color-gray-300);
    max-height: 75vh;
}

/* I non assegnati sono la coda di lavoro: vanno distinti a colpo d'occhio. */
.planning-column-unassigned[b-s3k16brpwv] {
    background-color: var(--color-white);
    border-top-color: var(--color-action);
}

/* Bersaglio di drop valido durante il trascinamento. Il Win32 non dà alcun
   riscontro: aggancia PreviewDragOver con un handler vuoto. */
.planning-column-droppable[b-s3k16brpwv] {
    outline: var(--border-width-thin) dashed var(--color-gray-400);
    outline-offset: -3px;
}

/* Piano confermato: non accetta drop. */
.planning-column-locked[b-s3k16brpwv] {
    background-color: var(--color-gray-100);
}

.planning-column-locked .planning-column-body[b-s3k16brpwv] {
    opacity: 0.75;
}

/* --- Intestazione colonna --- */
.planning-column-header[b-s3k16brpwv] {
    padding: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--color-gray-200);
    background-color: var(--color-white);
}

.planning-column-title[b-s3k16brpwv] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

/* Pallino del colore giro: è l'equivalente del glifo colorato (U+E519 del font
   TelerikWebUI) che il Win32 inietta nel titolo colonna come HTML. */
.planning-column-dot[b-s3k16brpwv] {
    width: 0.75rem;
    height: 0.75rem;
    flex-shrink: 0;
    border: var(--border-width-thin) solid var(--color-gray-300);
}

.planning-column-name[b-s3k16brpwv] {
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    font-size: var(--font-size-sm);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.planning-column-count[b-s3k16brpwv] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    color: var(--text-on-primary);
    background-color: var(--color-primary);
    padding: 0 var(--space-2);
    min-width: 1.5rem;
    text-align: center;
}

.planning-column-meta[b-s3k16brpwv] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-top: var(--space-2);
    flex-wrap: wrap;
}

.planning-column-code[b-s3k16brpwv] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.planning-column-vehicle[b-s3k16brpwv] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    border: var(--border-width-thin) solid var(--color-gray-300);
    padding: 0 var(--space-1);
}

.planning-column-totals[b-s3k16brpwv] {
    margin-top: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    font-family: var(--font-mono);
}

.planning-column-actions[b-s3k16brpwv] {
    margin-top: var(--space-2);
}

.planning-sep[b-s3k16brpwv] {
    color: var(--color-gray-300);
    margin: 0 var(--space-1);
}

.btn-link[b-s3k16brpwv] {
    background: none;
    border: none;
    padding: 0;
    font-size: var(--font-size-xs);
    color: var(--color-action);
    text-decoration: underline;
    cursor: pointer;
}

.btn-link:disabled[b-s3k16brpwv] {
    color: var(--text-muted);
    cursor: not-allowed;
}

/* --- Corpo colonna --- */
.planning-column-body[b-s3k16brpwv] {
    flex: 1;
    overflow-y: auto;
    padding: var(--space-2);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    min-height: 6rem;
}

.planning-column-empty[b-s3k16brpwv] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    text-align: center;
    padding: var(--space-4) 0;
}

/* ===========================
   CARTE
   =========================== */
.planning-card[b-s3k16brpwv] {
    display: flex;
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--color-gray-200);
    cursor: grab;
}

.planning-card:hover[b-s3k16brpwv] {
    border-color: var(--color-gray-400);
}

.planning-card-dragging[b-s3k16brpwv] {
    opacity: 0.4;
}

.planning-card-readonly[b-s3k16brpwv] {
    cursor: not-allowed;
    background-color: var(--color-gray-50);
}

/* Semaforo di evasione — unica regola di dominio del client legacy.
   Nel Win32 è AccentSettings.Color sulla RadTaskCardElement. */
.planning-card-accent[b-s3k16brpwv] {
    flex: 0 0 4px;
    background-color: var(--color-gray-300);
}

.planning-card-fulfilled .planning-card-accent[b-s3k16brpwv] {
    background-color: var(--color-success);
}

.planning-card-partial .planning-card-accent[b-s3k16brpwv] {
    background-color: var(--color-danger);
}

/* Sovra-evaso: non è un errore ma non è nemmeno "a posto". */
.planning-card-over .planning-card-accent[b-s3k16brpwv] {
    background-color: var(--color-warning);
}

.planning-card-none .planning-card-accent[b-s3k16brpwv] {
    background-color: var(--color-gray-400);
}

.planning-card-main[b-s3k16brpwv] {
    flex: 1;
    padding: var(--space-2) var(--space-3);
    min-width: 0;
}

.planning-card-head[b-s3k16brpwv] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

/* Il progressivo di tappa: è la sequenza di consegna, che nel Win32 non esiste. */
.planning-card-seq[b-s3k16brpwv] {
    flex-shrink: 0;
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    color: var(--text-on-primary);
    background-color: var(--color-primary);
    min-width: 1.25rem;
    text-align: center;
}

.planning-card-customer[b-s3k16brpwv] {
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-sm);
    color: var(--color-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.planning-card-branch[b-s3k16brpwv],
.planning-card-address[b-s3k16brpwv] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.planning-card-nogeo[b-s3k16brpwv] {
    color: var(--color-warning);
    font-weight: var(--font-weight-bold);
    margin-left: var(--space-1);
}

.planning-card-order[b-s3k16brpwv] {
    margin-top: var(--space-1);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.planning-card-time[b-s3k16brpwv] {
    margin-left: var(--space-2);
    font-family: var(--font-mono);
    color: var(--color-primary);
}

.planning-card-qty[b-s3k16brpwv] {
    margin-top: var(--space-1);
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.planning-card-net[b-s3k16brpwv] {
    margin-left: var(--space-2);
    color: var(--text-muted);
}

/* Proposta automatica: suggerita, mai applicata da sola. */
.planning-card-proposal[b-s3k16brpwv] {
    margin-top: var(--space-2);
    padding-top: var(--space-2);
    border-top: var(--border-width-thin) dashed var(--color-gray-200);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    justify-content: space-between;
}

.planning-card-proposal-none[b-s3k16brpwv] {
    color: var(--text-muted);
    font-style: italic;
}

/* ===========================
   BADGE
   =========================== */
.badge[b-s3k16brpwv] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    padding: 0 var(--space-1);
    border: var(--border-width-thin) solid transparent;
    flex-shrink: 0;
}

.badge-success[b-s3k16brpwv] {
    color: var(--color-success);
    border-color: var(--color-success);
}

.badge-danger[b-s3k16brpwv] {
    color: var(--color-danger);
    border-color: var(--color-danger);
}

.badge-warn[b-s3k16brpwv] {
    color: var(--color-warning);
    border-color: var(--color-warning);
}

.badge-muted[b-s3k16brpwv] {
    color: var(--text-muted);
    border-color: var(--color-gray-300);
}

/* ===========================
   STATI
   =========================== */
.loading-state[b-s3k16brpwv],
.empty-state[b-s3k16brpwv] {
    text-align: center;
    padding: var(--space-12) var(--space-4);
    color: var(--text-muted);
}

.spinner[b-s3k16brpwv] {
    width: 2rem;
    height: 2rem;
    margin: 0 auto var(--space-4);
    border: var(--border-width-medium) solid var(--color-gray-200);
    border-top-color: var(--color-primary);
    animation: planning-spin-b-s3k16brpwv 0.8s linear infinite;
}

@keyframes planning-spin-b-s3k16brpwv {
    to { transform: rotate(360deg); }
}

/* ===========================
   ALERT
   =========================== */
.alert-bar[b-s3k16brpwv] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    border: var(--border-width-thin) solid transparent;
}

.alert-bar-success[b-s3k16brpwv] {
    background-color: #EAF6EC;
    border-color: var(--color-success);
    color: #1B5E27;
}

.alert-bar-danger[b-s3k16brpwv] {
    background-color: #FBEAEC;
    border-color: var(--color-danger);
    color: #7A1620;
}

.alert-bar-close[b-s3k16brpwv] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    line-height: 1;
    cursor: pointer;
    color: inherit;
}

/* ===========================
   BOARD + MAPPA AFFIANCATE
   =========================== */
.planning-split[b-s3k16brpwv] {
    display: flex;
    align-items: stretch;
    gap: var(--space-3);
    min-height: 60vh;
}

/* Con la mappa aperta la board smette di essere l'unica cosa in pagina e deve poter
   restringersi: senza min-width: 0 un contenitore flex con overflow-x interno non si
   comprime mai e la mappa finisce fuori schermo. */
.planning-split-with-map .planning-board[b-s3k16brpwv] {
    flex: 1 1 auto;
    min-width: 0;
}

.planning-split .planning-board[b-s3k16brpwv] {
    min-height: 0;
}

/* ===========================
   PANNELLO MAPPA
   =========================== */
.planning-map-panel[b-s3k16brpwv] {
    flex: 0 0 32rem;
    display: flex;
    flex-direction: column;
    max-height: 75vh;
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--color-gray-200);
}

.planning-map-header[b-s3k16brpwv] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--color-gray-200);
    background-color: var(--bg-secondary);
}

.planning-map-title[b-s3k16brpwv] {
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-sm);
    color: var(--color-primary);
}

.planning-map-count[b-s3k16brpwv] {
    flex: 1;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* Leaflet ha bisogno di un'altezza ESPLICITA: dentro un flex, height:100% non basta e la
   mappa collassa a zero senza dare alcun errore. */
.planning-map[b-s3k16brpwv] {
    flex: 1 1 auto;
    min-height: 24rem;
    width: 100%;
}

/* ===========================
   LEGENDA
   =========================== */
.planning-legend[b-s3k16brpwv] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1);
    padding: var(--space-2);
    border-top: var(--border-width-thin) solid var(--color-gray-200);
    max-height: 8rem;
    overflow-y: auto;
}

.planning-legend-item[b-s3k16brpwv] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-2);
    background: none;
    border: var(--border-width-thin) solid var(--color-gray-200);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    cursor: pointer;
}

.planning-legend-item:hover[b-s3k16brpwv] {
    border-color: var(--color-gray-400);
}

/* Giro nascosto: sbiadito ma ancora leggibile, cosi' si capisce che e' spento e non assente. */
.planning-legend-off[b-s3k16brpwv] {
    opacity: 0.45;
    text-decoration: line-through;
}

.planning-legend-dot[b-s3k16brpwv] {
    width: 0.625rem;
    height: 0.625rem;
    flex-shrink: 0;
    border: var(--border-width-thin) solid var(--color-gray-300);
}

.planning-legend-name[b-s3k16brpwv] {
    max-width: 8rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.planning-legend-count[b-s3k16brpwv] {
    font-family: var(--font-mono);
    color: var(--text-muted);
}

/* ===========================
   CARTA SELEZIONATA (selezione incrociata con la mappa)
   =========================== */
.planning-card-selected[b-s3k16brpwv] {
    border-color: var(--color-primary);
    box-shadow: inset 0 0 0 1px var(--color-primary);
}

/* ===========================
   BONIFICA DELLE DESTINAZIONI
   =========================== */
.planning-stat-link[b-s3k16brpwv] {
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    text-decoration: underline;
}

.planning-geocode[b-s3k16brpwv] {
    border-top: var(--border-width-thin) solid var(--color-gray-200);
    max-height: 18rem;
    overflow-y: auto;
    background-color: var(--bg-secondary);
}

.planning-geocode-header[b-s3k16brpwv] {
    display: flex;
    align-items: center;
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-primary);
    border-bottom: var(--border-width-thin) solid var(--color-gray-200);
}

.planning-geocode-header strong[b-s3k16brpwv] {
    flex: 1;
}

.planning-geocode-empty[b-s3k16brpwv] {
    padding: var(--space-4);
    text-align: center;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.planning-geocode-list[b-s3k16brpwv] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.planning-geocode-item[b-s3k16brpwv] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--color-gray-200);
}

.planning-geocode-item-main[b-s3k16brpwv] {
    flex: 1;
    min-width: 0;
}

.planning-geocode-item-name[b-s3k16brpwv] {
    font-size: var(--font-size-sm);
    color: var(--color-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.planning-geocode-item-addr[b-s3k16brpwv] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Numero di ordini che dipendono dalla destinazione: e' il criterio di priorita' della
   bonifica, quindi va letto a colpo d'occhio. */
.planning-geocode-item-count[b-s3k16brpwv] {
    flex-shrink: 0;
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    color: var(--text-on-primary);
    background-color: var(--color-primary);
    padding: 0 var(--space-1);
    min-width: 1.5rem;
    text-align: center;
}

.planning-geocode-item-actions[b-s3k16brpwv] {
    flex-shrink: 0;
    display: flex;
    gap: var(--space-2);
}

.planning-geocode-edit[b-s3k16brpwv] {
    padding: var(--space-3);
}

.planning-geocode-edit-name[b-s3k16brpwv] {
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-sm);
    color: var(--color-primary);
}

.planning-geocode-edit-addr[b-s3k16brpwv] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.planning-geocode-edit-hint[b-s3k16brpwv] {
    margin-top: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.planning-geocode-coords[b-s3k16brpwv] {
    margin-top: var(--space-1);
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
}

.planning-geocode-edit-actions[b-s3k16brpwv] {
    margin-top: var(--space-3);
    display: flex;
    gap: var(--space-2);
}

/* ===========================
   POPUP LEAFLET
   Il contenuto e' iniettato da delivery-map.js, quindi vive FUORI dal markup del
   componente: il CSS isolato di Blazor non lo raggiunge (vedi CLAUDE.md, «lo scoped non
   si condivide»). Le regole stanno in wwwroot/css/components.css.
   =========================== */

/* ===========================
   SCHERMI STRETTI
   =========================== */
@media (max-width: 1200px) {
    .planning-split[b-s3k16brpwv] {
        flex-direction: column;
    }

    .planning-map-panel[b-s3k16brpwv] {
        flex: 0 0 auto;
        max-height: 50vh;
    }
}

/* Fallimento di avvio della mappa: si dice, non si nasconde il pannello.
   La versione precedente spegneva la mappa in silenzio e restava solo un warning nei log. */
.planning-map-error[b-s3k16brpwv] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-xs);
    color: #7A1620;
    background-color: #FBEAEC;
    border-bottom: var(--border-width-thin) solid var(--color-danger);
}
/* /Components/Pages/Shipping/DeliveryRouteCreate.razor.rz.scp.css */
/* ===========================
   DeliveryRouteCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-lhuqina6le] {
    max-width: 1100px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-lhuqina6le] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-lhuqina6le] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-lhuqina6le] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-lhuqina6le] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-lhuqina6le] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-lhuqina6le] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-lhuqina6le] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-lhuqina6le] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-lhuqina6le] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-lhuqina6le] {
    grid-column: span 2;
}

.form-group-checkbox[b-lhuqina6le] {
    display: flex;
    align-items: center;
    padding-top: var(--space-5);
}

.form-check-label[b-lhuqina6le] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    cursor: pointer;
}

.form-check-input[b-lhuqina6le] {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

/* Form Controls */
.form-label[b-lhuqina6le] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-lhuqina6le] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-lhuqina6le] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-lhuqina6le]::placeholder {
    color: var(--color-gray-400);
}

.form-control-sm[b-lhuqina6le] {
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-xs);
}

/* Detail Table */
.detail-table[b-lhuqina6le] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.detail-header[b-lhuqina6le] {
    display: flex;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    background-color: var(--color-gray-50);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.detail-row[b-lhuqina6le] {
    display: flex;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    align-items: center;
}

.detail-row:last-child[b-lhuqina6le] {
    border-bottom: none;
}

.detail-cell[b-lhuqina6le] {
    display: flex;
    align-items: center;
}

.detail-cell-seq[b-lhuqina6le] {
    width: 60px;
    flex-shrink: 0;
}

.detail-cell-sm[b-lhuqina6le] {
    width: 90px;
    flex-shrink: 0;
}

.detail-cell-md[b-lhuqina6le] {
    width: 200px;
    flex-shrink: 0;
}

.detail-cell-grow[b-lhuqina6le] {
    flex: 1;
    min-width: 0;
}

.detail-cell-action[b-lhuqina6le] {
    width: 36px;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
}

/*
 * LookupField dentro una riga di dettaglio.
 * Il componente e' pensato per il form a griglia: rende un .form-group con etichetta e hint del
 * codice, che in una riga di tabella spezzerebbero l'allineamento su una riga sola. Si usa ::deep
 * perche' quel markup appartiene al componente figlio e non allo scope di questa pagina.
 */
.detail-cell[b-lhuqina6le]  .form-group {
    width: 100%;
    margin-bottom: 0;
}

/* L'intestazione di colonna fa gia' da etichetta: quella del componente resta vuota. */
.detail-cell[b-lhuqina6le]  .form-label {
    display: none;
}

/* Il codice e' ridondante in tabella e renderebbe le righe di altezza diversa. */
.detail-cell[b-lhuqina6le]  .lookup-hint {
    display: none;
}

.detail-empty[b-lhuqina6le] {
    text-align: center;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    padding: var(--space-4) 0;
    margin: 0;
}

.btn-add-detail[b-lhuqina6le] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: 2px var(--space-2);
    background: none;
    border: var(--border-width-thin) solid var(--color-primary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    text-transform: none;
    letter-spacing: normal;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-add-detail:hover[b-lhuqina6le] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Action Buttons */
.btn-icon[b-lhuqina6le] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-lhuqina6le] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
}

.btn-icon-danger:hover[b-lhuqina6le] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.btn-action[b-lhuqina6le] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-lhuqina6le] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-lhuqina6le] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-lhuqina6le] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-lhuqina6le] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-lhuqina6le] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-lhuqina6le] {
        grid-column: span 1;
    }

    .detail-header[b-lhuqina6le] {
        display: none;
    }

    .detail-row[b-lhuqina6le] {
        flex-wrap: wrap;
    }

    .detail-cell-seq[b-lhuqina6le],
    .detail-cell-sm[b-lhuqina6le],
    .detail-cell-md[b-lhuqina6le] {
        width: 100%;
    }
}
/* /Components/Pages/Shipping/DeliveryRouteEdit.razor.rz.scp.css */
/* ===========================
   DeliveryRouteEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-dws0h4kur0] {
    max-width: 1100px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-dws0h4kur0] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    margin-left: var(--space-2);
}

/* Alert Bar */
.alert-bar[b-dws0h4kur0] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-dws0h4kur0] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-dws0h4kur0] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-dws0h4kur0] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-dws0h4kur0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-dws0h4kur0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-dws0h4kur0] {
    opacity: 0.4;
}

.empty-state-text[b-dws0h4kur0] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-dws0h4kur0] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-dws0h4kur0] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-dws0h4kur0] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-dws0h4kur0] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-dws0h4kur0] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-dws0h4kur0] {
    grid-column: span 2;
}

.form-group-checkbox[b-dws0h4kur0] {
    display: flex;
    align-items: center;
    padding-top: var(--space-5);
}

.form-check-label[b-dws0h4kur0] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    cursor: pointer;
}

.form-check-input[b-dws0h4kur0] {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

/* Form Controls */
.form-label[b-dws0h4kur0] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-dws0h4kur0] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-dws0h4kur0] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-dws0h4kur0]::placeholder {
    color: var(--color-gray-400);
}

.form-control-sm[b-dws0h4kur0] {
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-xs);
}

.form-control-static[b-dws0h4kur0] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
}

/* Detail Table */
.detail-table[b-dws0h4kur0] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.detail-header[b-dws0h4kur0] {
    display: flex;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    background-color: var(--color-gray-50);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.detail-row[b-dws0h4kur0] {
    display: flex;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    align-items: center;
}

.detail-row:last-child[b-dws0h4kur0] {
    border-bottom: none;
}

.detail-cell[b-dws0h4kur0] {
    display: flex;
    align-items: center;
}

.detail-cell-seq[b-dws0h4kur0] {
    width: 60px;
    flex-shrink: 0;
}

.detail-cell-sm[b-dws0h4kur0] {
    width: 90px;
    flex-shrink: 0;
}

.detail-cell-md[b-dws0h4kur0] {
    width: 200px;
    flex-shrink: 0;
}

.detail-cell-grow[b-dws0h4kur0] {
    flex: 1;
    min-width: 0;
}

.detail-cell-action[b-dws0h4kur0] {
    width: 36px;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
}

/*
 * LookupField dentro una riga di dettaglio.
 * Il componente e' pensato per il form a griglia: rende un .form-group con etichetta e hint del
 * codice, che in una riga di tabella spezzerebbero l'allineamento su una riga sola. Si usa ::deep
 * perche' quel markup appartiene al componente figlio e non allo scope di questa pagina.
 */
.detail-cell[b-dws0h4kur0]  .form-group {
    width: 100%;
    margin-bottom: 0;
}

/* L'intestazione di colonna fa gia' da etichetta: quella del componente resta vuota. */
.detail-cell[b-dws0h4kur0]  .form-label {
    display: none;
}

/* Il codice e' ridondante in tabella e renderebbe le righe di altezza diversa. */
.detail-cell[b-dws0h4kur0]  .lookup-hint {
    display: none;
}

.detail-empty[b-dws0h4kur0] {
    text-align: center;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    padding: var(--space-4) 0;
    margin: 0;
}

.btn-add-detail[b-dws0h4kur0] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: 2px var(--space-2);
    background: none;
    border: var(--border-width-thin) solid var(--color-primary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    text-transform: none;
    letter-spacing: normal;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-add-detail:hover[b-dws0h4kur0] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Action Buttons */
.btn-icon[b-dws0h4kur0] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-dws0h4kur0] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
}

.btn-icon-danger:hover[b-dws0h4kur0] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.btn-action[b-dws0h4kur0] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-dws0h4kur0] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-dws0h4kur0] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-dws0h4kur0] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-dws0h4kur0] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-dws0h4kur0] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-dws0h4kur0] {
        grid-column: span 1;
    }

    .detail-header[b-dws0h4kur0] {
        display: none;
    }

    .detail-row[b-dws0h4kur0] {
        flex-wrap: wrap;
    }

    .detail-cell-seq[b-dws0h4kur0],
    .detail-cell-sm[b-dws0h4kur0],
    .detail-cell-md[b-dws0h4kur0] {
        width: 100%;
    }
}
/* /Components/Pages/Shipping/DeliveryRouteList.razor.rz.scp.css */
/* ===========================
   DeliveryRouteList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-zbkc4b0mdv] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-zbkc4b0mdv] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-zbkc4b0mdv] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-zbkc4b0mdv] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-zbkc4b0mdv] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-zbkc4b0mdv] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-zbkc4b0mdv] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-zbkc4b0mdv] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-zbkc4b0mdv] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-zbkc4b0mdv] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-zbkc4b0mdv] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-zbkc4b0mdv] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-zbkc4b0mdv] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-zbkc4b0mdv]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-zbkc4b0mdv] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-zbkc4b0mdv] {
    color: var(--color-primary);
}

.search-count[b-zbkc4b0mdv] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-zbkc4b0mdv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-zbkc4b0mdv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-zbkc4b0mdv] {
    opacity: 0.4;
}

.empty-state-text[b-zbkc4b0mdv] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-zbkc4b0mdv] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-zbkc4b0mdv] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-zbkc4b0mdv] {
    border-bottom: none;
}

.item-row:hover[b-zbkc4b0mdv] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-zbkc4b0mdv] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Color Indicator */
.color-indicator[b-zbkc4b0mdv] {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Info */
.item-info[b-zbkc4b0mdv] {
    flex: 1;
    min-width: 0;
}

.item-name[b-zbkc4b0mdv] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-zbkc4b0mdv] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-zbkc4b0mdv] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-zbkc4b0mdv] {
    color: var(--color-gray-300);
}

.badge-obsolete[b-zbkc4b0mdv] {
    display: inline-block;
    padding: 1px 6px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.08);
    border: var(--border-width-thin) solid rgba(178, 34, 34, 0.2);
}

/* Action Buttons */
.item-actions[b-zbkc4b0mdv] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-zbkc4b0mdv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-zbkc4b0mdv] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-zbkc4b0mdv] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-zbkc4b0mdv] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-zbkc4b0mdv] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-zbkc4b0mdv] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-zbkc4b0mdv] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-zbkc4b0mdv] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-zbkc4b0mdv] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-zbkc4b0mdv] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-zbkc4b0mdv] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-zbkc4b0mdv] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-zbkc4b0mdv] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-zbkc4b0mdv] {
        flex-wrap: wrap;
    }

    .item-actions[b-zbkc4b0mdv] {
        width: 100%;
        justify-content: flex-end;
    }
}

/* /Components/Pages/Shipping/FreightCreate.razor.rz.scp.css */
/* ===========================
   FreightCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-fs37egmssv] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-fs37egmssv] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-fs37egmssv] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-fs37egmssv] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-fs37egmssv] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-fs37egmssv] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-fs37egmssv] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-fs37egmssv] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-fs37egmssv] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-fs37egmssv] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-fs37egmssv] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-fs37egmssv] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-fs37egmssv] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-fs37egmssv] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-fs37egmssv]::placeholder {
    color: var(--color-gray-400);
}

.btn-action[b-fs37egmssv] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-fs37egmssv] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-fs37egmssv] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-fs37egmssv] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-fs37egmssv] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-fs37egmssv] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-fs37egmssv] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-fs37egmssv] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Shipping/FreightEdit.razor.rz.scp.css */
/* ===========================
   FreightEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-833ani1qtm] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-833ani1qtm] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-833ani1qtm] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-833ani1qtm] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-833ani1qtm] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-833ani1qtm] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-833ani1qtm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-833ani1qtm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-833ani1qtm] {
    opacity: 0.4;
}

.empty-state-text[b-833ani1qtm] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-833ani1qtm] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-833ani1qtm] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-833ani1qtm] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-833ani1qtm] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-833ani1qtm] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-833ani1qtm] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-833ani1qtm] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-833ani1qtm] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-833ani1qtm] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-833ani1qtm]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-833ani1qtm] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-833ani1qtm] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-833ani1qtm] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-833ani1qtm] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-833ani1qtm] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-833ani1qtm] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-833ani1qtm] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-833ani1qtm] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-833ani1qtm] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Shipping/FreightList.razor.rz.scp.css */
/* ===========================
   FreightList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-thsuvgwq15] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-thsuvgwq15] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-thsuvgwq15] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-thsuvgwq15] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-thsuvgwq15] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-thsuvgwq15] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-thsuvgwq15] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-thsuvgwq15] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-thsuvgwq15] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-thsuvgwq15] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-thsuvgwq15] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-thsuvgwq15] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-thsuvgwq15] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-thsuvgwq15]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-thsuvgwq15] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-thsuvgwq15] {
    color: var(--color-primary);
}

.search-count[b-thsuvgwq15] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-thsuvgwq15] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-thsuvgwq15] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-thsuvgwq15] {
    opacity: 0.4;
}

.empty-state-text[b-thsuvgwq15] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-thsuvgwq15] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-thsuvgwq15] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-thsuvgwq15] {
    border-bottom: none;
}

.item-row:hover[b-thsuvgwq15] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-thsuvgwq15] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-thsuvgwq15] {
    flex: 1;
    min-width: 0;
}

.item-name[b-thsuvgwq15] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-thsuvgwq15] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-thsuvgwq15] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-thsuvgwq15] {
    color: var(--color-gray-300);
}

/* Action Buttons */
.item-actions[b-thsuvgwq15] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-thsuvgwq15] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-thsuvgwq15] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-thsuvgwq15] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-thsuvgwq15] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-thsuvgwq15] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-thsuvgwq15] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-thsuvgwq15] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-thsuvgwq15] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-thsuvgwq15] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-thsuvgwq15] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-thsuvgwq15] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-thsuvgwq15] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-thsuvgwq15] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-thsuvgwq15] {
        flex-wrap: wrap;
    }

    .item-actions[b-thsuvgwq15] {
        width: 100%;
        justify-content: flex-end;
    }
}

/* /Components/Pages/Shipping/GoodsPresentationCreate.razor.rz.scp.css */
/* ===========================
   GoodsPresentationCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-jcqvlgsfh6] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-jcqvlgsfh6] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-jcqvlgsfh6] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-jcqvlgsfh6] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-jcqvlgsfh6] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-jcqvlgsfh6] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-jcqvlgsfh6] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-jcqvlgsfh6] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-jcqvlgsfh6] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-jcqvlgsfh6] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-jcqvlgsfh6] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-jcqvlgsfh6] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-jcqvlgsfh6] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-jcqvlgsfh6] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-jcqvlgsfh6]::placeholder {
    color: var(--color-gray-400);
}

.btn-action[b-jcqvlgsfh6] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-jcqvlgsfh6] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-jcqvlgsfh6] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-jcqvlgsfh6] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-jcqvlgsfh6] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-jcqvlgsfh6] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-jcqvlgsfh6] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-jcqvlgsfh6] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Shipping/GoodsPresentationEdit.razor.rz.scp.css */
/* ===========================
   GoodsPresentationEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-nq0ocozx2v] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-nq0ocozx2v] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-nq0ocozx2v] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-nq0ocozx2v] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-nq0ocozx2v] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-nq0ocozx2v] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-nq0ocozx2v] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-nq0ocozx2v] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-nq0ocozx2v] {
    opacity: 0.4;
}

.empty-state-text[b-nq0ocozx2v] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-nq0ocozx2v] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-nq0ocozx2v] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-nq0ocozx2v] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-nq0ocozx2v] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-nq0ocozx2v] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-nq0ocozx2v] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-nq0ocozx2v] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-nq0ocozx2v] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-nq0ocozx2v] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-nq0ocozx2v]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-nq0ocozx2v] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-nq0ocozx2v] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-nq0ocozx2v] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-nq0ocozx2v] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-nq0ocozx2v] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-nq0ocozx2v] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-nq0ocozx2v] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-nq0ocozx2v] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-nq0ocozx2v] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Shipping/GoodsPresentationList.razor.rz.scp.css */
/* ===========================
   GoodsPresentationList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-ak2iltyzln] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-ak2iltyzln] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-ak2iltyzln] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-ak2iltyzln] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-ak2iltyzln] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-ak2iltyzln] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-ak2iltyzln] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-ak2iltyzln] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-ak2iltyzln] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-ak2iltyzln] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-ak2iltyzln] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-ak2iltyzln] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-ak2iltyzln] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-ak2iltyzln]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-ak2iltyzln] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-ak2iltyzln] {
    color: var(--color-primary);
}

.search-count[b-ak2iltyzln] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-ak2iltyzln] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-ak2iltyzln] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-ak2iltyzln] {
    opacity: 0.4;
}

.empty-state-text[b-ak2iltyzln] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-ak2iltyzln] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-ak2iltyzln] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-ak2iltyzln] {
    border-bottom: none;
}

.item-row:hover[b-ak2iltyzln] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-ak2iltyzln] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-ak2iltyzln] {
    flex: 1;
    min-width: 0;
}

.item-name[b-ak2iltyzln] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-ak2iltyzln] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-ak2iltyzln] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-ak2iltyzln] {
    color: var(--color-gray-300);
}

/* Action Buttons */
.item-actions[b-ak2iltyzln] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-ak2iltyzln] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-ak2iltyzln] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-ak2iltyzln] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-ak2iltyzln] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-ak2iltyzln] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-ak2iltyzln] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-ak2iltyzln] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-ak2iltyzln] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-ak2iltyzln] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-ak2iltyzln] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-ak2iltyzln] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-ak2iltyzln] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-ak2iltyzln] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-ak2iltyzln] {
        flex-wrap: wrap;
    }

    .item-actions[b-ak2iltyzln] {
        width: 100%;
        justify-content: flex-end;
    }
}

/* /Components/Pages/Shipping/LogisticsEquipmentCreate.razor.rz.scp.css */
/* ===========================
   LogisticsEquipmentCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-av5t0y0iwl] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-av5t0y0iwl] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-av5t0y0iwl] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-av5t0y0iwl] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-av5t0y0iwl] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-close[b-av5t0y0iwl] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-av5t0y0iwl] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-av5t0y0iwl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-av5t0y0iwl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-av5t0y0iwl] {
    opacity: 0.4;
}

.empty-state-text[b-av5t0y0iwl] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-av5t0y0iwl] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-av5t0y0iwl] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-av5t0y0iwl] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-av5t0y0iwl] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-av5t0y0iwl] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-av5t0y0iwl] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-av5t0y0iwl] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-av5t0y0iwl] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-av5t0y0iwl] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-av5t0y0iwl]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-av5t0y0iwl] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-500);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

/* Nota informativa fuori sezione (es. «l'immagine si carica dopo il salvataggio») */
.form-hint-box[b-av5t0y0iwl] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-6);
    padding: var(--space-3) var(--space-4);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--border-color-light);
}

.form-hint-box svg[b-av5t0y0iwl] {
    flex-shrink: 0;
    opacity: 0.6;
}

.btn-action[b-av5t0y0iwl] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-av5t0y0iwl] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-av5t0y0iwl] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-av5t0y0iwl] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-av5t0y0iwl] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-av5t0y0iwl] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-av5t0y0iwl] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-av5t0y0iwl] {
        grid-column: span 1;
    }
}

/* Riepilogo degli errori di validazione: compare solo quando ci sono errori (la ul è vuota
   altrimenti), così non lascia un riquadro vuoto in testa alla scheda. */
.validation-summary-box:has(li)[b-av5t0y0iwl] {
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--color-danger-bg, #fdeaea);
    border-left: 3px solid var(--color-danger, #c0392b);
}

.validation-summary-box[b-av5t0y0iwl]  ul.validation-errors {
    margin: 0;
    padding-left: var(--space-4);
    color: var(--color-danger, #c0392b);
    font-size: var(--font-size-sm);
}

/* Descrizione dell'articolo sotto il campo codice: su una riga sola. Andando a capo alzava la
   banda della griglia e spostava in giù i campi accanto; il testo intero resta nel tooltip. */
.product-hint[b-av5t0y0iwl] {
    display: block;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* /Components/Pages/Shipping/LogisticsEquipmentEdit.razor.rz.scp.css */
/* ===========================
   LogisticsEquipmentEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-4idbgrr4a1] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-4idbgrr4a1] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-4idbgrr4a1] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-4idbgrr4a1] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-4idbgrr4a1] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-close[b-4idbgrr4a1] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-4idbgrr4a1] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-4idbgrr4a1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-4idbgrr4a1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-4idbgrr4a1] {
    opacity: 0.4;
}

.empty-state-text[b-4idbgrr4a1] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-4idbgrr4a1] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-4idbgrr4a1] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-4idbgrr4a1] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-4idbgrr4a1] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-4idbgrr4a1] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-4idbgrr4a1] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-4idbgrr4a1] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-4idbgrr4a1] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-4idbgrr4a1] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-4idbgrr4a1]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-4idbgrr4a1] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-500);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

/* Nota informativa fuori sezione (es. «l'immagine si carica dopo il salvataggio») */
.form-hint-box[b-4idbgrr4a1] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-6);
    padding: var(--space-3) var(--space-4);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--border-color-light);
}

.form-hint-box svg[b-4idbgrr4a1] {
    flex-shrink: 0;
    opacity: 0.6;
}

.btn-action[b-4idbgrr4a1] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-4idbgrr4a1] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-4idbgrr4a1] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-4idbgrr4a1] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-4idbgrr4a1] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-4idbgrr4a1] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-4idbgrr4a1] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-4idbgrr4a1] {
        grid-column: span 1;
    }
}

/* ===========================
   Immagine imballaggio
   =========================== */

.current-image[b-4idbgrr4a1] {
    display: flex;
    justify-content: center;
    padding: var(--space-4);
    margin-bottom: var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.current-image-preview[b-4idbgrr4a1] {
    max-width: 100%;
    max-height: 300px;
    object-fit: contain;
}

.upload-area[b-4idbgrr4a1] {
    position: relative;
    border: 2px dashed var(--border-color-light);
    background-color: var(--bg-secondary);
    transition: all var(--transition-fast) var(--transition-ease);
}

.upload-area-dragover[b-4idbgrr4a1] {
    border-color: var(--color-primary);
    background-color: rgba(11, 36, 62, 0.04);
}

.upload-placeholder[b-4idbgrr4a1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-6) var(--space-4);
    gap: var(--space-2);
    color: var(--text-muted);
}

.upload-placeholder svg[b-4idbgrr4a1] {
    opacity: 0.4;
}

.upload-text[b-4idbgrr4a1] {
    font-size: var(--font-size-sm);
    margin: 0;
}

.upload-hint[b-4idbgrr4a1] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    opacity: 0.7;
    margin: 0;
}

.upload-button[b-4idbgrr4a1] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* L'input copre l'area: è così che il drag-and-drop funziona senza JS. */
.file-input-hidden[b-4idbgrr4a1] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
}

.field-error[b-4idbgrr4a1] {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: var(--space-2);
}

.image-actions[b-4idbgrr4a1] {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--space-3);
}

.image-actions .btn[b-4idbgrr4a1] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

.btn-outline-danger[b-4idbgrr4a1] {
    background: transparent;
    color: var(--color-danger);
    border: var(--border-width-thin) solid var(--color-danger);
}

.btn-outline-danger:hover[b-4idbgrr4a1] {
    background-color: var(--color-danger);
    color: var(--color-white);
}

.btn-outline-danger:disabled[b-4idbgrr4a1] {
    opacity: 0.65;
    cursor: not-allowed;
}

/* Riepilogo degli errori di validazione: compare solo quando ci sono errori (la ul è vuota
   altrimenti), così non lascia un riquadro vuoto in testa alla scheda. */
.validation-summary-box:has(li)[b-4idbgrr4a1] {
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--color-danger-bg, #fdeaea);
    border-left: 3px solid var(--color-danger, #c0392b);
}

.validation-summary-box[b-4idbgrr4a1]  ul.validation-errors {
    margin: 0;
    padding-left: var(--space-4);
    color: var(--color-danger, #c0392b);
    font-size: var(--font-size-sm);
}
/* /Components/Pages/Shipping/LogisticsEquipmentList.razor.rz.scp.css */
/* ===========================
   LogisticsEquipmentList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-b6uqxehxw8] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-b6uqxehxw8] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-b6uqxehxw8] {
    background-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
}

/* Alert Bars */
.alert-bar[b-b6uqxehxw8] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-b6uqxehxw8] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-b6uqxehxw8] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-b6uqxehxw8] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-b6uqxehxw8] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-b6uqxehxw8] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
}

.search-input-wrapper[b-b6uqxehxw8] {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
}

.search-icon[b-b6uqxehxw8] {
    position: absolute;
    left: var(--space-3);
    color: var(--text-muted);
    pointer-events: none;
}

.search-input[b-b6uqxehxw8] {
    width: 100%;
    padding: var(--space-2) var(--space-3) var(--space-2) calc(var(--space-3) + 24px);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.search-input:focus[b-b6uqxehxw8] {
    border-color: var(--color-primary);
    outline: none;
}

.search-input[b-b6uqxehxw8]::placeholder {
    color: var(--color-gray-400);
}

.search-clear[b-b6uqxehxw8] {
    position: absolute;
    right: var(--space-2);
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-b6uqxehxw8] {
    color: var(--color-danger);
}

.search-count[b-b6uqxehxw8] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    white-space: nowrap;
}

/* Loading State */
.loading-state[b-b6uqxehxw8] {
    text-align: center;
    padding: var(--space-10) 0;
    color: var(--text-muted);
}

.loading-state p[b-b6uqxehxw8] {
    margin-top: var(--space-3);
    font-size: var(--font-size-sm);
}

/* Empty State */
.empty-state[b-b6uqxehxw8] {
    text-align: center;
    padding: var(--space-10) 0;
    color: var(--text-muted);
}

.empty-state svg[b-b6uqxehxw8] {
    opacity: 0.3;
    margin-bottom: var(--space-3);
}

.empty-state-text[b-b6uqxehxw8] {
    font-size: var(--font-size-sm);
    margin-bottom: var(--space-3);
}

/* Item List */
.item-list[b-b6uqxehxw8] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.item-row[b-b6uqxehxw8] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    background-color: var(--color-white);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-b6uqxehxw8] {
    border-bottom: none;
}

.item-row:hover[b-b6uqxehxw8] {
    background-color: var(--color-gray-50);
}

.item-avatar[b-b6uqxehxw8] {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
    flex-shrink: 0;
}

.item-info[b-b6uqxehxw8] {
    flex: 1;
    min-width: 0;
}

.item-name[b-b6uqxehxw8] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-700);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-b6uqxehxw8] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: 2px;
}

.item-code[b-b6uqxehxw8] {
    font-family: var(--font-mono);
}

.item-separator[b-b6uqxehxw8] {
    color: var(--border-color-light);
}

.item-actions[b-b6uqxehxw8] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-shrink: 0;
}

.btn-icon[b-b6uqxehxw8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--text-muted);
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-b6uqxehxw8] {
    color: var(--color-primary);
    border-color: var(--border-color-light);
    background-color: var(--color-gray-50);
    text-decoration: none;
}

.btn-icon-danger:hover[b-b6uqxehxw8] {
    color: var(--color-danger);
    border-color: var(--color-danger);
    background-color: #fdeded;
}

/* Delete Confirmation Overlay */
.overlay[b-b6uqxehxw8] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.confirm-dialog[b-b6uqxehxw8] {
    background-color: var(--color-white);
    padding: var(--space-6);
    max-width: 420px;
    width: 90%;
    text-align: center;
    border: var(--border-width-thin) solid var(--border-color-light);
    box-shadow: var(--shadow-lg);
}

.confirm-icon[b-b6uqxehxw8] {
    color: var(--color-warning);
    margin-bottom: var(--space-3);
}

.confirm-dialog h3[b-b6uqxehxw8] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-gray-700);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-b6uqxehxw8] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-b6uqxehxw8] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-danger) !important;
}

.confirm-actions[b-b6uqxehxw8] {
    display: flex;
    justify-content: center;
    gap: var(--space-3);
    margin-top: var(--space-4);
}

.confirm-actions .btn[b-b6uqxehxw8] {
    padding: var(--space-2) var(--space-5);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Interruttore «mostra obsolete» nella barra di ricerca. */
.filter-toggle[b-b6uqxehxw8] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
}

.filter-toggle input[b-b6uqxehxw8] {
    accent-color: var(--color-primary);
    cursor: pointer;
}

/* Marcatore dell'attrezzatura ritirata: si legge come stato, non come descrizione. */
.item-badge-obsolete[b-b6uqxehxw8] {
    color: var(--color-danger);
    font-weight: var(--font-weight-medium);
}
/* /Components/Pages/Shipping/MeansOfTransportationCreate.razor.rz.scp.css */
/* ===========================
   MeansOfTransportationCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-3rdvg7pqdq] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-3rdvg7pqdq] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-3rdvg7pqdq] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-3rdvg7pqdq] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-3rdvg7pqdq] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-3rdvg7pqdq] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-3rdvg7pqdq] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-3rdvg7pqdq] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-3rdvg7pqdq] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-3rdvg7pqdq] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-3rdvg7pqdq] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-3rdvg7pqdq] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-3rdvg7pqdq] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-3rdvg7pqdq] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-3rdvg7pqdq]::placeholder {
    color: var(--color-gray-400);
}

.btn-action[b-3rdvg7pqdq] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-3rdvg7pqdq] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-3rdvg7pqdq] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-3rdvg7pqdq] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-3rdvg7pqdq] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-3rdvg7pqdq] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-3rdvg7pqdq] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-3rdvg7pqdq] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Shipping/MeansOfTransportationEdit.razor.rz.scp.css */
/* ===========================
   MeansOfTransportationEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-rzf3wllb53] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-rzf3wllb53] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-rzf3wllb53] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-rzf3wllb53] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-rzf3wllb53] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-rzf3wllb53] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-rzf3wllb53] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-rzf3wllb53] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-rzf3wllb53] {
    opacity: 0.4;
}

.empty-state-text[b-rzf3wllb53] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-rzf3wllb53] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-rzf3wllb53] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-rzf3wllb53] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-rzf3wllb53] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-rzf3wllb53] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-rzf3wllb53] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-rzf3wllb53] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-rzf3wllb53] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-rzf3wllb53] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-rzf3wllb53]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-rzf3wllb53] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-rzf3wllb53] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-rzf3wllb53] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-rzf3wllb53] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-rzf3wllb53] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-rzf3wllb53] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-rzf3wllb53] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-rzf3wllb53] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-rzf3wllb53] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Shipping/MeansOfTransportationList.razor.rz.scp.css */
/* ===========================
   MeansOfTransportationList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-6tumyz7s0e] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-6tumyz7s0e] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-6tumyz7s0e] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-6tumyz7s0e] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-6tumyz7s0e] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-6tumyz7s0e] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-6tumyz7s0e] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-6tumyz7s0e] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-6tumyz7s0e] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-6tumyz7s0e] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-6tumyz7s0e] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-6tumyz7s0e] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-6tumyz7s0e] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-6tumyz7s0e]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-6tumyz7s0e] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-6tumyz7s0e] {
    color: var(--color-primary);
}

.search-count[b-6tumyz7s0e] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-6tumyz7s0e] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-6tumyz7s0e] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-6tumyz7s0e] {
    opacity: 0.4;
}

.empty-state-text[b-6tumyz7s0e] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-6tumyz7s0e] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-6tumyz7s0e] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-6tumyz7s0e] {
    border-bottom: none;
}

.item-row:hover[b-6tumyz7s0e] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-6tumyz7s0e] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-6tumyz7s0e] {
    flex: 1;
    min-width: 0;
}

.item-name[b-6tumyz7s0e] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-6tumyz7s0e] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-6tumyz7s0e] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-6tumyz7s0e] {
    color: var(--color-gray-300);
}

/* Action Buttons */
.item-actions[b-6tumyz7s0e] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-6tumyz7s0e] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-6tumyz7s0e] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-6tumyz7s0e] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-6tumyz7s0e] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-6tumyz7s0e] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-6tumyz7s0e] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-6tumyz7s0e] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-6tumyz7s0e] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-6tumyz7s0e] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-6tumyz7s0e] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-6tumyz7s0e] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-6tumyz7s0e] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-6tumyz7s0e] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-6tumyz7s0e] {
        flex-wrap: wrap;
    }

    .item-actions[b-6tumyz7s0e] {
        order: 6;
        margin-left: auto;
    }
}

/* /Components/Pages/Shipping/ShipmentEdit.razor.rz.scp.css */
/* ===========================
   ShipmentEdit - Scoped Styles
   Flat Industrial Minimal
   ===========================

   Stessa premessa di ShipmentList.razor.css: il chrome di pagina e' ripreso da
   CarrierList.razor.css perche' CLAUDE.md conta oltre 320 copie scoped dello
   stesso blocco e chiede di non peggiorare il conto consolidandolo di slancio.
   Sotto ci sta SOLO cio' che e' di questa pagina.

   NON si ridefiniscono .form-grid, .form-group, .form-group-row, .form-label,
   .form-control, .form-note, .form-hint, .form-check, .badge, .btn*: vivono in
   wwwroot/css/components.css. In particolare la GRIGLIA DI FORM ha regole
   delicate - le celle sono subgrid su una banda di tre righe, etichetta /
   controllo / nota - e ridefinirle qui romperebbe l'allineamento fra campi
   vicini esattamente come descritto in CLAUDE.md §«Griglia di form».

   .form-section INVECE SI DICHIARA QUI, e non e' una svista: non e' in
   components.css. E' il riquadro dei documenti - ordine, acquisto, vendita,
   carico e scarico lotto - e ognuna di quelle pagine se lo ricopia nel proprio
   scoped. Questa e' l'ottava copia. Consolidarlo nel foglio globale e togliere
   le otto copie e' l'intervento giusto, ma e' TRASVERSALE: tocca sette pagine
   documento e va guardato a video su tutte, quindi vale la seconda riga della
   tabella di CLAUDE.md §«Quando spostare in globale» - non lo si fa di slancio
   dentro un'altra consegna. Chi lo affrontera' le trova cercando
   `.form-section-title` fra i .razor.css.
   =========================== */

/* Page Container */
.page-container[b-xp2239wpkp] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Barra del pannello «Documenti da aggiungere»: azioni della SOTTO-ENTITÀ (cerca, aggiungi
   selezionati), che restano nella loro sezione. Non è il Salva di pagina, che sta in PageToolbar. */
.form-actions[b-xp2239wpkp] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 16px;
}

/* Action Button
   .btn-action NON si ridefinisce qui: components.css la dichiara sui token
   (--color-action / --color-action-hover / --color-action-active) e il markup usa
   `class="btn btn-action"`, quindi layout dai .btn e colori dai token.
   La copia scoped che le pagine sorelle si portano dietro fissa i colori a mano e
   scavalca i token: e' la «ridefinizione invece di modificatore» di CLAUDE.md
   §«Come si scrive la regola globale», e al cambio di palette resta indietro. */

/* Alert Bars */
.alert-bar[b-xp2239wpkp] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-xp2239wpkp] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-xp2239wpkp] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-xp2239wpkp] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-xp2239wpkp] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-xp2239wpkp] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-xp2239wpkp] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-xp2239wpkp] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-xp2239wpkp] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-xp2239wpkp]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-xp2239wpkp] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-xp2239wpkp] {
    color: var(--color-primary);
}

.search-count[b-xp2239wpkp] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-xp2239wpkp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-xp2239wpkp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-xp2239wpkp] {
    opacity: 0.4;
}

.empty-state-text[b-xp2239wpkp] {
    font-size: var(--font-size-base);
    margin: 0;
}
/* ===========================
   Tabella dati
   Stessa forma di Configuration/StationList.razor.css: e' la tabella «piatta»
   dell'applicazione, e una seconda variante si noterebbe solo mettendo due
   pagine affiancate.
   =========================== */
.table-container[b-xp2239wpkp] {
    background: #fff;
    border: 1px solid #e5e7eb;
    /* La tabella e' larga (9-10 colonne): scorre DENTRO il suo contenitore,
       cosi' il corpo pagina non scorre mai in orizzontale. */
    overflow-x: auto;
}

.data-table[b-xp2239wpkp] { width: 100%; border-collapse: collapse; background: #fff; }

.data-table th[b-xp2239wpkp] {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #6b7280;
    text-align: left;
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
    white-space: nowrap;
}

.data-table td[b-xp2239wpkp] {
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.9rem;
}

.data-table tr:hover td[b-xp2239wpkp] { background: #f9fafb; }

.data-table tr:last-child td[b-xp2239wpkp] { border-bottom: none; }

/* Numeri incolonnati a destra: i totali si leggono confrontandoli fra loro. */
.data-table .text-end[b-xp2239wpkp] { text-align: right; }

/* I numeri con le cifre della STESSA larghezza. Senza, colli e pesi ballano di
   riga in riga e il confronto verticale - il motivo per cui la colonna esiste -
   smette di funzionare. */
.data-table td.text-end[b-xp2239wpkp] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.data-table a[b-xp2239wpkp] { color: var(--color-primary, #2563eb); text-decoration: none; }
.data-table a:hover[b-xp2239wpkp] { text-decoration: underline; }

/* Le celle azione non vanno mai a capo: due frecce e una × su due righe
   raddoppiano l'altezza della riga. */
.data-table td:last-child[b-xp2239wpkp] { white-space: nowrap; }

.data-table td:last-child .btn + .btn[b-xp2239wpkp] { margin-left: 0.25rem; }

/* ===========================
   Pulsante distruttivo
   .btn-danger non e' in components.css (ci sono action/primary/secondary/
   outline/sm/lg): finche' non lo diventa, ogni pagina che ne ha bisogno se lo
   dichiara. Vale la stessa logica del chrome - non si consolida di slancio.
   =========================== */
.btn-danger[b-xp2239wpkp] {
    background: #dc2626;
    border: 1px solid #dc2626;
    color: #fff;
}

.btn-danger:hover[b-xp2239wpkp] { background: #b91c1c; border-color: #b91c1c; }

/* ===========================
   Riquadro di sezione
   Stessi valori, alla cifra, di OrderForm / SalesDocumentForm / PurchaseDocumentForm:
   sono una copia, non una variante. Se divergono, le pagine si leggono come due
   applicazioni - ed e' esattamente cio' che succedeva con .card, il cui <h2>
   Bootstrap rende a ~28 px contro gli 11 px maiuscoletti del titolo di sezione.

   Il titolo NON e' un heading: e' un'etichetta di sezione. Il livello del
   documento ce l'ha gia' l'<h1> di pagina, e un <h2> qui pretenderebbe una
   gerarchia che nel documento non esiste.
   =========================== */
.form-section[b-xp2239wpkp] {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 16px;
    margin-bottom: 16px;
}

.form-section-title[b-xp2239wpkp] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    margin-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 8px;
}

/* ===========================
   Griglia di form
   LA GRIGLIA VA DICHIARATA QUI, E NON E' UNA DIMENTICANZA DI components.css.
   Il foglio globale definisce il CONTRATTO DELLE CELLE (`.form-grid > *` spanna la
   banda di tre righe, `.form-group` e' subgrid), non il contenitore: display,
   colonne e gap li dichiara ogni pagina, come fanno CarrierEdit e DeliveryRouteEdit.
   Senza `display: grid` il contratto resta valido ma inerte - i campi si impilano in
   una colonna sola e `grid-template-columns` non fa nulla.
   =========================== */
.form-grid[b-xp2239wpkp] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
}

/* ===========================
   Testata: campi larghi
   .form-group-wide non e' globale. Occupa due colonne della griglia, e serve a
   descrizione e note - che sono frasi, non codici, e in una colonna sola si
   leggono a fatica.
   =========================== */
.form-group-wide[b-xp2239wpkp] { grid-column: span 2; }

/* ===========================
   Pannello di selezione: filtri su DUE righe
   Quattro campi su due righe da due invece che in fila: periodo sopra (dal/al, che
   si leggono in coppia), cliente e tratta sotto. In fila da quattro il periodo si
   spezza visivamente dagli altri due filtri, che sono di natura diversa.
   =========================== */
.candidate-filters[b-xp2239wpkp] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* ===========================
   Catena vettori
   Le tre tratte stanno in un .form-group-row - la classe prevista da
   components.css per piu' campi che si allineano FRA LORO invece che alla banda
   della griglia (CLAUDE.md §«Celle che il contratto non copre»).

   `.carrier-chain` e' un MODIFICATORE, non una ridefinizione. La regola globale
   `.form-grid > .form-group-row` (flex, wrap, allineamento in basso) resta quella
   che e': riscriverla qui la farebbe divergere dalle altre celle composite
   dell'applicazione al primo ritocco del foglio globale, ed e' esattamente la
   «ridefinizione invece di modificatore» di CLAUDE.md §«Come si scrive la regola
   globale». Qui si aggiunge SOLO cio' che manca: tre tratte che si spartiscono lo
   spazio in parti uguali invece di dimensionarsi sul contenuto.
   =========================== */
.form-group-row.carrier-chain[b-xp2239wpkp] {
    /* La cella composita e' UN figlio della griglia, quindi di suo occupa UNA
       colonna: le tre tratte ci andavano a capo dentro. Le tratte sono
       consecutive e si leggono in fila, quindi la cella prende tutta la riga. */
    grid-column: 1 / -1;
}

.form-group-row.carrier-chain > *[b-xp2239wpkp] {
    flex: 1 1 0;
    min-width: 12rem;
}

/* La tratta non modificabile NON si stila qui. Le tre tratte sono LookupField, e
   il campo bloccato - lucchetto al posto della lente, casella in grigio - lo
   rende il componente con il proprio foglio scoped. Una regola di questa pagina
   non lo raggiungerebbe comunque: il markup del figlio porta lo scope del
   figlio, non quello di ShipmentEdit. La regola che c'era qui (.carrier-chain
   select:disabled) e' caduta con le tendine. */

/* ===========================
   Avviso non bloccante
   Terzo colore accanto a success e danger: l'esercizio discordante e il
   perimetro incompleto NON sono errori - la richiesta e' andata a buon fine.
   L'ambra lo dice prima che l'operatore legga il testo; il rosso gli farebbe
   cercare un errore che non c'e'.
   =========================== */
.alert-bar-warning[b-xp2239wpkp] {
    background: #fffbeb;
    border-color: #fcd34d;
    color: #92400e;
}

/* ===========================
   Editing in linea nelle righe
   Data consegna e nota si modificano nella cella: sono due campi, e un dialogo
   per due campi e' attrito puro rispetto al legacy che ne apriva uno per riga.

   UNA RIGA DI TABELLA NON E' UNA RIGA DI FORM. I controlli dentro una cella
   stanno all'altezza della riga, non a quella della scheda: la scala e'
   --control-height-xs (28 px), la stessa di LabelPrintIconButton e della griglia
   righe dei documenti. Senza questa dichiarazione valgono i 32 px che
   components.css da' a .form-control-sm e a .btn-sm - corretti in una barra di
   azione, alti in una cella - e l'altezza sarebbe di nuovo DERIVATA dal padding
   invece che dichiarata, cioe' dipendente dal corpo del testo.

   E' il caso che docs/Analisi-ArmonizzazioneControlliShared-MtsSaas.md §11 lascia
   aperto: «.form-control-sm compare in 31 file: ovunque sia dentro una tabella,
   quella riga ha lo stesso problema».

   DUE DETTAGLI, ENTRAMBI COSTATI UNA MISURA SULLA PAGINA VERA (§13):
   · serve `min-height`: Bootstrap lo dichiara su .form-control-sm e batte
     `height`. Senza, l'input resta alto quanto il suo contenuto;
   · `::deep` NON e' facoltativo da quando la cella della data usa <DateField>.
     Senza, Blazor mette l'attributo di scope sul bersaglio
     (`.form-control[b-questa-pagina]`) e la regola non raggiunge l'input reso dal
     componente, che porta lo scope DI DateField: la data resterebbe a 40 px in
     mezzo a controlli da 28. Vedi CLAUDE.md §«lo scoped non si condivide».
   =========================== */
.data-table[b-xp2239wpkp]  .form-control,
.data-table[b-xp2239wpkp]  .btn-sm {
    height: var(--control-height-xs);
    min-height: var(--control-height-xs);
}

.data-table[b-xp2239wpkp]  .form-control {
    width: 100%;
    min-width: 0;
    /* Il verticale lo da' l'altezza: qui resta il solo orizzontale. */
    padding: 0 var(--space-2);
    font-size: var(--control-font-size-xs);
}

/* ===========================
   Componenti condivisi dentro una cella
   DateField porta con se' misure pensate per una SCHEDA - .form-group con
   `max-width: 180px` - e una propria etichetta. In una colonna il campo deve
   prendere la larghezza che la colonna gli da', ne' piu' ne' meno: il
   `min-width: 0` e' la parte che conta, perche' senza di esso la cella non puo'
   restringersi sotto la misura del componente e allarga la tabella intera.

   L'etichetta si nasconde: in una tabella la da' l'intestazione di colonna, e
   ripeterla su ogni riga raddoppierebbe l'altezza per dire quello che c'e' gia'
   scritto sopra. E' la stessa coppia di regole che i documenti scrivono su
   .cell-sub / .cell-num-field.
   =========================== */
.data-table[b-xp2239wpkp]  .form-group {
    margin: 0;
    width: 100%;
    min-width: 0;
    max-width: none;
}

.data-table[b-xp2239wpkp]  .form-label { display: none; }

/* Il padding orizzontale del campo data NON si tocca: lascia posto all'icona a
   sinistra e al pulsante calendario a destra, che sono in posizione assoluta
   dentro il campo. Azzerarlo con la regola generica qui sopra farebbe scrivere
   il testo sotto le due icone. */
.data-table[b-xp2239wpkp]  .date-input {
    padding-left: calc(var(--space-2) + 18px + var(--space-2));
    padding-right: calc(var(--space-2) + 32px + var(--space-1));
}

/* La scala densa ha anche il proprio corpo del testo, e va dichiarato: `:root .btn`
   porta --control-font-size (14 px) a ogni pulsante, e le tre azioni di riga
   resterebbero a 14 in mezzo a campi scritti a 13. */
.data-table[b-xp2239wpkp]  .btn-sm {
    font-size: var(--control-font-size-xs);
}

/* ===========================
   Pannello di selezione documenti
   Lo spazio fra un riquadro e il successivo lo da' il margine di .form-section:
   la regola `.card + .card` che stava qui e' sparita con le card, non e' stata
   dimenticata.
   =========================== */

/* La tabella dei candidati puo' essere lunga: scorre da sola invece di allungare
   la pagina all'infinito, cosi' i filtri e il pulsante «Aggiungi selezionati»
   restano raggiungibili senza risalire. Vale anche per la tabella dei documenti
   della spedizione, come prima: entrambe erano figlie dirette di .card-body. */
.form-section > .table-container[b-xp2239wpkp] { max-height: 28rem; overflow-y: auto; }

/* Le intestazioni restano visibili mentre si scorre: senza, a meta' elenco non
   si sa piu' quale colonna e' quale. */
.form-section > .table-container thead th[b-xp2239wpkp] {
    position: sticky;
    top: 0;
    z-index: 1;
}

/* Colonna della spunta: stretta e centrata. */
.data-table th:first-child[b-xp2239wpkp],
.data-table td:first-child[b-xp2239wpkp] { width: 3rem; }

.data-table input[type="checkbox"][b-xp2239wpkp] { cursor: pointer; }

/* ===========================
   Responsive
   =========================== */
@media (max-width: 768px) {
    .form-group-wide[b-xp2239wpkp] { grid-column: span 1; }
    .form-group-row[b-xp2239wpkp] { grid-template-columns: 1fr; }
}

/* /Components/Pages/Shipping/ShipmentList.razor.rz.scp.css */
/* ===========================
   ShipmentList - Scoped Styles
   Flat Industrial Minimal
   ===========================

   COS'E' RIUSATO E COS'E' NUOVO.
   Il chrome di pagina (.page-container, .page-header, .alert-bar, .search-bar,
   .loading-state, .empty-state) e' ripreso TALE E QUALE da CarrierList.razor.css,
   la pagina sorella di questa cartella.

   Non e' pigrizia ed e' una scelta dichiarata: CLAUDE.md conta oltre 320 copie
   scoped di questo stesso chrome e dice di non consolidarle di slancio e di non
   peggiorare il conto. Consolidarlo qui vorrebbe dire toccare 320 pagine che
   questa consegna non tocca - un intervento trasversale a se'. Quindi si copia,
   coerenti con il resto dell'applicazione, e si aggiunge sotto SOLO cio' che e'
   davvero di questa pagina.

   Cio' che e' gia' GLOBALE non viene ridefinito qui: .badge (e varianti),
   .btn/.btn-primary/.btn-secondary/.btn-action/.btn-sm, .card/.card-header/
   .card-body, .form-grid/.form-group/.form-group-row/.form-label/.form-control/
   .form-note/.form-hint/.form-check vivono in wwwroot/css/components.css.
   Ridefinirle in uno scoped e' il modo tipico in cui due pagine iniziano a
   somigliarsi solo per meta'.
   =========================== */

/* Page Container */
.page-container[b-wpfqzfgf4m] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button
   .btn-action NON si ridefinisce qui: components.css la dichiara sui token
   (--color-action / --color-action-hover / --color-action-active) e il markup usa
   `class="btn btn-action"`, quindi layout dai .btn e colori dai token.
   La copia scoped che le pagine sorelle si portano dietro fissa i colori a mano e
   scavalca i token: e' la «ridefinizione invece di modificatore» di CLAUDE.md
   §«Come si scrive la regola globale», e al cambio di palette resta indietro. */

/* Alert Bars */
.alert-bar[b-wpfqzfgf4m] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-wpfqzfgf4m] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-wpfqzfgf4m] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-wpfqzfgf4m] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-wpfqzfgf4m] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-wpfqzfgf4m] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-wpfqzfgf4m] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-wpfqzfgf4m] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-wpfqzfgf4m] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-wpfqzfgf4m]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-wpfqzfgf4m] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-wpfqzfgf4m] {
    color: var(--color-primary);
}

.search-count[b-wpfqzfgf4m] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-wpfqzfgf4m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-wpfqzfgf4m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-wpfqzfgf4m] {
    opacity: 0.4;
}

.empty-state-text[b-wpfqzfgf4m] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* ===========================
   Tabella dati
   Stessa forma di Configuration/StationList.razor.css: e' la tabella «piatta»
   dell'applicazione, e una seconda variante si noterebbe solo mettendo due
   pagine affiancate.
   =========================== */
.table-container[b-wpfqzfgf4m] {
    background: #fff;
    border: 1px solid #e5e7eb;
    /* La tabella e' larga (9-10 colonne): scorre DENTRO il suo contenitore,
       cosi' il corpo pagina non scorre mai in orizzontale. */
    overflow-x: auto;
}

.data-table[b-wpfqzfgf4m] { width: 100%; border-collapse: collapse; background: #fff; }

.data-table th[b-wpfqzfgf4m] {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #6b7280;
    text-align: left;
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
    white-space: nowrap;
}

.data-table td[b-wpfqzfgf4m] {
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.9rem;
}

.data-table tr:hover td[b-wpfqzfgf4m] { background: #f9fafb; }

.data-table tr:last-child td[b-wpfqzfgf4m] { border-bottom: none; }

/* Numeri incolonnati a destra: i totali si leggono confrontandoli fra loro. */
.data-table .text-end[b-wpfqzfgf4m] { text-align: right; }

/* I numeri con le cifre della STESSA larghezza. Senza, colli e pesi ballano di
   riga in riga e il confronto verticale - il motivo per cui la colonna esiste -
   smette di funzionare. */
.data-table td.text-end[b-wpfqzfgf4m] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.data-table a[b-wpfqzfgf4m] { color: var(--color-primary, #2563eb); text-decoration: none; }
.data-table a:hover[b-wpfqzfgf4m] { text-decoration: underline; }

/* Le celle azione non vanno mai a capo: due frecce e una × su due righe
   raddoppiano l'altezza della riga. */
.data-table td:last-child[b-wpfqzfgf4m] { white-space: nowrap; }

.data-table td:last-child .btn + .btn[b-wpfqzfgf4m] { margin-left: 0.25rem; }

/* ===========================
   Pulsante distruttivo
   .btn-danger non e' in components.css (ci sono action/primary/secondary/
   outline/sm/lg): finche' non lo diventa, ogni pagina che ne ha bisogno se lo
   dichiara. Vale la stessa logica del chrome - non si consolida di slancio.
   =========================== */
.btn-danger[b-wpfqzfgf4m] {
    background: #dc2626;
    border: 1px solid #dc2626;
    color: #fff;
}

.btn-danger:hover[b-wpfqzfgf4m] { background: #b91c1c; border-color: #b91c1c; }

/* ===========================
   Barra filtri
   =========================== */
.filter-bar[b-wpfqzfgf4m] {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: var(--space-4);
    margin-bottom: var(--space-4);
}

/* LA GRIGLIA VA DICHIARATA QUI, E NON E' UNA DIMENTICANZA DI components.css.
   Il foglio globale definisce il CONTRATTO DELLE CELLE (`.form-grid > *` spanna la
   banda di tre righe, `.form-group` e' subgrid), non il contenitore: display,
   colonne e gap li dichiara ogni pagina, come fanno CarrierEdit e DeliveryRouteEdit.
   Senza `display: grid` il contratto resta valido ma inerte - i campi si impilano in
   una colonna sola e `grid-template-columns` non fa nulla. */
.filter-bar .form-grid[b-wpfqzfgf4m] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-4);
}

/* Il pulsante «Cerca» sta nella search-bar, in linea con il campo di ricerca. */
.search-bar .btn[b-wpfqzfgf4m] { flex-shrink: 0; }

/* ===========================
   Paginazione
   =========================== */
.pagination-bar[b-wpfqzfgf4m] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-4);
    padding: var(--space-4);
    background: #fff;
    border: 1px solid #e5e7eb;
    border-top: none;
    font-size: 0.9rem;
    color: #6b7280;
}

/* ===========================
   Responsive
   =========================== */
@media (max-width: 768px) {
    .search-bar[b-wpfqzfgf4m] { flex-wrap: wrap; }
    .filter-bar .form-grid[b-wpfqzfgf4m] { grid-template-columns: 1fr; }
}

/* /Components/Pages/Shipping/TransportReasonCreate.razor.rz.scp.css */
/* ===========================
   TransportReasonCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-n2olmrxi6n] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-n2olmrxi6n] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-n2olmrxi6n] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-n2olmrxi6n] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-n2olmrxi6n] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-n2olmrxi6n] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-n2olmrxi6n] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-n2olmrxi6n] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-n2olmrxi6n] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-n2olmrxi6n] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-n2olmrxi6n] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-n2olmrxi6n] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-n2olmrxi6n] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-n2olmrxi6n] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-n2olmrxi6n]::placeholder {
    color: var(--color-gray-400);
}

.btn-action[b-n2olmrxi6n] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-n2olmrxi6n] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-n2olmrxi6n] {
    opacity: 0.65;
    cursor: not-allowed;
}
/* /Components/Pages/Shipping/TransportReasonEdit.razor.rz.scp.css */
/* ===========================
   TransportReasonEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-a2fogkmk13] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-a2fogkmk13] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-a2fogkmk13] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-a2fogkmk13] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-a2fogkmk13] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-a2fogkmk13] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-a2fogkmk13] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-a2fogkmk13] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-a2fogkmk13] {
    opacity: 0.4;
}

.empty-state-text[b-a2fogkmk13] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-a2fogkmk13] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-a2fogkmk13] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-a2fogkmk13] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-a2fogkmk13] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-a2fogkmk13] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-a2fogkmk13] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-a2fogkmk13] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-a2fogkmk13] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-a2fogkmk13] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-a2fogkmk13]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-a2fogkmk13] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-a2fogkmk13] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-a2fogkmk13] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-a2fogkmk13] {
    opacity: 0.65;
    cursor: not-allowed;
}
/* /Components/Pages/Shipping/TransportReasonList.razor.rz.scp.css */
/* ===========================
   TransportReasonList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-djw7c0z5gp] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-djw7c0z5gp] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-djw7c0z5gp] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-djw7c0z5gp] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-djw7c0z5gp] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-djw7c0z5gp] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-djw7c0z5gp] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-djw7c0z5gp] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-djw7c0z5gp] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-djw7c0z5gp] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-djw7c0z5gp] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-djw7c0z5gp] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-djw7c0z5gp] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-djw7c0z5gp]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-djw7c0z5gp] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-djw7c0z5gp] {
    color: var(--color-primary);
}

.search-count[b-djw7c0z5gp] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-djw7c0z5gp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-djw7c0z5gp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-djw7c0z5gp] {
    opacity: 0.4;
}

.empty-state-text[b-djw7c0z5gp] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-djw7c0z5gp] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-djw7c0z5gp] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-djw7c0z5gp] {
    border-bottom: none;
}

.item-row:hover[b-djw7c0z5gp] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-djw7c0z5gp] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-djw7c0z5gp] {
    flex: 1;
    min-width: 0;
}

.item-name[b-djw7c0z5gp] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-djw7c0z5gp] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-djw7c0z5gp] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-djw7c0z5gp] {
    color: var(--color-gray-300);
}

/* Action Buttons */
.item-actions[b-djw7c0z5gp] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-djw7c0z5gp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-djw7c0z5gp] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-djw7c0z5gp] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-djw7c0z5gp] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-djw7c0z5gp] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-djw7c0z5gp] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-djw7c0z5gp] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-djw7c0z5gp] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-djw7c0z5gp] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-djw7c0z5gp] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-djw7c0z5gp] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-djw7c0z5gp] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-djw7c0z5gp] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-djw7c0z5gp] {
        flex-wrap: wrap;
    }

    .item-actions[b-djw7c0z5gp] {
        width: 100%;
        justify-content: flex-end;
    }
}

/* /Components/Pages/Shipping/VehicleCreate.razor.rz.scp.css */
/* ===========================
   VehicleCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-qwtchaltph] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-qwtchaltph] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-qwtchaltph] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-qwtchaltph] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-qwtchaltph] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-qwtchaltph] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-qwtchaltph] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-qwtchaltph] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-qwtchaltph] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-qwtchaltph] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-qwtchaltph] {
    grid-column: span 2;
}

.form-group-checkbox[b-qwtchaltph] {
    display: flex;
    align-items: center;
    padding-top: var(--space-2);
}

.form-check-label[b-qwtchaltph] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    cursor: pointer;
}

.form-check-input[b-qwtchaltph] {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

/* Form Controls */
.form-label[b-qwtchaltph] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-qwtchaltph] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-qwtchaltph] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-qwtchaltph]::placeholder {
    color: var(--color-gray-400);
}

.btn-action[b-qwtchaltph] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-qwtchaltph] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-qwtchaltph] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-qwtchaltph] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-qwtchaltph] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-qwtchaltph] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-qwtchaltph] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-qwtchaltph] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Shipping/VehicleEdit.razor.rz.scp.css */
/* ===========================
   VehicleEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-ka32gd3ztt] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-ka32gd3ztt] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-ka32gd3ztt] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-ka32gd3ztt] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-ka32gd3ztt] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-ka32gd3ztt] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-ka32gd3ztt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-ka32gd3ztt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-ka32gd3ztt] {
    opacity: 0.4;
}

.empty-state-text[b-ka32gd3ztt] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-ka32gd3ztt] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-ka32gd3ztt] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-ka32gd3ztt] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-ka32gd3ztt] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-ka32gd3ztt] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-ka32gd3ztt] {
    grid-column: span 2;
}

.form-group-checkbox[b-ka32gd3ztt] {
    display: flex;
    align-items: center;
    padding-top: var(--space-2);
}

.form-check-label[b-ka32gd3ztt] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    cursor: pointer;
}

.form-check-input[b-ka32gd3ztt] {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

/* Form Controls */
.form-label[b-ka32gd3ztt] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-ka32gd3ztt] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-ka32gd3ztt] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-ka32gd3ztt]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-ka32gd3ztt] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-ka32gd3ztt] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-ka32gd3ztt] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-ka32gd3ztt] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-ka32gd3ztt] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-ka32gd3ztt] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-ka32gd3ztt] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-ka32gd3ztt] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-ka32gd3ztt] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Shipping/VehicleList.razor.rz.scp.css */
/* ===========================
   VehicleList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-apmgyr7itx] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-apmgyr7itx] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-apmgyr7itx] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-apmgyr7itx] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-apmgyr7itx] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-apmgyr7itx] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-apmgyr7itx] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-apmgyr7itx] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-apmgyr7itx] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-apmgyr7itx] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-apmgyr7itx] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-apmgyr7itx] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-apmgyr7itx] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-apmgyr7itx]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-apmgyr7itx] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-apmgyr7itx] {
    color: var(--color-primary);
}

.search-count[b-apmgyr7itx] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-apmgyr7itx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-apmgyr7itx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-apmgyr7itx] {
    opacity: 0.4;
}

.empty-state-text[b-apmgyr7itx] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-apmgyr7itx] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-apmgyr7itx] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-apmgyr7itx] {
    border-bottom: none;
}

.item-row:hover[b-apmgyr7itx] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-apmgyr7itx] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-apmgyr7itx] {
    flex: 1;
    min-width: 0;
}

.item-name[b-apmgyr7itx] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-apmgyr7itx] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-apmgyr7itx] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-apmgyr7itx] {
    color: var(--color-gray-300);
}

/* Action Buttons */
.item-actions[b-apmgyr7itx] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-apmgyr7itx] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-apmgyr7itx] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-apmgyr7itx] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-apmgyr7itx] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-apmgyr7itx] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-apmgyr7itx] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-apmgyr7itx] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-apmgyr7itx] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-apmgyr7itx] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-apmgyr7itx] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-apmgyr7itx] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-apmgyr7itx] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-apmgyr7itx] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-apmgyr7itx] {
        flex-wrap: wrap;
    }

    .item-actions[b-apmgyr7itx] {
        width: 100%;
        justify-content: flex-end;
    }
}

/* /Components/Pages/Sso.razor.rz.scp.css */
/* SSO Page Container - stesso sfondo della pagina di Login */
.sso-page[b-7wzofg9f2o] {
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem;
    position: relative;
    /* Background with gradient overlay and custom image (come Login.razor.css) */
    background:
        linear-gradient(135deg, rgba(11, 36, 62, 0.85) 0%, rgba(30, 77, 123, 0.85) 100%),
        url('/images/AdobeStock_138850596.jpeg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/* Contenuto centrato (spinner + messaggio) */
.sso-status[b-7wzofg9f2o] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    text-align: center;
}

/* Messaggi in bianco, centrati */
.sso-message[b-7wzofg9f2o] {
    color: #ffffff;
    font-size: 1.15rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    margin: 0;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.sso-error[b-7wzofg9f2o] {
    max-width: 480px;
}

/* Spinner */
.sso-spinner[b-7wzofg9f2o] {
    width: 3rem;
    height: 3rem;
    border: 4px solid rgba(255, 255, 255, 0.25);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: sso-spin-b-7wzofg9f2o 0.9s linear infinite;
}

@keyframes sso-spin-b-7wzofg9f2o {
    to {
        transform: rotate(360deg);
    }
}
/* /Components/Pages/Support/TicketCreate.razor.rz.scp.css */
/* ===========================
   Cromo di pagina — Flat Industrial Minimal
   In questo progetto container, barre messaggi e stati non sono globali ma scoped per pagina
   (CLAUDE.md §«CSS di componente»): senza queste regole la pagina resta senza stile.
   Blocco allineato a Configuration/BarcodeReaderList.razor.css.
   =========================== */

.page-container[b-bz5lyzfdo0] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }

.alert-bar[b-bz5lyzfdo0] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-bz5lyzfdo0] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-success[b-bz5lyzfdo0] { background-color: #e8f5ee; border-left-color: var(--color-success); color: #17603f; }
.alert-bar-close[b-bz5lyzfdo0] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-bz5lyzfdo0] { opacity: 1; }

.loading-state[b-bz5lyzfdo0], .empty-state[b-bz5lyzfdo0] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state p[b-bz5lyzfdo0] { margin: 0; }
.empty-state-hint[b-bz5lyzfdo0] { font-size: 0.85rem; color: var(--color-gray-500); max-width: 40rem; text-align: center; }

/* Stati del ticket: stessa pastiglia in elenco e in testata */
.badge[b-bz5lyzfdo0] { display: inline-block; padding: 0.1rem 0.5rem; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; border: 1px solid transparent; white-space: nowrap; }
.badge-info[b-bz5lyzfdo0]      { background: #e6f4f7; border-color: #b6dfe7; color: #0f5462; }
.badge-primary[b-bz5lyzfdo0]   { background: #e8edf4; border-color: #b9c7da; color: var(--color-primary); }
.badge-warning[b-bz5lyzfdo0]   { background: #fff8e6; border-color: #f5d78e; color: #7a4b06; }
.badge-success[b-bz5lyzfdo0]   { background: #e8f5ee; border-color: #b7e0c8; color: #17603f; }
.badge-secondary[b-bz5lyzfdo0] { background: #f1f3f5; border-color: #d5d9de; color: #495057; }
.badge-danger[b-bz5lyzfdo0]    { background: #fdeded; border-color: #f5b5b5; color: #7a1c1c; }

/* ===== Modulo ===== */
.form-section[b-bz5lyzfdo0] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.form-grid[b-bz5lyzfdo0] { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-4); }
.form-group-full[b-bz5lyzfdo0] { grid-column: 1 / -1; }
.form-label[b-bz5lyzfdo0] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-bz5lyzfdo0] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); }
.form-control:focus[b-bz5lyzfdo0] { border-color: var(--color-primary); outline: none; box-shadow: none; }
textarea.form-control[b-bz5lyzfdo0] { min-height: 180px; resize: vertical; }
.form-note[b-bz5lyzfdo0] { font-size: var(--font-size-xs); color: var(--text-muted); }
[b-bz5lyzfdo0] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) { .form-grid[b-bz5lyzfdo0] { grid-template-columns: 1fr; } }
/* /Components/Pages/Support/TicketDetail.razor.rz.scp.css */
/* ===========================
   Cromo di pagina — Flat Industrial Minimal
   In questo progetto container, barre messaggi e stati non sono globali ma scoped per pagina
   (CLAUDE.md §«CSS di componente»): senza queste regole la pagina resta senza stile.
   Blocco allineato a Configuration/BarcodeReaderList.razor.css.
   =========================== */

.page-container[b-8k0d62wdhu] { max-width: 960px; margin: 0 auto; padding: var(--space-6) var(--space-4); }

.alert-bar[b-8k0d62wdhu] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-8k0d62wdhu] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-success[b-8k0d62wdhu] { background-color: #e8f5ee; border-left-color: var(--color-success); color: #17603f; }
.alert-bar-close[b-8k0d62wdhu] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-8k0d62wdhu] { opacity: 1; }

.loading-state[b-8k0d62wdhu], .empty-state[b-8k0d62wdhu] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state p[b-8k0d62wdhu] { margin: 0; }
.empty-state-hint[b-8k0d62wdhu] { font-size: 0.85rem; color: var(--color-gray-500); max-width: 40rem; text-align: center; }

/* Stati del ticket: stessa pastiglia in elenco e in testata */
.badge[b-8k0d62wdhu] { display: inline-block; padding: 0.1rem 0.5rem; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; border: 1px solid transparent; white-space: nowrap; }
.badge-info[b-8k0d62wdhu]      { background: #e6f4f7; border-color: #b6dfe7; color: #0f5462; }
.badge-primary[b-8k0d62wdhu]   { background: #e8edf4; border-color: #b9c7da; color: var(--color-primary); }
.badge-warning[b-8k0d62wdhu]   { background: #fff8e6; border-color: #f5d78e; color: #7a4b06; }
.badge-success[b-8k0d62wdhu]   { background: #e8f5ee; border-color: #b7e0c8; color: #17603f; }
.badge-secondary[b-8k0d62wdhu] { background: #f1f3f5; border-color: #d5d9de; color: #495057; }
.badge-danger[b-8k0d62wdhu]    { background: #fdeded; border-color: #f5b5b5; color: #7a1c1c; }

/* ===== Riquadro di risposta ===== */
.card[b-8k0d62wdhu] { background: #fff; border: 1px solid var(--border-color-light); margin-top: var(--space-4); }
.card-header[b-8k0d62wdhu] { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: 0.7rem 1rem; border-bottom: 1px solid var(--border-color-light); background: #f9fafb; font-size: 0.85rem; font-weight: 700; color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.4px; }
.card-body[b-8k0d62wdhu] { padding: 1rem; }
.form-grid[b-8k0d62wdhu] { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-4); }
.form-group-full[b-8k0d62wdhu] { grid-column: 1 / -1; }
.form-label[b-8k0d62wdhu] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-8k0d62wdhu] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); }
.form-control:focus[b-8k0d62wdhu] { border-color: var(--color-primary); outline: none; box-shadow: none; }
textarea.form-control[b-8k0d62wdhu] { resize: vertical; }
.form-note[b-8k0d62wdhu] { font-size: var(--font-size-xs); color: var(--text-muted); }

@media (max-width: 768px) { .form-grid[b-8k0d62wdhu] { grid-template-columns: 1fr; } }
/* /Components/Pages/Support/TicketList.razor.rz.scp.css */
/* ===========================
   Cromo di pagina — Flat Industrial Minimal
   In questo progetto container, barre messaggi e stati non sono globali ma scoped per pagina
   (CLAUDE.md §«CSS di componente»): senza queste regole la pagina resta senza stile.
   Blocco allineato a Configuration/BarcodeReaderList.razor.css.
   =========================== */

.page-container[b-4vby2xd566] { max-width: 1100px; margin: 0 auto; padding: var(--space-6) var(--space-4); }

.alert-bar[b-4vby2xd566] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-4vby2xd566] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-success[b-4vby2xd566] { background-color: #e8f5ee; border-left-color: var(--color-success); color: #17603f; }
.alert-bar-close[b-4vby2xd566] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-4vby2xd566] { opacity: 1; }

.loading-state[b-4vby2xd566], .empty-state[b-4vby2xd566] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state p[b-4vby2xd566] { margin: 0; }
.empty-state-hint[b-4vby2xd566] { font-size: 0.85rem; color: var(--color-gray-500); max-width: 40rem; text-align: center; }

/* Stati del ticket: stessa pastiglia in elenco e in testata */
.badge[b-4vby2xd566] { display: inline-block; padding: 0.1rem 0.5rem; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; border: 1px solid transparent; white-space: nowrap; }
.badge-info[b-4vby2xd566]      { background: #e6f4f7; border-color: #b6dfe7; color: #0f5462; }
.badge-primary[b-4vby2xd566]   { background: #e8edf4; border-color: #b9c7da; color: var(--color-primary); }
.badge-warning[b-4vby2xd566]   { background: #fff8e6; border-color: #f5d78e; color: #7a4b06; }
.badge-success[b-4vby2xd566]   { background: #e8f5ee; border-color: #b7e0c8; color: #17603f; }
.badge-secondary[b-4vby2xd566] { background: #f1f3f5; border-color: #d5d9de; color: #495057; }
.badge-danger[b-4vby2xd566]    { background: #fdeded; border-color: #f5b5b5; color: #7a1c1c; }

/* ===== Barra filtri ===== */
.filter-bar[b-4vby2xd566] { display: flex; align-items: flex-end; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); flex-wrap: wrap; }
.filter-bar .form-group[b-4vby2xd566] { display: flex; flex-direction: column; margin: 0; min-width: 12rem; }
.filter-bar .form-label[b-4vby2xd566] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.filter-bar .form-control[b-4vby2xd566] { height: var(--control-height); padding: 0 var(--space-3); font-size: var(--font-size-sm); border: var(--border-width-thin) solid var(--border-color-light); background: var(--color-white); }
.filter-bar .form-control:focus[b-4vby2xd566] { border-color: var(--color-primary); outline: none; box-shadow: none; }

/* ===== Tabella ===== */
.table-wrapper[b-4vby2xd566] { overflow-x: auto; background: #fff; border: 1px solid var(--border-color-light); }
.data-table[b-4vby2xd566] { width: 100%; border-collapse: collapse; }
.data-table th[b-4vby2xd566] { font-size: 0.78rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.4px; color: #6b7280; text-align: left; padding: 0.55rem 0.75rem; border-bottom: 1px solid #e5e7eb; background: #f9fafb; }
.data-table td[b-4vby2xd566] { padding: 0.55rem 0.75rem; border-bottom: 1px solid #f3f4f6; font-size: 0.9rem; }
.data-table .col-code[b-4vby2xd566] { width: 7rem; }
.data-table tr.row-link[b-4vby2xd566] { cursor: pointer; }
.data-table tr.row-link:hover td[b-4vby2xd566] { background: #f9fafb; }
.code-badge[b-4vby2xd566] { display: inline-block; padding: 0.1rem 0.45rem; background: #eef2f7; border: 1px solid #d7dee8; color: #334155; font-size: 0.8rem; font-weight: 700; white-space: nowrap; }
/* /Components/Pages/SystemAdministration.razor.rz.scp.css */
/* SystemAdministration page styles */

.container-fluid[b-fes3ruy0vg] {
    max-width: 1400px;
    margin: 0 auto;
}

/* Tab styling */
.nav-tabs[b-fes3ruy0vg] {
    border-bottom: 2px solid #0B243E;
}

.nav-tabs .nav-link[b-fes3ruy0vg] {
    color: #6c757d;
    border: none;
    border-bottom: 3px solid transparent;
    padding: 0.75rem 1.5rem;
    transition: all 0.3s ease;
}

.nav-tabs .nav-link:hover[b-fes3ruy0vg] {
    color: #0B243E;
    border-bottom-color: rgba(11, 36, 62, 0.3);
}

.nav-tabs .nav-link.active[b-fes3ruy0vg] {
    color: #0B243E;
    background-color: transparent;
    border-bottom-color: #0B243E;
    font-weight: 600;
}

.nav-tabs .nav-link svg[b-fes3ruy0vg] {
    vertical-align: middle;
}

/* Card styling */
.card[b-fes3ruy0vg] {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.3s ease;
}

.card:hover[b-fes3ruy0vg] {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.card-header[b-fes3ruy0vg] {
    border-radius: 8px 8px 0 0 !important;
    padding: 1rem 1.25rem;
    font-weight: 600;
}

.card-header.bg-primary[b-fes3ruy0vg] {
    background-color: #0B243E !important;
}

.card-header.bg-success[b-fes3ruy0vg] {
    background-color: #28a745 !important;
}

.card-header.bg-light[b-fes3ruy0vg] {
    background-color: #f8f9fa !important;
    color: #0B243E;
}

/* Form styling */
.form-label[b-fes3ruy0vg] {
    font-weight: 500;
    color: #495057;
    margin-bottom: 0.5rem;
}

.form-control:focus[b-fes3ruy0vg],
.form-select:focus[b-fes3ruy0vg] {
    border-color: #0B243E;
    box-shadow: 0 0 0 0.2rem rgba(11, 36, 62, 0.25);
}

/* Table styling */
.table[b-fes3ruy0vg] {
    margin-bottom: 0;
}

.table thead th[b-fes3ruy0vg] {
    background-color: #f8f9fa;
    border-bottom: 2px solid #0B243E;
    color: #0B243E;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
}

.table tbody tr[b-fes3ruy0vg] {
    transition: background-color 0.2s ease;
}

.table tbody tr:hover[b-fes3ruy0vg] {
    background-color: rgba(11, 36, 62, 0.05);
}

.table tbody td[b-fes3ruy0vg] {
    vertical-align: middle;
    padding: 1rem 0.75rem;
}

.table tbody td code[b-fes3ruy0vg] {
    background-color: #f8f9fa;
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
    font-size: 0.9rem;
    color: #0B243E;
}

/* Badge styling */
.badge[b-fes3ruy0vg] {
    padding: 0.4rem 0.8rem;
    font-weight: 500;
    font-size: 0.85rem;
}

.badge.bg-success[b-fes3ruy0vg] {
    background-color: #28a745 !important;
}

.badge.bg-danger[b-fes3ruy0vg] {
    background-color: #dc3545 !important;
}

.badge.bg-secondary[b-fes3ruy0vg] {
    background-color: #6c757d !important;
}

.badge.bg-info[b-fes3ruy0vg] {
    background-color: #17a2b8 !important;
}

.badge.bg-warning[b-fes3ruy0vg] {
    background-color: #ffc107 !important;
}

/* Alert styling */
.alert[b-fes3ruy0vg] {
    border-radius: 8px;
    border: none;
}

.alert-danger[b-fes3ruy0vg] {
    background-color: #f8d7da;
    color: #721c24;
}

.alert-success[b-fes3ruy0vg] {
    background-color: #d4edda;
    color: #155724;
}

.alert-info[b-fes3ruy0vg] {
    background-color: #d1ecf1;
    color: #0c5460;
}

/* Button styling */
.btn[b-fes3ruy0vg] {
    border-radius: 6px;
    padding: 0.5rem 1.25rem;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn-primary[b-fes3ruy0vg] {
    background-color: #0B243E;
    border-color: #0B243E;
}

.btn-primary:hover[b-fes3ruy0vg] {
    background-color: #1e4d7b;
    border-color: #1e4d7b;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(11, 36, 62, 0.2);
}

.btn-success[b-fes3ruy0vg] {
    background-color: #28a745;
    border-color: #28a745;
}

.btn-success:hover[b-fes3ruy0vg] {
    background-color: #218838;
    border-color: #1e7e34;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(40, 167, 69, 0.2);
}

.btn-outline-secondary:hover[b-fes3ruy0vg] {
    background-color: #0B243E;
    border-color: #0B243E;
}

.btn-outline-primary[b-fes3ruy0vg] {
    color: #0B243E;
    border-color: #0B243E;
}

.btn-outline-primary:hover[b-fes3ruy0vg] {
    background-color: #0B243E;
    border-color: #0B243E;
    color: white;
}

.btn svg[b-fes3ruy0vg] {
    vertical-align: middle;
}

/* Pulsanti azione lista utenti: sola icona, quadrati e allineati.
   L'etichetta testuale vive nel tooltip (title) e in aria-label. */
.user-action-btn[b-fes3ruy0vg] {
    width: 34px;
    height: 34px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Modal styling */
.modal-header.bg-primary[b-fes3ruy0vg] {
    background: linear-gradient(135deg, #0B243E 0%, #1e4d7b 100%) !important;
}

.modal-header.bg-success[b-fes3ruy0vg] {
    background: linear-gradient(135deg, #28a745 0%, #218838 100%) !important;
}

.modal-content[b-fes3ruy0vg] {
    border: none;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}

.modal-header[b-fes3ruy0vg] {
    padding: 1.25rem 1.5rem;
}

.modal-header .modal-title[b-fes3ruy0vg] {
    font-weight: 600;
}

.modal-body[b-fes3ruy0vg] {
    padding: 1.5rem;
}

.modal-footer[b-fes3ruy0vg] {
    border-top: 1px solid #e9ecef;
    padding: 1rem 1.5rem;
}

/* Loading spinner */
.spinner-border[b-fes3ruy0vg] {
    vertical-align: middle;
}

/* Responsive adjustments */
@media (max-width: 767.98px) {
    .container-fluid[b-fes3ruy0vg] {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    .card-body[b-fes3ruy0vg] {
        padding: 1rem;
    }

    .table[b-fes3ruy0vg] {
        font-size: 0.875rem;
    }

    .table tbody td[b-fes3ruy0vg] {
        padding: 0.75rem 0.5rem;
    }

    .nav-tabs .nav-link[b-fes3ruy0vg] {
        padding: 0.5rem 1rem;
        font-size: 0.9rem;
    }
}
/* /Components/Pages/TenantAdministration.razor.rz.scp.css */
/* TenantAdministration page styles */

.container-fluid[b-8t297kdanv] {
    max-width: 1400px;
    margin: 0 auto;
}

/* Card styling */
.card[b-8t297kdanv] {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.3s ease;
}

.card:hover[b-8t297kdanv] {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.card-header[b-8t297kdanv] {
    border-radius: 8px 8px 0 0 !important;
    padding: 1rem 1.25rem;
    font-weight: 600;
}

.card-header.bg-success[b-8t297kdanv] {
    background-color: #28a745 !important;
}

.card-header.bg-light[b-8t297kdanv] {
    background-color: #f8f9fa !important;
    color: #0B243E;
}

/* Form styling */
.form-label[b-8t297kdanv] {
    font-weight: 500;
    color: #495057;
    margin-bottom: 0.5rem;
}

.form-control:focus[b-8t297kdanv],
.form-select:focus[b-8t297kdanv] {
    border-color: #0B243E;
    box-shadow: 0 0 0 0.2rem rgba(11, 36, 62, 0.25);
}

.form-control:disabled[b-8t297kdanv] {
    background-color: #e9ecef;
    opacity: 0.7;
}

/* Statistics section */
.stat-item[b-8t297kdanv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 0;
    border-bottom: 1px solid #e9ecef;
}

.stat-item:last-child[b-8t297kdanv] {
    border-bottom: none;
}

.stat-label[b-8t297kdanv] {
    font-weight: 500;
    color: #6c757d;
    font-size: 0.9rem;
}

.stat-value[b-8t297kdanv] {
    font-weight: 700;
    font-size: 1.5rem;
    color: #0B243E;
}

.stat-value.text-success[b-8t297kdanv] {
    color: #28a745 !important;
}

.stat-value.text-danger[b-8t297kdanv] {
    color: #dc3545 !important;
}

.stat-value.text-info[b-8t297kdanv] {
    color: #17a2b8 !important;
}

/* Table styling */
.table[b-8t297kdanv] {
    margin-bottom: 0;
}

.table thead th[b-8t297kdanv] {
    background-color: #f8f9fa;
    border-bottom: 2px solid #0B243E;
    color: #0B243E;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
}

.table tbody tr[b-8t297kdanv] {
    transition: background-color 0.2s ease;
}

.table tbody tr:hover[b-8t297kdanv] {
    background-color: rgba(11, 36, 62, 0.05);
}

.table tbody td[b-8t297kdanv] {
    vertical-align: middle;
    padding: 1rem 0.75rem;
}

/* Badge styling */
.badge[b-8t297kdanv] {
    padding: 0.4rem 0.8rem;
    font-weight: 500;
    font-size: 0.85rem;
}

.badge.bg-success[b-8t297kdanv] {
    background-color: #28a745 !important;
}

.badge.bg-danger[b-8t297kdanv] {
    background-color: #dc3545 !important;
}

.badge.bg-info[b-8t297kdanv] {
    background-color: #17a2b8 !important;
}

.badge.bg-warning[b-8t297kdanv] {
    background-color: #ffc107 !important;
}

.badge.bg-secondary[b-8t297kdanv] {
    background-color: #6c757d !important;
}

/* Alert styling */
.alert[b-8t297kdanv] {
    border-radius: 8px;
    border: none;
}

.alert-danger[b-8t297kdanv] {
    background-color: #f8d7da;
    color: #721c24;
}

.alert-success[b-8t297kdanv] {
    background-color: #d4edda;
    color: #155724;
}

.alert-info[b-8t297kdanv] {
    background-color: #d1ecf1;
    color: #0c5460;
}

/* Button styling */
.btn[b-8t297kdanv] {
    border-radius: 6px;
    padding: 0.5rem 1.25rem;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn-success[b-8t297kdanv] {
    background-color: #28a745;
    border-color: #28a745;
}

.btn-success:hover[b-8t297kdanv] {
    background-color: #218838;
    border-color: #1e7e34;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(40, 167, 69, 0.2);
}

.btn-outline-secondary:hover[b-8t297kdanv] {
    background-color: #0B243E;
    border-color: #0B243E;
}

.btn-outline-primary[b-8t297kdanv] {
    color: #0B243E;
    border-color: #0B243E;
}

.btn-outline-primary:hover[b-8t297kdanv] {
    background-color: #0B243E;
    border-color: #0B243E;
    color: white;
}

.btn svg[b-8t297kdanv] {
    vertical-align: middle;
}

/* Loading spinner */
.spinner-border[b-8t297kdanv] {
    vertical-align: middle;
}

/* Responsive adjustments */
@media (max-width: 767.98px) {
    .container-fluid[b-8t297kdanv] {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    .card-body[b-8t297kdanv] {
        padding: 1rem;
    }

    .table[b-8t297kdanv] {
        font-size: 0.875rem;
    }

    .table tbody td[b-8t297kdanv] {
        padding: 0.75rem 0.5rem;
    }

    .stat-value[b-8t297kdanv] {
        font-size: 1.25rem;
    }
}
/* /Components/Pages/Warehouse/ArticleChildCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-219n0ou1ln] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-219n0ou1ln] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-219n0ou1ln] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-219n0ou1ln] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-219n0ou1ln] { opacity: 1; }

.form-section[b-219n0ou1ln] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-219n0ou1ln] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-219n0ou1ln] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-219n0ou1ln] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-219n0ou1ln] { display: flex; flex-direction: column; }
.form-group-wide[b-219n0ou1ln] { grid-column: span 2; }
.form-label[b-219n0ou1ln] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-219n0ou1ln] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-219n0ou1ln] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-219n0ou1ln]::placeholder { color: var(--color-gray-400); }
.btn-action[b-219n0ou1ln] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-219n0ou1ln] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-219n0ou1ln] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-219n0ou1ln] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-219n0ou1ln] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-219n0ou1ln] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-219n0ou1ln] { grid-template-columns: 1fr; }
    .form-group-wide[b-219n0ou1ln] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/ArticleChildEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-r2f1qzospm] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-r2f1qzospm] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-r2f1qzospm] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-r2f1qzospm] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-r2f1qzospm] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-r2f1qzospm] { opacity: 1; }

.loading-state[b-r2f1qzospm] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-r2f1qzospm] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-r2f1qzospm] { opacity: 0.4; }
.empty-state-text[b-r2f1qzospm] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-r2f1qzospm] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-r2f1qzospm] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-r2f1qzospm] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-r2f1qzospm] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-r2f1qzospm] { display: flex; flex-direction: column; }
.form-group-wide[b-r2f1qzospm] { grid-column: span 2; }
.form-label[b-r2f1qzospm] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-r2f1qzospm] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-r2f1qzospm] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-r2f1qzospm]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-r2f1qzospm] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-r2f1qzospm] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-r2f1qzospm] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-r2f1qzospm] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-r2f1qzospm] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-r2f1qzospm] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-r2f1qzospm] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-r2f1qzospm] { grid-template-columns: 1fr; }
    .form-group-wide[b-r2f1qzospm] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/ArticleChildList.razor.rz.scp.css */
/* ===========================
   AgentEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-aobunf308o] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-aobunf308o] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    background-color: var(--color-gray-100);
    padding: 1px var(--space-2);
    color: var(--color-primary);
    opacity: 0.7;
}

/* Alert Bars */
.alert-bar[b-aobunf308o] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-aobunf308o] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-aobunf308o] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-aobunf308o] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-aobunf308o] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-aobunf308o] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-aobunf308o] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-aobunf308o] {
    opacity: 0.4;
}

.empty-state-text[b-aobunf308o] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-aobunf308o] {
    margin-bottom: var(--space-6);
    padding: var(--space-6);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-header[b-aobunf308o] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-4);
}

.section-title[b-aobunf308o] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-header .section-title[b-aobunf308o] {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.section-title svg[b-aobunf308o] {
    color: var(--color-primary);
    opacity: 0.6;
}

/* Form Grid */
.form-grid[b-aobunf308o] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-4);
}

.form-group[b-aobunf308o] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-aobunf308o] {
    grid-column: 1 / -1;
}

.form-label[b-aobunf308o] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-aobunf308o] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-aobunf308o] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control-static[b-aobunf308o] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-weight: var(--font-weight-medium);
}

/* Form Actions */
.form-actions[b-aobunf308o] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-8);
    padding: var(--space-4) 0;
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

.form-actions .btn[b-aobunf308o] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
}

/* Buttons */
.btn-action[b-aobunf308o] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-aobunf308o] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    box-shadow: var(--shadow-sm);
}

.btn-sm[b-aobunf308o] {
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
}

.btn-outline-primary[b-aobunf308o] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-aobunf308o] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* ─── Detail Table (AgentContacts) ─────────────────────── */

.detail-loading[b-aobunf308o] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-4) 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.detail-empty[b-aobunf308o] {
    padding: var(--space-4) 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    text-align: center;
}

.detail-table[b-aobunf308o] {
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
}

.detail-table-header[b-aobunf308o] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    background-color: var(--color-gray-100);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.detail-table-row[b-aobunf308o] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    font-size: var(--font-size-sm);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.detail-table-row:hover[b-aobunf308o] {
    background-color: rgba(11, 36, 62, 0.02);
}

.detail-col[b-aobunf308o] {
    min-width: 0;
}

.detail-col-indicator[b-aobunf308o] {
    flex: 0 0 90px;
}

.detail-col-code[b-aobunf308o] {
    flex: 0 0 140px;
}

.detail-col-name[b-aobunf308o] {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.detail-col-actions[b-aobunf308o] {
    flex: 0 0 40px;
    display: flex;
    justify-content: flex-end;
}

.item-code[b-aobunf308o] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

/* Badge Indicator */
.badge-indicator[b-aobunf308o] {
    display: inline-block;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.3px;
}

.badge-cliente[b-aobunf308o] {
    background-color: #e3f2fd;
    color: #1565c0;
}

.badge-fornitore[b-aobunf308o] {
    background-color: #fff3e0;
    color: #e65100;
}

/* Icon Buttons */
.btn-icon[b-aobunf308o] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-aobunf308o] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
}

.btn-icon-danger:hover[b-aobunf308o] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.btn-icon-sm[b-aobunf308o] {
    width: 30px;
    height: 30px;
}

/* Overlay & Dialog */
.overlay[b-aobunf308o] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-aobunf308o] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.dialog-wide[b-aobunf308o] {
    max-width: 500px;
    text-align: left;
}

.confirm-icon[b-aobunf308o] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-aobunf308o] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-aobunf308o] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-aobunf308o] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-aobunf308o] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-aobunf308o] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Dialog Form */
.dialog-form[b-aobunf308o] {
    display: flex;
    gap: var(--space-4);
    margin-top: var(--space-4);
}

.dialog-form .form-group[b-aobunf308o] {
    flex: 1;
}

/* Validation */
[b-aobunf308o] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-aobunf308o] {
        grid-template-columns: 1fr;
    }

    .form-actions[b-aobunf308o] {
        flex-direction: column;
    }

    .detail-table-header[b-aobunf308o],
    .detail-table-row[b-aobunf308o] {
        flex-wrap: wrap;
    }

    .dialog-form[b-aobunf308o] {
        flex-direction: column;
    }
}
/* /Components/Pages/Warehouse/BreedCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-0dhphqztym] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-0dhphqztym] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-0dhphqztym] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-0dhphqztym] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-0dhphqztym] { opacity: 1; }

.form-section[b-0dhphqztym] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-0dhphqztym] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-0dhphqztym] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-0dhphqztym] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-0dhphqztym] { display: flex; flex-direction: column; }
.form-group-wide[b-0dhphqztym] { grid-column: span 2; }
.form-label[b-0dhphqztym] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-0dhphqztym] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-0dhphqztym] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-0dhphqztym]::placeholder { color: var(--color-gray-400); }
.btn-action[b-0dhphqztym] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-0dhphqztym] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-0dhphqztym] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-0dhphqztym] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-0dhphqztym] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-0dhphqztym] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-0dhphqztym] { grid-template-columns: 1fr; }
    .form-group-wide[b-0dhphqztym] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/BreedEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-px2ac93czv] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-px2ac93czv] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-px2ac93czv] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-px2ac93czv] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-px2ac93czv] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-px2ac93czv] { opacity: 1; }

.loading-state[b-px2ac93czv] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-px2ac93czv] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-px2ac93czv] { opacity: 0.4; }
.empty-state-text[b-px2ac93czv] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-px2ac93czv] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-px2ac93czv] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-px2ac93czv] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-px2ac93czv] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-px2ac93czv] { display: flex; flex-direction: column; }
.form-group-wide[b-px2ac93czv] { grid-column: span 2; }
.form-label[b-px2ac93czv] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-px2ac93czv] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-px2ac93czv] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-px2ac93czv]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-px2ac93czv] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-px2ac93czv] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-px2ac93czv] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-px2ac93czv] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-px2ac93czv] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-px2ac93czv] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-px2ac93czv] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-px2ac93czv] { grid-template-columns: 1fr; }
    .form-group-wide[b-px2ac93czv] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/BreedList.razor.rz.scp.css */
/* ===========================
   ProductGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-joc707gxcl] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-joc707gxcl] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-joc707gxcl] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-joc707gxcl] { background-color: var(--color-action-active); }

.alert-bar[b-joc707gxcl] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-joc707gxcl] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-joc707gxcl] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-joc707gxcl] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-joc707gxcl] { opacity: 1; }

.search-bar[b-joc707gxcl] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-joc707gxcl] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-joc707gxcl] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-joc707gxcl] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-joc707gxcl]::placeholder { color: var(--text-muted); }
.search-clear[b-joc707gxcl] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-joc707gxcl] { color: var(--color-primary); }
.search-count[b-joc707gxcl] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-joc707gxcl] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-joc707gxcl] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-joc707gxcl] { opacity: 0.4; }
.empty-state-text[b-joc707gxcl] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-joc707gxcl] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-joc707gxcl] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-joc707gxcl] { border-bottom: none; }
.item-row:hover[b-joc707gxcl] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-joc707gxcl] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-joc707gxcl] { flex: 1; min-width: 0; }
.item-name[b-joc707gxcl] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-joc707gxcl] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-joc707gxcl] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-joc707gxcl] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-joc707gxcl] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-joc707gxcl] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-joc707gxcl] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-joc707gxcl] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-joc707gxcl] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-joc707gxcl] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-joc707gxcl] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-joc707gxcl] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-joc707gxcl] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-joc707gxcl] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-joc707gxcl] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-joc707gxcl] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-joc707gxcl] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-joc707gxcl] { flex-wrap: wrap; }
    .item-actions[b-joc707gxcl] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Warehouse/CategoryCreate.razor.rz.scp.css */
/* ===========================
   CategoryCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-2rjsed8mgu] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-2rjsed8mgu] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-2rjsed8mgu] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-2rjsed8mgu] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-2rjsed8mgu] { opacity: 1; }

.form-section[b-2rjsed8mgu] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-2rjsed8mgu] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-2rjsed8mgu] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-2rjsed8mgu] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-2rjsed8mgu] { display: flex; flex-direction: column; }
.form-group-wide[b-2rjsed8mgu] { grid-column: span 2; }
.form-label[b-2rjsed8mgu] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-2rjsed8mgu] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-2rjsed8mgu] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-2rjsed8mgu]::placeholder { color: var(--color-gray-400); }
.btn-action[b-2rjsed8mgu] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-2rjsed8mgu] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-2rjsed8mgu] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-2rjsed8mgu] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-2rjsed8mgu] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-2rjsed8mgu] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-2rjsed8mgu] { grid-template-columns: 1fr; }
    .form-group-wide[b-2rjsed8mgu] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/CategoryEdit.razor.rz.scp.css */
/* ===========================
   CategoryEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-d4yob8kobc] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-d4yob8kobc] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-d4yob8kobc] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-d4yob8kobc] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-d4yob8kobc] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-d4yob8kobc] { opacity: 1; }

.loading-state[b-d4yob8kobc] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-d4yob8kobc] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-d4yob8kobc] { opacity: 0.4; }
.empty-state-text[b-d4yob8kobc] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-d4yob8kobc] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-d4yob8kobc] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-d4yob8kobc] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-d4yob8kobc] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-d4yob8kobc] { display: flex; flex-direction: column; }
.form-group-wide[b-d4yob8kobc] { grid-column: span 2; }
.form-label[b-d4yob8kobc] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-d4yob8kobc] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-d4yob8kobc] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-d4yob8kobc]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-d4yob8kobc] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-d4yob8kobc] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-d4yob8kobc] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-d4yob8kobc] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-d4yob8kobc] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-d4yob8kobc] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-d4yob8kobc] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-d4yob8kobc] { grid-template-columns: 1fr; }
    .form-group-wide[b-d4yob8kobc] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/CategoryList.razor.rz.scp.css */
/* ===========================
   CategoryList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-zi7xsfegvk] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-zi7xsfegvk] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-zi7xsfegvk] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-zi7xsfegvk] { background-color: var(--color-action-active); }

.alert-bar[b-zi7xsfegvk] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-zi7xsfegvk] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-zi7xsfegvk] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-zi7xsfegvk] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-zi7xsfegvk] { opacity: 1; }

.search-bar[b-zi7xsfegvk] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-zi7xsfegvk] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-zi7xsfegvk] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-zi7xsfegvk] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-zi7xsfegvk]::placeholder { color: var(--text-muted); }
.search-clear[b-zi7xsfegvk] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-zi7xsfegvk] { color: var(--color-primary); }
.search-count[b-zi7xsfegvk] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-zi7xsfegvk] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-zi7xsfegvk] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-zi7xsfegvk] { opacity: 0.4; }
.empty-state-text[b-zi7xsfegvk] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-zi7xsfegvk] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-zi7xsfegvk] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-zi7xsfegvk] { border-bottom: none; }
.item-row:hover[b-zi7xsfegvk] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-zi7xsfegvk] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-zi7xsfegvk] { flex: 1; min-width: 0; }
.item-name[b-zi7xsfegvk] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-zi7xsfegvk] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-zi7xsfegvk] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-zi7xsfegvk] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-zi7xsfegvk] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-zi7xsfegvk] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-zi7xsfegvk] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-zi7xsfegvk] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-zi7xsfegvk] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-zi7xsfegvk] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-zi7xsfegvk] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-zi7xsfegvk] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-zi7xsfegvk] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-zi7xsfegvk] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-zi7xsfegvk] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-zi7xsfegvk] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-zi7xsfegvk] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-zi7xsfegvk] { flex-wrap: wrap; }
    .item-actions[b-zi7xsfegvk] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Warehouse/CeeStampCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-y5pgz7xdsj] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-y5pgz7xdsj] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-y5pgz7xdsj] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-y5pgz7xdsj] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-y5pgz7xdsj] { opacity: 1; }

.form-section[b-y5pgz7xdsj] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-y5pgz7xdsj] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-y5pgz7xdsj] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-y5pgz7xdsj] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-y5pgz7xdsj] { display: flex; flex-direction: column; }
.form-group-wide[b-y5pgz7xdsj] { grid-column: span 2; }
.form-label[b-y5pgz7xdsj] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-y5pgz7xdsj] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-y5pgz7xdsj] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-y5pgz7xdsj]::placeholder { color: var(--color-gray-400); }
.btn-action[b-y5pgz7xdsj] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-y5pgz7xdsj] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-y5pgz7xdsj] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-y5pgz7xdsj] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-y5pgz7xdsj] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-y5pgz7xdsj] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-y5pgz7xdsj] { grid-template-columns: 1fr; }
    .form-group-wide[b-y5pgz7xdsj] { grid-column: span 1; }
}

/* ─── Classi usate dal markup di CeeStampCreate e non presenti nel foglio di partenza ─── */

/* Nota sopra la griglia: spiega che la chiave non sarà più modificabile. Sta fuori dalla
   .form-grid, quindi non occupa una cella. */
.form-hint[b-y5pgz7xdsj] {
    margin: 0 0 var(--space-4) 0;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    line-height: 1.5;
}
/* /Components/Pages/Warehouse/CeeStampEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-spvvo4a7s8] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-spvvo4a7s8] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-spvvo4a7s8] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-spvvo4a7s8] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-spvvo4a7s8] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-spvvo4a7s8] { opacity: 1; }

.loading-state[b-spvvo4a7s8] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-spvvo4a7s8] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-spvvo4a7s8] { opacity: 0.4; }
.empty-state-text[b-spvvo4a7s8] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-spvvo4a7s8] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-spvvo4a7s8] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-spvvo4a7s8] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-spvvo4a7s8] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-spvvo4a7s8] { display: flex; flex-direction: column; }
.form-group-wide[b-spvvo4a7s8] { grid-column: span 2; }
.form-label[b-spvvo4a7s8] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-spvvo4a7s8] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-spvvo4a7s8] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-spvvo4a7s8]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-spvvo4a7s8] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-spvvo4a7s8] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-spvvo4a7s8] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-spvvo4a7s8] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-spvvo4a7s8] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-spvvo4a7s8] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-spvvo4a7s8] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-spvvo4a7s8] { grid-template-columns: 1fr; }
    .form-group-wide[b-spvvo4a7s8] { grid-column: span 1; }
}

/* ─── Classi usate dal markup di CeeStampEdit e non presenti nel foglio di partenza ─── */

/* Nota sopra la griglia: spiega che la chiave è in sola lettura. */
.form-hint[b-spvvo4a7s8] {
    margin: 0 0 var(--space-4) 0;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    line-height: 1.5;
}

/* Codice sotto il valore in sola lettura, come la .lookup-hint di LookupField. */
.form-hint-inline[b-spvvo4a7s8] {
    margin-top: var(--space-1);
    font-size: var(--font-size-xs);
    font-family: var(--font-mono);
    color: var(--text-muted);
}
/* /Components/Pages/Warehouse/CeeStampList.razor.rz.scp.css */
/* ===========================
   ProductGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-i0g01tuk5f] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-i0g01tuk5f] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-i0g01tuk5f] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-i0g01tuk5f] { background-color: var(--color-action-active); }

.alert-bar[b-i0g01tuk5f] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-i0g01tuk5f] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-i0g01tuk5f] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-i0g01tuk5f] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-i0g01tuk5f] { opacity: 1; }

.search-bar[b-i0g01tuk5f] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-i0g01tuk5f] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-i0g01tuk5f] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-i0g01tuk5f] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-i0g01tuk5f]::placeholder { color: var(--text-muted); }
.search-clear[b-i0g01tuk5f] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-i0g01tuk5f] { color: var(--color-primary); }
.search-count[b-i0g01tuk5f] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-i0g01tuk5f] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-i0g01tuk5f] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-i0g01tuk5f] { opacity: 0.4; }
.empty-state-text[b-i0g01tuk5f] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-i0g01tuk5f] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-i0g01tuk5f] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-i0g01tuk5f] { border-bottom: none; }
.item-row:hover[b-i0g01tuk5f] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-i0g01tuk5f] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-i0g01tuk5f] { flex: 1; min-width: 0; }
.item-name[b-i0g01tuk5f] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-i0g01tuk5f] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-i0g01tuk5f] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-i0g01tuk5f] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-i0g01tuk5f] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-i0g01tuk5f] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-i0g01tuk5f] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-i0g01tuk5f] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-i0g01tuk5f] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-i0g01tuk5f] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-i0g01tuk5f] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-i0g01tuk5f] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-i0g01tuk5f] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-i0g01tuk5f] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-i0g01tuk5f] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-i0g01tuk5f] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-i0g01tuk5f] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-i0g01tuk5f] { flex-wrap: wrap; }
    .item-actions[b-i0g01tuk5f] { order: 6; margin-left: auto; }
}

/* ─── Classi usate dal markup di CeeStampList e non presenti nel foglio di partenza ─── */

/* Dettaglio in riga (tipo bollo, nazione): stesso peso del codice, colore attenuato. */
.item-detail[b-i0g01tuk5f] {
    color: var(--text-secondary);
}

/* Separatore fra le voci di .item-meta. */
.meta-separator[b-i0g01tuk5f] {
    color: var(--color-gray-300);
}

/* Variante compatta usata dal pulsante "Azzera ricerca" nello stato vuoto. */
.btn-sm[b-i0g01tuk5f] {
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
}
/* /Components/Pages/Warehouse/ClassCreate.razor.rz.scp.css */
/* ===========================
   ClassCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-bzcbcn8xus] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-bzcbcn8xus] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-bzcbcn8xus] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-bzcbcn8xus] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-bzcbcn8xus] { opacity: 1; }

.form-section[b-bzcbcn8xus] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-bzcbcn8xus] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-bzcbcn8xus] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-bzcbcn8xus] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-bzcbcn8xus] { display: flex; flex-direction: column; }
.form-group-wide[b-bzcbcn8xus] { grid-column: span 2; }
.form-label[b-bzcbcn8xus] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-bzcbcn8xus] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-bzcbcn8xus] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-bzcbcn8xus]::placeholder { color: var(--color-gray-400); }
.btn-action[b-bzcbcn8xus] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-bzcbcn8xus] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-bzcbcn8xus] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-bzcbcn8xus] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-bzcbcn8xus] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-bzcbcn8xus] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-bzcbcn8xus] { grid-template-columns: 1fr; }
    .form-group-wide[b-bzcbcn8xus] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/ClassEdit.razor.rz.scp.css */
/* ===========================
   ClassEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-clzxnrt1ta] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-clzxnrt1ta] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-clzxnrt1ta] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-clzxnrt1ta] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-clzxnrt1ta] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-clzxnrt1ta] { opacity: 1; }

.loading-state[b-clzxnrt1ta] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-clzxnrt1ta] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-clzxnrt1ta] { opacity: 0.4; }
.empty-state-text[b-clzxnrt1ta] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-clzxnrt1ta] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-clzxnrt1ta] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-clzxnrt1ta] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-clzxnrt1ta] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-clzxnrt1ta] { display: flex; flex-direction: column; }
.form-group-wide[b-clzxnrt1ta] { grid-column: span 2; }
.form-label[b-clzxnrt1ta] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-clzxnrt1ta] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-clzxnrt1ta] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-clzxnrt1ta]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-clzxnrt1ta] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-clzxnrt1ta] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-clzxnrt1ta] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-clzxnrt1ta] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-clzxnrt1ta] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-clzxnrt1ta] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-clzxnrt1ta] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-clzxnrt1ta] { grid-template-columns: 1fr; }
    .form-group-wide[b-clzxnrt1ta] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/ClassList.razor.rz.scp.css */
/* ===========================
   ClassList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-543u3i2ofk] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-543u3i2ofk] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-543u3i2ofk] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-543u3i2ofk] { background-color: var(--color-action-active); }

.alert-bar[b-543u3i2ofk] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-543u3i2ofk] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-543u3i2ofk] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-543u3i2ofk] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-543u3i2ofk] { opacity: 1; }

.search-bar[b-543u3i2ofk] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-543u3i2ofk] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-543u3i2ofk] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-543u3i2ofk] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-543u3i2ofk]::placeholder { color: var(--text-muted); }
.search-clear[b-543u3i2ofk] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-543u3i2ofk] { color: var(--color-primary); }
.search-count[b-543u3i2ofk] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-543u3i2ofk] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-543u3i2ofk] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-543u3i2ofk] { opacity: 0.4; }
.empty-state-text[b-543u3i2ofk] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-543u3i2ofk] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-543u3i2ofk] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-543u3i2ofk] { border-bottom: none; }
.item-row:hover[b-543u3i2ofk] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-543u3i2ofk] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-543u3i2ofk] { flex: 1; min-width: 0; }
.item-name[b-543u3i2ofk] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-543u3i2ofk] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-543u3i2ofk] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-543u3i2ofk] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-543u3i2ofk] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-543u3i2ofk] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-543u3i2ofk] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-543u3i2ofk] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-543u3i2ofk] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-543u3i2ofk] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-543u3i2ofk] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-543u3i2ofk] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-543u3i2ofk] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-543u3i2ofk] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-543u3i2ofk] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-543u3i2ofk] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-543u3i2ofk] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-543u3i2ofk] { flex-wrap: wrap; }
    .item-actions[b-543u3i2ofk] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Warehouse/DisciplinaryCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-dhdsrgiug5] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-dhdsrgiug5] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-dhdsrgiug5] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-dhdsrgiug5] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-dhdsrgiug5] { opacity: 1; }

.form-section[b-dhdsrgiug5] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-dhdsrgiug5] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-dhdsrgiug5] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-dhdsrgiug5] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-dhdsrgiug5] { display: flex; flex-direction: column; }
.form-group-wide[b-dhdsrgiug5] { grid-column: span 2; }
.form-label[b-dhdsrgiug5] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-dhdsrgiug5] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-dhdsrgiug5] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-dhdsrgiug5]::placeholder { color: var(--color-gray-400); }
.btn-action[b-dhdsrgiug5] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-dhdsrgiug5] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-dhdsrgiug5] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-dhdsrgiug5] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-dhdsrgiug5] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-dhdsrgiug5] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-dhdsrgiug5] { grid-template-columns: 1fr; }
    .form-group-wide[b-dhdsrgiug5] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/DisciplinaryEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-d1pagdb5rz] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-d1pagdb5rz] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-d1pagdb5rz] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-d1pagdb5rz] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-d1pagdb5rz] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-d1pagdb5rz] { opacity: 1; }

.loading-state[b-d1pagdb5rz] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-d1pagdb5rz] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-d1pagdb5rz] { opacity: 0.4; }
.empty-state-text[b-d1pagdb5rz] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-d1pagdb5rz] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-d1pagdb5rz] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-d1pagdb5rz] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-d1pagdb5rz] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-d1pagdb5rz] { display: flex; flex-direction: column; }
.form-group-wide[b-d1pagdb5rz] { grid-column: span 2; }
.form-label[b-d1pagdb5rz] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-d1pagdb5rz] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-d1pagdb5rz] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-d1pagdb5rz]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-d1pagdb5rz] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-d1pagdb5rz] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-d1pagdb5rz] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-d1pagdb5rz] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-d1pagdb5rz] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-d1pagdb5rz] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-d1pagdb5rz] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-d1pagdb5rz] { grid-template-columns: 1fr; }
    .form-group-wide[b-d1pagdb5rz] { grid-column: span 1; }
}
/* ===========================
   AgentEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-d1pagdb5rz] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-d1pagdb5rz] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    background-color: var(--color-gray-100);
    padding: 1px var(--space-2);
    color: var(--color-primary);
    opacity: 0.7;
}

/* Alert Bars */
.alert-bar[b-d1pagdb5rz] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-d1pagdb5rz] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-d1pagdb5rz] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-d1pagdb5rz] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-d1pagdb5rz] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-d1pagdb5rz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-d1pagdb5rz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-d1pagdb5rz] {
    opacity: 0.4;
}

.empty-state-text[b-d1pagdb5rz] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-d1pagdb5rz] {
    margin-bottom: var(--space-6);
    padding: var(--space-6);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-header[b-d1pagdb5rz] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-4);
}

.section-title[b-d1pagdb5rz] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-header .section-title[b-d1pagdb5rz] {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.section-title svg[b-d1pagdb5rz] {
    color: var(--color-primary);
    opacity: 0.6;
}

/* Form Grid */
.form-grid[b-d1pagdb5rz] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-4);
}

.form-group[b-d1pagdb5rz] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-d1pagdb5rz] {
    grid-column: 1 / -1;
}

.form-label[b-d1pagdb5rz] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-d1pagdb5rz] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-d1pagdb5rz] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control-static[b-d1pagdb5rz] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-weight: var(--font-weight-medium);
}

/* Buttons */
.btn-action[b-d1pagdb5rz] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-d1pagdb5rz] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    box-shadow: var(--shadow-sm);
}

.btn-sm[b-d1pagdb5rz] {
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
}

.btn-outline-primary[b-d1pagdb5rz] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-d1pagdb5rz] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* ─── Detail Table (AgentContacts) ─────────────────────── */

.detail-loading[b-d1pagdb5rz] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-4) 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.detail-empty[b-d1pagdb5rz] {
    padding: var(--space-4) 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    text-align: center;
}

.detail-table[b-d1pagdb5rz] {
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
}

.detail-table-header[b-d1pagdb5rz] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    background-color: var(--color-gray-100);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.detail-table-row[b-d1pagdb5rz] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    font-size: var(--font-size-sm);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.detail-table-row:hover[b-d1pagdb5rz] {
    background-color: rgba(11, 36, 62, 0.02);
}

.detail-col[b-d1pagdb5rz] {
    min-width: 0;
}

.detail-col-indicator[b-d1pagdb5rz] {
    flex: 0 0 90px;
}

.detail-col-code[b-d1pagdb5rz] {
    flex: 0 0 140px;
}

.detail-col-name[b-d1pagdb5rz] {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.detail-col-actions[b-d1pagdb5rz] {
    flex: 0 0 40px;
    display: flex;
    justify-content: flex-end;
}

.item-code[b-d1pagdb5rz] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

/* Badge Indicator */
.badge-indicator[b-d1pagdb5rz] {
    display: inline-block;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.3px;
}

.badge-cliente[b-d1pagdb5rz] {
    background-color: #e3f2fd;
    color: #1565c0;
}

.badge-fornitore[b-d1pagdb5rz] {
    background-color: #fff3e0;
    color: #e65100;
}

/* Icon Buttons */
.btn-icon[b-d1pagdb5rz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-d1pagdb5rz] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
}

.btn-icon-danger:hover[b-d1pagdb5rz] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.btn-icon-sm[b-d1pagdb5rz] {
    width: 30px;
    height: 30px;
}

/* Overlay & Dialog */
.overlay[b-d1pagdb5rz] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-d1pagdb5rz] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.dialog-wide[b-d1pagdb5rz] {
    max-width: 500px;
    text-align: left;
}

.confirm-icon[b-d1pagdb5rz] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-d1pagdb5rz] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-d1pagdb5rz] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-d1pagdb5rz] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-d1pagdb5rz] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-d1pagdb5rz] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Dialog Form */
.dialog-form[b-d1pagdb5rz] {
    display: flex;
    gap: var(--space-4);
    margin-top: var(--space-4);
}

.dialog-form .form-group[b-d1pagdb5rz] {
    flex: 1;
}

/* Validation */
[b-d1pagdb5rz] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-d1pagdb5rz] {
        grid-template-columns: 1fr;
    }
    .detail-table-header[b-d1pagdb5rz],
    .detail-table-row[b-d1pagdb5rz] {
        flex-wrap: wrap;
    }

    .dialog-form[b-d1pagdb5rz] {
        flex-direction: column;
    }
}
/* /Components/Pages/Warehouse/DisciplinaryList.razor.rz.scp.css */
/* ===========================
   ProductGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-k4gbw1iz51] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-k4gbw1iz51] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-k4gbw1iz51] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-k4gbw1iz51] { background-color: var(--color-action-active); }

.alert-bar[b-k4gbw1iz51] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-k4gbw1iz51] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-k4gbw1iz51] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-k4gbw1iz51] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-k4gbw1iz51] { opacity: 1; }

.search-bar[b-k4gbw1iz51] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-k4gbw1iz51] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-k4gbw1iz51] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-k4gbw1iz51] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-k4gbw1iz51]::placeholder { color: var(--text-muted); }
.search-clear[b-k4gbw1iz51] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-k4gbw1iz51] { color: var(--color-primary); }
.search-count[b-k4gbw1iz51] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-k4gbw1iz51] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-k4gbw1iz51] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-k4gbw1iz51] { opacity: 0.4; }
.empty-state-text[b-k4gbw1iz51] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-k4gbw1iz51] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-k4gbw1iz51] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-k4gbw1iz51] { border-bottom: none; }
.item-row:hover[b-k4gbw1iz51] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-k4gbw1iz51] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-k4gbw1iz51] { flex: 1; min-width: 0; }
.item-name[b-k4gbw1iz51] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-k4gbw1iz51] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-k4gbw1iz51] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-k4gbw1iz51] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-k4gbw1iz51] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-k4gbw1iz51] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-k4gbw1iz51] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-k4gbw1iz51] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-k4gbw1iz51] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-k4gbw1iz51] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-k4gbw1iz51] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-k4gbw1iz51] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-k4gbw1iz51] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-k4gbw1iz51] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-k4gbw1iz51] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-k4gbw1iz51] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-k4gbw1iz51] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-k4gbw1iz51] { flex-wrap: wrap; }
    .item-actions[b-k4gbw1iz51] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Warehouse/DisciplinaryRuleCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-fk33jvuqsf] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-fk33jvuqsf] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-fk33jvuqsf] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-fk33jvuqsf] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-fk33jvuqsf] { opacity: 1; }

.form-section[b-fk33jvuqsf] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-fk33jvuqsf] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-fk33jvuqsf] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-fk33jvuqsf] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-fk33jvuqsf] { display: flex; flex-direction: column; }
.form-group-wide[b-fk33jvuqsf] { grid-column: span 2; }
.form-label[b-fk33jvuqsf] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-fk33jvuqsf] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-fk33jvuqsf] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-fk33jvuqsf]::placeholder { color: var(--color-gray-400); }
.btn-action[b-fk33jvuqsf] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-fk33jvuqsf] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-fk33jvuqsf] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-fk33jvuqsf] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-fk33jvuqsf] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-fk33jvuqsf] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-fk33jvuqsf] { grid-template-columns: 1fr; }
    .form-group-wide[b-fk33jvuqsf] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/DisciplinaryRuleEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-3av9xngkmj] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-3av9xngkmj] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-3av9xngkmj] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-3av9xngkmj] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-3av9xngkmj] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-3av9xngkmj] { opacity: 1; }

.loading-state[b-3av9xngkmj] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-3av9xngkmj] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-3av9xngkmj] { opacity: 0.4; }
.empty-state-text[b-3av9xngkmj] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-3av9xngkmj] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-3av9xngkmj] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-3av9xngkmj] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-3av9xngkmj] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-3av9xngkmj] { display: flex; flex-direction: column; }
.form-group-wide[b-3av9xngkmj] { grid-column: span 2; }
.form-label[b-3av9xngkmj] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-3av9xngkmj] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-3av9xngkmj] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-3av9xngkmj]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-3av9xngkmj] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-3av9xngkmj] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-3av9xngkmj] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-3av9xngkmj] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-3av9xngkmj] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-3av9xngkmj] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-3av9xngkmj] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-3av9xngkmj] { grid-template-columns: 1fr; }
    .form-group-wide[b-3av9xngkmj] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/DocumentProgressiveEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-71ccuapfsu] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-71ccuapfsu] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-71ccuapfsu] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-71ccuapfsu] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-71ccuapfsu] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-71ccuapfsu] { opacity: 1; }

.loading-state[b-71ccuapfsu] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-71ccuapfsu] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-71ccuapfsu] { opacity: 0.4; }
.empty-state-text[b-71ccuapfsu] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-71ccuapfsu] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-71ccuapfsu] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-71ccuapfsu] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-71ccuapfsu] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-71ccuapfsu] { display: flex; flex-direction: column; }
.form-group-wide[b-71ccuapfsu] { grid-column: span 2; }
.form-label[b-71ccuapfsu] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-71ccuapfsu] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-71ccuapfsu] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-71ccuapfsu]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-71ccuapfsu] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-71ccuapfsu] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-71ccuapfsu] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-71ccuapfsu] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-71ccuapfsu] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-71ccuapfsu] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-71ccuapfsu] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-71ccuapfsu] { grid-template-columns: 1fr; }
    .form-group-wide[b-71ccuapfsu] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/DocumentProgressiveList.razor.rz.scp.css */
/* ===========================
   ProductGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-sjt2aeezql] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-sjt2aeezql] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-sjt2aeezql] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-sjt2aeezql] { background-color: var(--color-action-active); }

.alert-bar[b-sjt2aeezql] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-sjt2aeezql] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-sjt2aeezql] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-sjt2aeezql] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-sjt2aeezql] { opacity: 1; }

.search-bar[b-sjt2aeezql] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-sjt2aeezql] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-sjt2aeezql] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-sjt2aeezql] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-sjt2aeezql]::placeholder { color: var(--text-muted); }
.search-clear[b-sjt2aeezql] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-sjt2aeezql] { color: var(--color-primary); }
.search-count[b-sjt2aeezql] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-sjt2aeezql] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-sjt2aeezql] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-sjt2aeezql] { opacity: 0.4; }
.empty-state-text[b-sjt2aeezql] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-sjt2aeezql] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-sjt2aeezql] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-sjt2aeezql] { border-bottom: none; }
.item-row:hover[b-sjt2aeezql] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-sjt2aeezql] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-sjt2aeezql] { flex: 1; min-width: 0; }
.item-name[b-sjt2aeezql] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-sjt2aeezql] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-sjt2aeezql] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-sjt2aeezql] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-sjt2aeezql] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-sjt2aeezql] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-sjt2aeezql] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-sjt2aeezql] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-sjt2aeezql] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-sjt2aeezql] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-sjt2aeezql] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-sjt2aeezql] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-sjt2aeezql] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-sjt2aeezql] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-sjt2aeezql] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-sjt2aeezql] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-sjt2aeezql] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-sjt2aeezql] { flex-wrap: wrap; }
    .item-actions[b-sjt2aeezql] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Warehouse/DocumentTextEdit.razor.rz.scp.css */
/* ===========================
   DocumentTextEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-dhyy20ki0e] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-dhyy20ki0e] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-dhyy20ki0e] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-dhyy20ki0e] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-dhyy20ki0e] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-dhyy20ki0e] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-dhyy20ki0e] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-dhyy20ki0e] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-dhyy20ki0e] {
    opacity: 0.4;
}

.empty-state-text[b-dhyy20ki0e] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-dhyy20ki0e] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-dhyy20ki0e] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-dhyy20ki0e] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-dhyy20ki0e] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-dhyy20ki0e] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-dhyy20ki0e] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-dhyy20ki0e] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-dhyy20ki0e] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-dhyy20ki0e] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-dhyy20ki0e]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-dhyy20ki0e] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-dhyy20ki0e] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-dhyy20ki0e] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-dhyy20ki0e] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-dhyy20ki0e] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-dhyy20ki0e] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-dhyy20ki0e] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-dhyy20ki0e] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-dhyy20ki0e] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Warehouse/DocumentTextList.razor.rz.scp.css */
/* ===========================
   DocumentTextList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-xq7cc43cc4] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-xq7cc43cc4] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-xq7cc43cc4] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-xq7cc43cc4] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-xq7cc43cc4] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-xq7cc43cc4] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-xq7cc43cc4] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-xq7cc43cc4] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-xq7cc43cc4] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-xq7cc43cc4] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-xq7cc43cc4] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-xq7cc43cc4] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-xq7cc43cc4] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-xq7cc43cc4]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-xq7cc43cc4] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-xq7cc43cc4] {
    color: var(--color-primary);
}

.search-count[b-xq7cc43cc4] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-xq7cc43cc4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-xq7cc43cc4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-xq7cc43cc4] {
    opacity: 0.4;
}

.empty-state-text[b-xq7cc43cc4] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-xq7cc43cc4] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-xq7cc43cc4] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-xq7cc43cc4] {
    border-bottom: none;
}

.item-row:hover[b-xq7cc43cc4] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-xq7cc43cc4] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-xq7cc43cc4] {
    flex: 1;
    min-width: 0;
}

.item-name[b-xq7cc43cc4] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-xq7cc43cc4] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-xq7cc43cc4] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-xq7cc43cc4] {
    color: var(--color-gray-300);
}

/* Action Buttons */
.item-actions[b-xq7cc43cc4] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-xq7cc43cc4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-xq7cc43cc4] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-xq7cc43cc4] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-xq7cc43cc4] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-xq7cc43cc4] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-xq7cc43cc4] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-xq7cc43cc4] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-xq7cc43cc4] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-xq7cc43cc4] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-xq7cc43cc4] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-xq7cc43cc4] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-xq7cc43cc4] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-xq7cc43cc4] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-xq7cc43cc4] {
        flex-wrap: wrap;
    }

    .item-actions[b-xq7cc43cc4] {
        order: 6;
        margin-left: auto;
    }
}

/* /Components/Pages/Warehouse/DocumentTypeCreate.razor.rz.scp.css */
/* ===========================
   DocumentTypeCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-dsggpuevj7] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-dsggpuevj7] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-dsggpuevj7] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-dsggpuevj7] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-dsggpuevj7] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-dsggpuevj7] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-dsggpuevj7] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-dsggpuevj7] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-dsggpuevj7] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-dsggpuevj7] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-dsggpuevj7] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-dsggpuevj7] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-dsggpuevj7] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-dsggpuevj7] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-dsggpuevj7]::placeholder {
    color: var(--color-gray-400);
}

/* Checkbox */
.form-check-label[b-dsggpuevj7] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    cursor: pointer;
    padding: var(--space-2) 0;
}

.form-check-input[b-dsggpuevj7] {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.btn-action[b-dsggpuevj7] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-dsggpuevj7] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-dsggpuevj7] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-dsggpuevj7] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-dsggpuevj7] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-dsggpuevj7] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-dsggpuevj7] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-dsggpuevj7] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Warehouse/DocumentTypeDestinationList.razor.rz.scp.css */
/* ===========================
   DocumentTypeDestinationList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-qavsd4p4at] {
    max-width: 960px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-qavsd4p4at] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-qavsd4p4at] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-qavsd4p4at] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-qavsd4p4at] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-close[b-qavsd4p4at] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-qavsd4p4at] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-qavsd4p4at] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-qavsd4p4at] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-12) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-qavsd4p4at] {
    opacity: 0.4;
}

.empty-state-text[b-qavsd4p4at] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Sections */
.form-section[b-qavsd4p4at],
.list-section[b-qavsd4p4at] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-qavsd4p4at] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-qavsd4p4at] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Add grid */
.add-grid[b-qavsd4p4at] {
    display: grid;
    grid-template-columns: 1.4fr 1.4fr auto auto;
    gap: var(--space-4);
    align-items: end;
}

.form-group[b-qavsd4p4at] {
    display: flex;
    flex-direction: column;
}

.form-group-check[b-qavsd4p4at] {
    justify-content: flex-end;
    padding-bottom: var(--space-2);
}

.form-label[b-qavsd4p4at] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: var(--space-1);
}

.form-control[b-qavsd4p4at] {
    width: 100%;
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
    outline: none;
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-qavsd4p4at] {
    border-color: var(--color-primary);
}

.check-inline[b-qavsd4p4at] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    cursor: pointer;
    white-space: nowrap;
}

.check-inline input[type="checkbox"][b-qavsd4p4at] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: var(--color-action);
}

.add-action[b-qavsd4p4at] {
    justify-content: flex-end;
}

/* Item List */
.item-list[b-qavsd4p4at] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.item-row[b-qavsd4p4at] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-3) var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-qavsd4p4at] {
    border-bottom: none;
}

.item-row:hover[b-qavsd4p4at] {
    background-color: rgba(11, 36, 62, 0.03);
}

.item-code-cell[b-qavsd4p4at] {
    flex-shrink: 0;
    width: 90px;
    font-family: var(--font-mono);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.item-type-name[b-qavsd4p4at] {
    flex: 1;
    min-width: 0;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-desc-input[b-qavsd4p4at] {
    flex: 1.4;
    min-width: 0;
}

.item-default-check[b-qavsd4p4at] {
    flex-shrink: 0;
}

.item-actions[b-qavsd4p4at] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-qavsd4p4at] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-qavsd4p4at] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon:disabled[b-qavsd4p4at] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-icon-danger:hover[b-qavsd4p4at] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.btn-icon-confirm[b-qavsd4p4at] {
    color: #047857;
}

.btn-icon-confirm:hover[b-qavsd4p4at] {
    color: #047857;
    background-color: #ecfdf5;
    border-color: #a7f3d0;
}

/* Buttons */
.btn[b-qavsd4p4at] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-5);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    text-decoration: none;
}

.btn-sm[b-qavsd4p4at] {
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
}

.btn-action[b-qavsd4p4at] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-qavsd4p4at] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-qavsd4p4at] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-qavsd4p4at] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-qavsd4p4at] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Overlay & Dialog */
.overlay[b-qavsd4p4at] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-qavsd4p4at] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-qavsd4p4at] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-qavsd4p4at] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-qavsd4p4at] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-qavsd4p4at] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-qavsd4p4at] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-qavsd4p4at] {
    min-width: 100px;
    justify-content: center;
}

/* Responsive */
@media (max-width: 768px) {
    .add-grid[b-qavsd4p4at] {
        grid-template-columns: 1fr;
    }

    .item-row[b-qavsd4p4at] {
        flex-wrap: wrap;
    }
}
/* /Components/Pages/Warehouse/DocumentTypeEdit.razor.rz.scp.css */
/* ===========================
   DocumentTypeEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-u3s3ayb02q] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-u3s3ayb02q] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-u3s3ayb02q] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-u3s3ayb02q] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-u3s3ayb02q] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-u3s3ayb02q] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-u3s3ayb02q] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-u3s3ayb02q] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-u3s3ayb02q] {
    opacity: 0.4;
}

.empty-state-text[b-u3s3ayb02q] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-u3s3ayb02q] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-u3s3ayb02q] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-u3s3ayb02q] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-u3s3ayb02q] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-u3s3ayb02q] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-u3s3ayb02q] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-u3s3ayb02q] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-u3s3ayb02q] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-u3s3ayb02q] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-u3s3ayb02q]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-u3s3ayb02q] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

/* Checkbox */
.form-check-label[b-u3s3ayb02q] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    cursor: pointer;
    padding: var(--space-2) 0;
}

.form-check-input[b-u3s3ayb02q] {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.btn-action[b-u3s3ayb02q] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-u3s3ayb02q] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-u3s3ayb02q] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-u3s3ayb02q] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-u3s3ayb02q] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-u3s3ayb02q] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-u3s3ayb02q] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-u3s3ayb02q] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Warehouse/DocumentTypeFishTraceabilityEdit.razor.rz.scp.css */
/* ===========================
   DocumentTypeFishTraceabilityEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-ja55nddz4q] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-ja55nddz4q] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-ja55nddz4q] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-ja55nddz4q] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-ja55nddz4q] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-close[b-ja55nddz4q] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-ja55nddz4q] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-ja55nddz4q] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-ja55nddz4q] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-ja55nddz4q] {
    opacity: 0.4;
}

.empty-state-text[b-ja55nddz4q] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-ja55nddz4q] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-ja55nddz4q] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-ja55nddz4q] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-ja55nddz4q] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-ja55nddz4q] {
    display: flex;
    flex-direction: column;
}

.btn-action[b-ja55nddz4q] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-ja55nddz4q] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-ja55nddz4q] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-ja55nddz4q] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-ja55nddz4q] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-ja55nddz4q] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Warehouse/DocumentTypeFruitTraceabilityEdit.razor.rz.scp.css */
/* ===========================
   DocumentTypeFruitTraceabilityEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-czc3fyl3v9] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-czc3fyl3v9] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-czc3fyl3v9] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-czc3fyl3v9] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-czc3fyl3v9] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-close[b-czc3fyl3v9] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-czc3fyl3v9] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-czc3fyl3v9] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-czc3fyl3v9] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-czc3fyl3v9] {
    opacity: 0.4;
}

.empty-state-text[b-czc3fyl3v9] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-czc3fyl3v9] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-czc3fyl3v9] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-czc3fyl3v9] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-czc3fyl3v9] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-czc3fyl3v9] {
    display: flex;
    flex-direction: column;
}

.btn-action[b-czc3fyl3v9] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-czc3fyl3v9] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-czc3fyl3v9] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-czc3fyl3v9] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-czc3fyl3v9] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-czc3fyl3v9] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Warehouse/DocumentTypeGroceryTraceabilityEdit.razor.rz.scp.css */
/* ===========================
   DocumentTypeGroceryTraceabilityEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-0x52462u22] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-0x52462u22] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-0x52462u22] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-0x52462u22] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-0x52462u22] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-close[b-0x52462u22] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-0x52462u22] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-0x52462u22] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-0x52462u22] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-0x52462u22] {
    opacity: 0.4;
}

.empty-state-text[b-0x52462u22] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-0x52462u22] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-0x52462u22] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-0x52462u22] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-0x52462u22] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-0x52462u22] {
    display: flex;
    flex-direction: column;
}

.btn-action[b-0x52462u22] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-0x52462u22] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-0x52462u22] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-0x52462u22] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-0x52462u22] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-0x52462u22] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Warehouse/DocumentTypeList.razor.rz.scp.css */
/* ===========================
   DocumentTypeList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-l6cag2gczd] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-l6cag2gczd] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-l6cag2gczd] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-l6cag2gczd] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-l6cag2gczd] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-l6cag2gczd] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-l6cag2gczd] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-l6cag2gczd] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-l6cag2gczd] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-l6cag2gczd] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-l6cag2gczd] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-l6cag2gczd] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-l6cag2gczd] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-l6cag2gczd]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-l6cag2gczd] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-l6cag2gczd] {
    color: var(--color-primary);
}

.search-count[b-l6cag2gczd] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-l6cag2gczd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-l6cag2gczd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-l6cag2gczd] {
    opacity: 0.4;
}

.empty-state-text[b-l6cag2gczd] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-l6cag2gczd] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-l6cag2gczd] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-l6cag2gczd] {
    border-bottom: none;
}

.item-row:hover[b-l6cag2gczd] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-l6cag2gczd] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-l6cag2gczd] {
    flex: 1;
    min-width: 0;
}

.item-name[b-l6cag2gczd] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-l6cag2gczd] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-l6cag2gczd] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-l6cag2gczd] {
    color: var(--color-gray-300);
}

/* Badge indicatore esistenza causale (QtyExistence: + carico / - scarico / = neutra) */
.existence-badge[b-l6cag2gczd] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    border: var(--border-width-thin) solid transparent;
    white-space: nowrap;
}

.existence-badge .existence-sign[b-l6cag2gczd] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-bold);
    line-height: 1;
}

.existence-badge.is-load[b-l6cag2gczd] {
    background-color: #e7f5ec;
    color: #1b5e34;
    border-color: #a6d8b8;
}

.existence-badge.is-unload[b-l6cag2gczd] {
    background-color: #fdeded;
    color: #7a1f1f;
    border-color: #e6a6a6;
}

.existence-badge.is-neutral[b-l6cag2gczd] {
    background-color: var(--color-gray-100);
    color: var(--text-muted);
    border-color: var(--border-color-light);
}

/* Action Buttons */
.item-actions[b-l6cag2gczd] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-l6cag2gczd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-l6cag2gczd] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-l6cag2gczd] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.btn-icon-sector:hover[b-l6cag2gczd] {
    color: var(--color-success);
    background-color: rgba(30, 70, 32, 0.06);
    border-color: rgba(30, 70, 32, 0.2);
}

.btn-icon-origins:hover[b-l6cag2gczd] {
    color: var(--color-primary);
    background-color: rgba(11, 36, 62, 0.06);
    border-color: rgba(11, 36, 62, 0.2);
}

.btn-icon-destinations:hover[b-l6cag2gczd] {
    color: var(--color-primary);
    background-color: rgba(11, 36, 62, 0.06);
    border-color: rgba(11, 36, 62, 0.2);
}

.actions-separator[b-l6cag2gczd] {
    width: 1px;
    height: 20px;
    background-color: var(--border-color-light);
    margin: 0 var(--space-1);
}

/* Overlay & Dialog */
.overlay[b-l6cag2gczd] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-l6cag2gczd] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-l6cag2gczd] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-l6cag2gczd] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-l6cag2gczd] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-l6cag2gczd] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-l6cag2gczd] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-l6cag2gczd] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-l6cag2gczd] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-l6cag2gczd] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-l6cag2gczd] {
        flex-wrap: wrap;
    }
}

/* /Components/Pages/Warehouse/DocumentTypeMeatTraceabilityEdit.razor.rz.scp.css */
/* ===========================
   DocumentTypeMeatTraceabilityEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-qcl3ifs8ph] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-qcl3ifs8ph] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-qcl3ifs8ph] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-qcl3ifs8ph] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-qcl3ifs8ph] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-close[b-qcl3ifs8ph] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-qcl3ifs8ph] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-qcl3ifs8ph] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-qcl3ifs8ph] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-qcl3ifs8ph] {
    opacity: 0.4;
}

.empty-state-text[b-qcl3ifs8ph] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-qcl3ifs8ph] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-qcl3ifs8ph] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-qcl3ifs8ph] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-qcl3ifs8ph] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-qcl3ifs8ph] {
    display: flex;
    flex-direction: column;
}

/* Form Controls */
.form-label[b-qcl3ifs8ph] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-qcl3ifs8ph] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-qcl3ifs8ph] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.btn-action[b-qcl3ifs8ph] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-qcl3ifs8ph] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-qcl3ifs8ph] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-qcl3ifs8ph] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-qcl3ifs8ph] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-qcl3ifs8ph] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Warehouse/DocumentTypeOriginList.razor.rz.scp.css */
/* ===========================
   DocumentTypeOriginList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-3t3ug39oqv] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-3t3ug39oqv] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-3t3ug39oqv] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-3t3ug39oqv] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-3t3ug39oqv] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-close[b-3t3ug39oqv] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-3t3ug39oqv] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-3t3ug39oqv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-3t3ug39oqv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-12) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-3t3ug39oqv] {
    opacity: 0.4;
}

.empty-state-text[b-3t3ug39oqv] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Sections */
.form-section[b-3t3ug39oqv],
.list-section[b-3t3ug39oqv] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-3t3ug39oqv] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-3t3ug39oqv] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Add grid */
.add-grid[b-3t3ug39oqv] {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: var(--space-4);
    align-items: end;
}

.form-group[b-3t3ug39oqv] {
    display: flex;
    flex-direction: column;
}

.form-label[b-3t3ug39oqv] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: var(--space-1);
}

.form-control[b-3t3ug39oqv] {
    width: 100%;
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
    outline: none;
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-3t3ug39oqv] {
    border-color: var(--color-primary);
}

.add-action[b-3t3ug39oqv] {
    justify-content: flex-end;
}

/* Item List */
.item-list[b-3t3ug39oqv] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.item-row[b-3t3ug39oqv] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-3) var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-3t3ug39oqv] {
    border-bottom: none;
}

.item-row:hover[b-3t3ug39oqv] {
    background-color: rgba(11, 36, 62, 0.03);
}

.item-code-cell[b-3t3ug39oqv] {
    flex-shrink: 0;
    width: 90px;
    font-family: var(--font-mono);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.item-type-name[b-3t3ug39oqv] {
    flex: 1;
    min-width: 0;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-desc-input[b-3t3ug39oqv] {
    flex: 1.4;
    min-width: 0;
}

.item-actions[b-3t3ug39oqv] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-3t3ug39oqv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-3t3ug39oqv] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon:disabled[b-3t3ug39oqv] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-icon-danger:hover[b-3t3ug39oqv] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.btn-icon-confirm[b-3t3ug39oqv] {
    color: #047857;
}

.btn-icon-confirm:hover[b-3t3ug39oqv] {
    color: #047857;
    background-color: #ecfdf5;
    border-color: #a7f3d0;
}

/* Buttons */
.btn[b-3t3ug39oqv] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-5);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    text-decoration: none;
}

.btn-sm[b-3t3ug39oqv] {
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
}

.btn-action[b-3t3ug39oqv] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-3t3ug39oqv] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-3t3ug39oqv] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-3t3ug39oqv] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-3t3ug39oqv] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Overlay & Dialog */
.overlay[b-3t3ug39oqv] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-3t3ug39oqv] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-3t3ug39oqv] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-3t3ug39oqv] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-3t3ug39oqv] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-3t3ug39oqv] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-3t3ug39oqv] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-3t3ug39oqv] {
    min-width: 100px;
    justify-content: center;
}

/* Responsive */
@media (max-width: 768px) {
    .add-grid[b-3t3ug39oqv] {
        grid-template-columns: 1fr;
    }

    .item-row[b-3t3ug39oqv] {
        flex-wrap: wrap;
    }
}
/* /Components/Pages/Warehouse/GiftTypeCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-tqnclb5pug] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-tqnclb5pug] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-tqnclb5pug] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-tqnclb5pug] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-tqnclb5pug] { opacity: 1; }

.form-section[b-tqnclb5pug] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-tqnclb5pug] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-tqnclb5pug] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-tqnclb5pug] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-tqnclb5pug] { display: flex; flex-direction: column; }
.form-group-wide[b-tqnclb5pug] { grid-column: span 2; }
.form-label[b-tqnclb5pug] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-tqnclb5pug] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-tqnclb5pug] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-tqnclb5pug]::placeholder { color: var(--color-gray-400); }
.btn-action[b-tqnclb5pug] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-tqnclb5pug] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-tqnclb5pug] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-tqnclb5pug] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-tqnclb5pug] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-tqnclb5pug] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-tqnclb5pug] { grid-template-columns: 1fr; }
    .form-group-wide[b-tqnclb5pug] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/GiftTypeEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-w2530vw3fr] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-w2530vw3fr] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-w2530vw3fr] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-w2530vw3fr] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-w2530vw3fr] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-w2530vw3fr] { opacity: 1; }

.loading-state[b-w2530vw3fr] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-w2530vw3fr] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-w2530vw3fr] { opacity: 0.4; }
.empty-state-text[b-w2530vw3fr] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-w2530vw3fr] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-w2530vw3fr] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-w2530vw3fr] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-w2530vw3fr] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-w2530vw3fr] { display: flex; flex-direction: column; }
.form-group-wide[b-w2530vw3fr] { grid-column: span 2; }
.form-label[b-w2530vw3fr] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-w2530vw3fr] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-w2530vw3fr] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-w2530vw3fr]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-w2530vw3fr] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-w2530vw3fr] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-w2530vw3fr] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-w2530vw3fr] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-w2530vw3fr] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-w2530vw3fr] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-w2530vw3fr] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-w2530vw3fr] { grid-template-columns: 1fr; }
    .form-group-wide[b-w2530vw3fr] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/GiftTypeList.razor.rz.scp.css */
/* ===========================
   ProductGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-q1hd7nmlum] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-q1hd7nmlum] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-q1hd7nmlum] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-q1hd7nmlum] { background-color: var(--color-action-active); }

.alert-bar[b-q1hd7nmlum] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-q1hd7nmlum] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-q1hd7nmlum] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-q1hd7nmlum] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-q1hd7nmlum] { opacity: 1; }

.search-bar[b-q1hd7nmlum] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-q1hd7nmlum] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-q1hd7nmlum] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-q1hd7nmlum] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-q1hd7nmlum]::placeholder { color: var(--text-muted); }
.search-clear[b-q1hd7nmlum] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-q1hd7nmlum] { color: var(--color-primary); }
.search-count[b-q1hd7nmlum] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-q1hd7nmlum] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-q1hd7nmlum] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-q1hd7nmlum] { opacity: 0.4; }
.empty-state-text[b-q1hd7nmlum] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-q1hd7nmlum] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-q1hd7nmlum] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-q1hd7nmlum] { border-bottom: none; }
.item-row:hover[b-q1hd7nmlum] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-q1hd7nmlum] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-q1hd7nmlum] { flex: 1; min-width: 0; }
.item-name[b-q1hd7nmlum] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-q1hd7nmlum] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-q1hd7nmlum] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-q1hd7nmlum] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-q1hd7nmlum] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-q1hd7nmlum] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-q1hd7nmlum] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-q1hd7nmlum] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-q1hd7nmlum] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-q1hd7nmlum] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-q1hd7nmlum] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-q1hd7nmlum] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-q1hd7nmlum] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-q1hd7nmlum] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-q1hd7nmlum] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-q1hd7nmlum] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-q1hd7nmlum] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-q1hd7nmlum] { flex-wrap: wrap; }
    .item-actions[b-q1hd7nmlum] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Warehouse/LotLoadDocumentDetail.razor.rz.scp.css */
/* ===========================
   LotLoadDocumentDetail - Scoped Styles

   Copia di LotUnloadDocumentDetail.razor.css. Vale la stessa nota della lista:
   è il chrome di pagina che nel repo esiste in centinaia di copie scoped, e
   CLAUDE.md §«CSS di componente» dice di non consolidarlo quando la consegna ne
   tocca uno solo. Se un giorno si consolida, questo file va con i suoi fratelli.

   In coda le SOLE regole proprie del carico.
   =========================== */

.page-container[b-ozy588ar8s] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6, 24px) var(--space-4, 16px);
}
.status-badge[b-ozy588ar8s] {
    display: inline-flex;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.status-draft[b-ozy588ar8s] { background: #f4f4f5; color: #71717a; border-color: #e4e4e7; }
.status-pending[b-ozy588ar8s] { background: #fef9c3; color: #854d0e; border-color: #fde68a; }
.status-saved[b-ozy588ar8s] { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }

/* ── Messaggi in toast ─────────────────────────────────────────────────────
   Posizione fissa in alto al centro, come nel form: il consolidamento si lancia anche dopo aver
   scorso fino a righe o totali, e un avviso ancorato all'header sarebbe fuori schermo. */
.toast-stack[b-ozy588ar8s] {
    position: fixed;
    /* Sotto la toolbar agganciata, non sopra il titolo. */
    top: calc(var(--topbar-height) + var(--toolbar-stuck-height) + 16px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 1080;
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: max-content;
    max-width: min(720px, calc(100vw - 32px));
    pointer-events: none;
}

.toast-msg[b-ozy588ar8s] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    font-size: 13px;
    line-height: 1.45;
    border-left: 4px solid;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    pointer-events: auto;
    animation: toast-slide-in-b-ozy588ar8s 180ms ease-out;
}

@keyframes toast-slide-in-b-ozy588ar8s {
    from { opacity: 0; transform: translateY(-14px); }
    to   { opacity: 1; transform: translateY(0); }
}

.toast-msg svg[b-ozy588ar8s] { flex-shrink: 0; margin-top: 1px; }
.toast-msg-text[b-ozy588ar8s] { flex: 1 1 auto; }

.toast-msg-danger[b-ozy588ar8s] { background: #fef2f2; border-left-color: #b91c1c; color: #7f1d1d; }
.toast-msg-success[b-ozy588ar8s] { background: #ecfdf5; border-left-color: #047857; color: #064e3b; }

.toast-msg-close[b-ozy588ar8s] {
    flex-shrink: 0;
    background: none; border: none; cursor: pointer;
    font-size: 20px; line-height: 1; padding: 0 2px;
    color: inherit; opacity: .55;
}
.toast-msg-close:hover[b-ozy588ar8s] { opacity: 1; }

@media (max-width: 768px) {
    .toast-stack[b-ozy588ar8s] { left: 16px; right: 16px; transform: none; width: auto; max-width: none; }
}

.loading-state[b-ozy588ar8s], .empty-state[b-ozy588ar8s] {
    text-align: center;
    padding: 48px 16px;
    color: #6b7280;
}

.tabs[b-ozy588ar8s] {
    display: flex;
    gap: 0;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.tab[b-ozy588ar8s] {
    background: none;
    border: none;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 500;
    color: #6b7280;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}
.tab:hover[b-ozy588ar8s] { color: #111827; }
.tab.active[b-ozy588ar8s] {
    color: #1d4ed8;
    border-bottom-color: #1d4ed8;
    font-weight: 600;
}

.tab-panel[b-ozy588ar8s] { padding-top: 8px; }

.cards-grid[b-ozy588ar8s] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    gap: 16px;
}

.info-card[b-ozy588ar8s] {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 16px;
}
.info-card-title[b-ozy588ar8s] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    margin-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 8px;
}
.info-grid[b-ozy588ar8s] { display: grid; gap: 8px; }
.info-row[b-ozy588ar8s] { display: grid; grid-template-columns: 160px 1fr; gap: 12px; align-items: start; }
.info-label[b-ozy588ar8s] { font-size: 11px; text-transform: uppercase; color: #6b7280; letter-spacing: 0.04em; padding-top: 2px; }
.info-value[b-ozy588ar8s] { font-size: 13px; color: #111827; overflow-wrap: anywhere; }

.lines-wrapper[b-ozy588ar8s] { background: #fff; border: 1px solid #e5e7eb; overflow-x: auto; }
.lines-table[b-ozy588ar8s] { width: 100%; border-collapse: collapse; font-size: 13px; }
.lines-table thead th[b-ozy588ar8s] {
    text-align: left;
    padding: 10px 12px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #374151;
}
.lines-table tbody td[b-ozy588ar8s] { padding: 10px 12px; border-bottom: 1px solid #f1f5f9; }

.text-end[b-ozy588ar8s] { text-align: right; }
.text-center[b-ozy588ar8s] { text-align: center; }

/* ── Badge del progressivo di riga (prg_mov) ───────────────────────────────
   Stesso aspetto del badge nel form, così la riga si riconosce passando fra le due viste. */
.cell-seq[b-ozy588ar8s] { text-align: center; vertical-align: middle; width: 44px; }

.seq-badge[b-ozy588ar8s] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 22px;
    padding: 0 6px;
    background: #eef2f7;
    border: 1px solid #d7dee8;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

/* Indicatore di tracciabilità di riga (flg_traceable + id_mov_barcode_padre).
   Il dettaglio della provenienza è nel tooltip, per non allargare la tabella. */
.trace-badge[b-ozy588ar8s] {
    display: inline-flex;
    padding: 2px 8px;
    font-size: 10px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
    cursor: help;
}
.trace-badge.is-traceable[b-ozy588ar8s] { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.trace-badge.is-untraceable[b-ozy588ar8s] { background: transparent; color: #9ca3af; border-color: transparent; cursor: default; }

.badges-row[b-ozy588ar8s] { display: flex; gap: 8px; flex-wrap: wrap; }
.flag-badge[b-ozy588ar8s] {
    display: inline-flex;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
}
.flag-on[b-ozy588ar8s] { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.flag-off[b-ozy588ar8s] { background: #f4f4f5; color: #71717a; border-color: #e4e4e7; }

/* ── Scarico lotto: card «Lotto» in evidenza ───────────────────────────────── */
/* Il lotto è l'identità del documento (non c'è numerazione): la sua card va    */
/* distinta dalle altre, non confusa fra le informazioni generali.              */
.info-card-highlight[b-ozy588ar8s] {
    border-left: 3px solid var(--color-primary, #2563eb);
}

.info-value-strong[b-ozy588ar8s] {
    font-weight: 600;
}

/* Barcode: 20 caratteri alfanumerici, illeggibili in proporzionale. */
.info-value-mono[b-ozy588ar8s] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.85rem;
    letter-spacing: 0.02em;
    word-break: break-all;
}

/* ── Carico lotto: le due colonne barcode della tabella righe ────────────────── */
/* Nello scarico i barcode erano identici su tutte le righe e si omettevano; qui  */
/* distinguono una riga dall'altra — quello di riga identifica la merce prodotta, */
/* quello di provenienza lo scarico da cui deriva — quindi stanno in tabella e    */
/* vogliono lo stesso monospazio delle card.                                      */
.lines-table .cell-mono[b-ozy588ar8s] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.8rem;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

/* Nota esplicativa in coda a una card: spiega un vincolo, non è un dato. */
.info-note[b-ozy588ar8s] {
    margin: 8px 0 0;
    padding-top: 8px;
    border-top: 1px dashed var(--color-border, #e5e7eb);
    font-size: 0.78rem;
    line-height: 1.4;
    color: var(--color-text-muted, #6b7280);
}
/* /Components/Pages/Warehouse/LotLoadDocumentForm.razor.rz.scp.css */
/* ===========================
   SalesDocumentForm - Scoped Styles
   Allineato a PurchaseDocumentForm.razor.css, con in più:
   - .alert-bar-warning (avviso di tracciabilità obbligatoria senza barra disponibile)
   - .line-row-main.is-traceable e .trac-parent (riga tracciabile e sua provenienza)
   =========================== */

.page-container[b-jjd3z1f0lr] {
    max-width: 1400px;
    margin: 0 auto;
    padding: 24px 16px;
}
/* ── Messaggi in toast ─────────────────────────────────────────────────────
   Posizione FISSA in alto al centro: il form è lungo e l'operatore lavora sulla griglia righe, in
   fondo alla pagina. Un avviso ancorato all'header sarebbe fuori dallo schermo proprio quando serve
   — è il caso del rifiuto per giacenza insufficiente. */
.toast-stack[b-jjd3z1f0lr] {
    position: fixed;
    /* Sotto la toolbar agganciata, non sopra il titolo. */
    top: calc(var(--topbar-height) + var(--toolbar-stuck-height) + 16px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 1080;   /* sopra il modale dettagli riga (1050) */
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: max-content;
    max-width: min(720px, calc(100vw - 32px));
    pointer-events: none;   /* il contenitore non intercetta i click sul form sottostante */
}

.toast-msg[b-jjd3z1f0lr] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    font-size: 13px;
    line-height: 1.45;
    border-left: 4px solid;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    pointer-events: auto;   /* ma il singolo toast sì: va chiuso */
    animation: toast-slide-in-b-jjd3z1f0lr 180ms ease-out;
}

/* Entrata dall'alto: il movimento è ciò che attira lo sguardo su un messaggio che compare
   mentre l'attenzione è altrove. */
@keyframes toast-slide-in-b-jjd3z1f0lr {
    from { opacity: 0; transform: translateY(-14px); }
    to   { opacity: 1; transform: translateY(0); }
}

.toast-msg svg[b-jjd3z1f0lr] { flex-shrink: 0; margin-top: 1px; }
.toast-msg-text[b-jjd3z1f0lr] { flex: 1 1 auto; }

.toast-msg-danger[b-jjd3z1f0lr] { background: #fef2f2; border-left-color: #b91c1c; color: #7f1d1d; }
.toast-msg-success[b-jjd3z1f0lr] { background: #ecfdf5; border-left-color: #047857; color: #064e3b; }

.toast-msg-close[b-jjd3z1f0lr] {
    flex-shrink: 0;
    background: none; border: none; cursor: pointer;
    font-size: 20px; line-height: 1; padding: 0 2px;
    color: inherit; opacity: .55;
}
.toast-msg-close:hover[b-jjd3z1f0lr] { opacity: 1; }

@media (max-width: 768px) {
    .toast-stack[b-jjd3z1f0lr] { left: 16px; right: 16px; transform: none; width: auto; max-width: none; }
}

/* Avviso di configurazione in linea nel flusso (non è un errore dell'utente): tono ambra. */
.alert-bar[b-jjd3z1f0lr] { display: flex; align-items: center; gap: 8px; padding: 12px 16px; margin-bottom: 12px; font-size: 13px; border-left: 4px solid; }
.alert-bar-warning[b-jjd3z1f0lr] { background: #fffbeb; border-left-color: #d97706; color: #78350f; }

.loading-state[b-jjd3z1f0lr] { text-align: center; padding: 48px 16px; color: #6b7280; }

.form-section[b-jjd3z1f0lr] {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 16px;
    margin-bottom: 16px;
}
.form-section-header[b-jjd3z1f0lr] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }

/* ── Testata della sezione Righe: interruttore + pulsante ──────────────────
   L'interruttore di aggiunta automatica sta accanto al pulsante perché è quell'azione che modifica:
   acceso, «Aggiungi riga» avviene da solo ad ogni lettura valida. */
.lines-header-actions[b-jjd3z1f0lr] { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }

.auto-add-switch[b-jjd3z1f0lr] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
    font-size: 12px;
    color: #334155;
    margin: 0;
}

.auto-add-switch input[b-jjd3z1f0lr] { position: absolute; opacity: 0; width: 0; height: 0; }

.auto-add-track[b-jjd3z1f0lr] {
    position: relative;
    width: 34px;
    height: 18px;
    background: #cbd5e1;
    border-radius: 999px;
    transition: background-color 140ms ease;
    flex-shrink: 0;
}

.auto-add-thumb[b-jjd3z1f0lr] {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 14px;
    height: 14px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    transition: transform 140ms ease;
}

/* Verde da acceso: stesso colore della riga tracciabile e del badge di tracciabilità, perché è
   dello stesso flusso che si parla. */
.auto-add-switch input:checked + .auto-add-track[b-jjd3z1f0lr] { background: #047857; }
.auto-add-switch input:checked + .auto-add-track .auto-add-thumb[b-jjd3z1f0lr] { transform: translateX(16px); }
.auto-add-switch input:focus-visible + .auto-add-track[b-jjd3z1f0lr] { box-shadow: 0 0 0 3px rgba(4, 120, 87, 0.25); }

.auto-add-label[b-jjd3z1f0lr] { line-height: 1.2; text-transform: none; letter-spacing: normal; font-weight: 500; }

/* Non applicabile con la proposta 'N': resta visibile ma inerte, e il tooltip dice perché.
   Nasconderlo lascerebbe l'operatore a chiedersi dove sia finito. */
.auto-add-switch.is-disabled[b-jjd3z1f0lr] { cursor: not-allowed; color: #94a3b8; }
.auto-add-switch.is-disabled .auto-add-track[b-jjd3z1f0lr] { background: #e2e8f0; }
.form-section-title[b-jjd3z1f0lr] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    margin-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 8px;
}
.form-section-header .form-section-title[b-jjd3z1f0lr] { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }

.form-section-collapsible > summary[b-jjd3z1f0lr] {
    cursor: pointer;
    list-style: none;
    user-select: none;
    display: flex;
    align-items: center;
    gap: 8px;
}
.form-section-collapsible > summary[b-jjd3z1f0lr]::-webkit-details-marker { display: none; }
.form-section-collapsible > summary[b-jjd3z1f0lr]::before {
    content: "▸";
    font-size: 12px;
    color: #6b7280;
    transition: transform 0.15s ease;
    display: inline-block;
}
.form-section-collapsible[open] > summary[b-jjd3z1f0lr]::before {
    transform: rotate(90deg);
}
.form-section-collapsible:not([open]) > summary[b-jjd3z1f0lr] {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
.form-section-collapsible[open] > summary[b-jjd3z1f0lr] {
    margin-bottom: 12px;
}

.form-grid[b-jjd3z1f0lr] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}
.form-group[b-jjd3z1f0lr] { display: flex; flex-direction: column; gap: 4px; }
.form-group label[b-jjd3z1f0lr] { font-size: 11px; text-transform: uppercase; color: #6b7280; letter-spacing: 0.04em; font-weight: 600; }

.empty-state-inline[b-jjd3z1f0lr] {
    text-align: center;
    padding: 24px;
    color: #9ca3af;
    font-style: italic;
    font-size: 13px;
    border: 1px dashed #e5e7eb;
}

.lines-edit-wrapper[b-jjd3z1f0lr] { overflow-x: auto; }
.lines-edit-table[b-jjd3z1f0lr] { width: 100%; border-collapse: collapse; font-size: 13px; }
.lines-edit-table thead th[b-jjd3z1f0lr] {
    text-align: left;
    padding: 8px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #374151;
}
.lines-edit-table tbody td[b-jjd3z1f0lr] { padding: 4px; border-bottom: 1px solid #f1f5f9; }
.lines-edit-table .text-end[b-jjd3z1f0lr] { text-align: right; }
.lines-edit-table .form-control-sm[b-jjd3z1f0lr] { padding: 4px 8px; font-size: 13px; }
/* Campo quantità calcolato dall'UM base: sola lettura, sfondo grigio. */
.lines-edit-table .qty-readonly[b-jjd3z1f0lr] { background-color: #f3f4f6; cursor: default; }
/* Campi di riga non editabili (descrizione articolo, codice articolo, IVA): stessa resa dei
   campi readonly di testata (LookupField) — sfondo grigio chiaro e cursore normale. */
.lines-edit-table input[readonly][b-jjd3z1f0lr] {
    background-color: var(--color-gray-50, #f3f4f6);
    color: var(--color-gray-700, #374151);
    cursor: default;
}
.lines-summary[b-jjd3z1f0lr] { padding: 12px; background: #f9fafb; font-size: 13px; color: #374151; }

/* ── Piede documento: card riepilogo totali ─────────────────────────────── */
/* I totali restano ancorati al fondo della finestra mentre si scorrono le righe: su un documento
   lungo l'operatore vede l'effetto di ogni riga sul totale senza dover scendere in fondo.

   È `sticky`, non `fixed`: la fascia resta dentro la sezione Righe, quindi si sgancia da sola
   quando la sezione esce dallo schermo, invece di restare sospesa sul resto del form.

   Perché funziona: `.lines-totals` è FRATELLO di `.lines-edit-wrapper` (che ha overflow-x per lo
   scorrimento orizzontale della tabella), non figlio — un antenato con overflow annullerebbe
   l'ancoraggio. Se in futuro si sposta dentro il wrapper, questo comportamento si perde. */
.lines-totals[b-jjd3z1f0lr] {
    position: sticky;
    bottom: 0;
    z-index: 3;

    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px;
    background: #f9fafb;
    border-top: 1px solid #e5e7eb;
    /* Ombra verso l'alto: quando è ancorata si distingue dalle righe che le scorrono sotto. */
    box-shadow: 0 -2px 6px rgba(15, 23, 42, 0.06);
}

/* Su schermi bassi le card andrebbero a capo occupando mezza finestra: si stringono e si rendono
   scorrevoli in orizzontale, così restano una fascia sottile e non rubano spazio alle righe. */
@media (max-height: 800px) {
    .lines-totals[b-jjd3z1f0lr] {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 8px 12px;
    }

    .lines-totals .total-card[b-jjd3z1f0lr] { min-width: 92px; padding: 6px 10px; }
    .lines-totals .total-card-value[b-jjd3z1f0lr] { font-size: 14px; }
}
.total-card[b-jjd3z1f0lr] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 104px;
    padding: 8px 12px;
    background: #fff;
    border: 1px solid #e5e7eb;
}
.total-card-label[b-jjd3z1f0lr] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
}
.total-card-value[b-jjd3z1f0lr] {
    font-size: 16px;
    font-weight: 700;
    color: #111827;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
/* Card importo documento: evidenziata e spinta a destra. */
.total-card-emphasis[b-jjd3z1f0lr] {
    margin-left: auto;
    background: #eff6ff;
    border-color: #bfdbfe;
}
.total-card-emphasis .total-card-value[b-jjd3z1f0lr] { color: #1d4ed8; }

/* ── Riga documento a due righe (struttura allineata a OrderForm) ─────────
   La riga principale non chiude il bordo; il separatore è sulla sotto-riga
   che contiene le quantità secondarie (Pezzi/Colli/Pallet/Qta netto). */
.lines-edit-table tbody tr.line-row-main td[b-jjd3z1f0lr] { border-bottom: none; padding-bottom: 2px; }
.lines-edit-table tbody tr.line-row-secondary td[b-jjd3z1f0lr] { padding-top: 0; padding-bottom: 6px; border-bottom-color: #cbd5e1; }

/* Riga tracciabile: filetto verde a sinistra. Segnale discreto ma sempre visibile, così si
   distingue a colpo d'occhio da una riga classica senza aggiungere colonne. */
.lines-edit-table tbody tr.line-row-main.is-traceable td:first-child[b-jjd3z1f0lr] {
    box-shadow: inset 3px 0 0 0 #047857;
}

/* ── Badge del progressivo di riga (prg_mov) ───────────────────────────────
   Colonna stretta a sinistra: è un riferimento di lettura, non un dato da editare. */
.cell-seq[b-jjd3z1f0lr] { text-align: center; vertical-align: middle; }

.seq-badge[b-jjd3z1f0lr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 22px;
    padding: 0 6px;
    background: #eef2f7;
    border: 1px solid #d7dee8;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
    /* Tabellare: con progressivi a una e due cifre i badge restano allineati in colonna. */
    font-variant-numeric: tabular-nums;
}

/* Riga non ancora salvata: il progressivo non esiste, il badge è smorzato e mostra un segnaposto. */
.seq-badge.is-new[b-jjd3z1f0lr] {
    background: transparent;
    border-style: dashed;
    border-color: #cbd5e1;
    color: #94a3b8;
    font-weight: 400;
}

.line-qty-secondary[b-jjd3z1f0lr] { display: flex; gap: 9px; flex-wrap: wrap; }
.line-qty-secondary .qty-field[b-jjd3z1f0lr] { display: flex; flex-direction: column; gap: 2px; width: 96px; }
/* Pezzi largo come la colonna Quantità (qta_merce) sopra. */
.line-qty-secondary .qty-field-pieces[b-jjd3z1f0lr] { width: 114px; }
/* Colli leggermente più stretto. */
.line-qty-secondary .qty-field-packages[b-jjd3z1f0lr] { width: 90px; }
.line-qty-secondary .qty-field-pallets[b-jjd3z1f0lr] { width: 96px; }
.line-qty-secondary .qty-field-net[b-jjd3z1f0lr] { width: 114px; }
.line-qty-secondary .qty-field label[b-jjd3z1f0lr] {
    font-size: 10px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.4px; color: #94a3b8;
}
/* Campo quantità collegato all'UM (des_nome_campo_calc): sola lettura, tenuto = qta_merce. */
.qty-readonly[b-jjd3z1f0lr] { background: #f3f4f6; color: #6b7280; cursor: default; }

/* Campi numerici culture-aware (QuantityField/PriceField/PercentageField) dentro le celle
   della griglia righe: rimuovono lo spazio del form-group e la label interna, così si
   comportano come gli input compatti della tabella. */
.cell-num-field[b-jjd3z1f0lr]  .form-group { margin: 0; padding: 0; }
.cell-num-field[b-jjd3z1f0lr]  .form-label { display: none; }
.cell-num-field[b-jjd3z1f0lr]  .quantity-input-wrapper,
.cell-num-field[b-jjd3z1f0lr]  .price-input-wrapper,
.cell-num-field[b-jjd3z1f0lr]  .percentage-input-wrapper { margin: 0; }
.cell-num-field[b-jjd3z1f0lr]  .form-control {
    font-size: 13px;
    height: 28px;
    width: 100%;
    text-align: right;
}
/* Nascondiamo il suggerimento decimali. */
.cell-num-field[b-jjd3z1f0lr]  [class$="-decimals-hint"] { display: none; }
/* Con il suggerimento nascosto rimuoviamo il padding-right riservato così Quantità e Prezzo
   restano a filo destro. !important perché le regole scoped dei componenti hanno pari specificità. */
.cell-num-field[b-jjd3z1f0lr]  .quantity-input,
.cell-num-field[b-jjd3z1f0lr]  .price-input {
    padding: 4px 8px !important;
    text-align: right !important;
}
/* La percentuale mantiene un piccolo spazio a destra per il simbolo %. */
.cell-num-field[b-jjd3z1f0lr]  .percentage-input {
    padding: 4px 1.6em 4px 8px !important;
    text-align: right !important;
}
.cell-num-field[b-jjd3z1f0lr]  .percentage-symbol { font-size: 11px; color: #94a3b8; }

/* Sotto-riga read-only con i campi di tracciabilità (aumenta l'altezza della riga). */
.line-trac-row td[b-jjd3z1f0lr] { padding: 6px 8px 10px 8px; border-bottom: 1px solid #e5e7eb; background: #fafafa; }
.trac-readonly[b-jjd3z1f0lr] { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline; }
.trac-title[b-jjd3z1f0lr] {
    font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
    color: #6b7280; margin-right: 4px;
}
.trac-item[b-jjd3z1f0lr] { font-size: 12px; color: #374151; white-space: nowrap; }
.trac-item-label[b-jjd3z1f0lr] { color: #9ca3af; }

/* Provenienza della merce (barcode padre): sfondo verde tenue, per distinguerla dalla
   tracciabilità di settore che vive nella riga successiva. */
.trac-parent[b-jjd3z1f0lr] { background: #f0fdf4; padding: 4px 8px; }
.trac-parent .trac-title[b-jjd3z1f0lr] { color: #047857; }

.lines-hint[b-jjd3z1f0lr] { font-size: 12px; color: #9ca3af; margin: 8px 0 0 0; font-style: italic; }
.line-actions[b-jjd3z1f0lr] { display: flex; gap: 4px; }
.btn-icon[b-jjd3z1f0lr] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px;
    background: transparent; border: 1px solid transparent;
    color: #4b5563;
    cursor: pointer;
    border-radius: 4px;
}
.btn-icon-primary:hover[b-jjd3z1f0lr] { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }

/* Icona conferma riga: rosso = da confermare, verde = confermata. */
.btn-icon-confirm.needs-confirm[b-jjd3z1f0lr] { color: #b91c1c; }
.btn-icon-confirm.needs-confirm:hover[b-jjd3z1f0lr] { background: #fef2f2; border-color: #fecaca; }
.btn-icon-confirm.is-confirmed[b-jjd3z1f0lr] { color: #047857; }
.btn-icon-confirm.is-confirmed:hover[b-jjd3z1f0lr] { background: #ecfdf5; border-color: #a7f3d0; }
.btn-icon-danger:hover[b-jjd3z1f0lr] { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }

.line-lookup[b-jjd3z1f0lr] {
    display: flex;
    align-items: stretch;
    gap: 4px;
}
.line-lookup .form-control[b-jjd3z1f0lr] { flex: 1 1 auto; min-width: 0; }
.btn-lookup-sm[b-jjd3z1f0lr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    flex: 0 0 28px;
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    color: #374151;
    cursor: pointer;
    border-radius: 4px;
    padding: 0;
}
.btn-lookup-sm:hover[b-jjd3z1f0lr] { background: #e5e7eb; color: #111827; }

/* ══════════════════════════════════════════════════════════════════════════
   Scarico lotto — stili propri di questa famiglia
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Identità del documento ──────────────────────────────────────────────
   Il lotto non è un dato fra gli altri: è l'identificativo del documento,
   al posto del numero che qui non esiste. La sezione va distinta. */
.lot-identity[b-jjd3z1f0lr] {
    border-left: 3px solid var(--color-primary, #0B243E);
}

.form-control.is-readonly[b-jjd3z1f0lr] {
    background: var(--color-gray-50, #F8F9FA);
    color: var(--color-gray-600, #495057);
    cursor: default;
}

/* Barcode: 20 caratteri alfanumerici, illeggibili in proporzionale. */
.form-control.is-mono[b-jjd3z1f0lr] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.85rem;
    letter-spacing: 0.02em;
}

.form-section-note[b-jjd3z1f0lr] {
    margin: 8px 0 0;
    font-size: 0.78rem;
    line-height: 1.4;
    color: var(--color-gray-500, #6C757D);
}

/* ── Regole di composizione del lotto ────────────────────────────────────
   Pannello mostrato SOPRA la griglia righe: rendere il vincolo visibile
   prima della compilazione è ciò che trasforma la violazione da evento
   ordinario a eccezione. */
.rule-panel[b-jjd3z1f0lr] {
    margin: 0 0 12px;
    padding: 10px 12px;
    background: var(--color-gray-50, #F8F9FA);
    border: 1px solid var(--color-gray-200, #DEE2E6);
    border-left: 3px solid var(--color-info, #17A2B8);
}

.rule-panel-title[b-jjd3z1f0lr] {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-gray-600, #495057);
    margin-bottom: 6px;
}

.rule-panel-list[b-jjd3z1f0lr] {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
}

.rule-panel-list li[b-jjd3z1f0lr] {
    display: flex;
    align-items: baseline;
    gap: 6px;
    font-size: 0.82rem;
}

/* Vincolo già determinato (valore fissato dalle righe o costante di regola):
   si distingue da quello ancora libero, perché l'operatore sappia cosa è
   ormai deciso e cosa può ancora scegliere. */
.rule-panel-list li.is-locked .rule-field-name[b-jjd3z1f0lr] {
    background: var(--color-info, #17A2B8);
    color: #fff;
    border-color: var(--color-info, #17A2B8);
}

.rule-field-name[b-jjd3z1f0lr] {
    padding: 1px 6px;
    font-weight: 600;
    font-size: 0.75rem;
    background: var(--color-white, #fff);
    border: 1px solid var(--color-gray-300, #CED4DA);
}

.rule-field-desc[b-jjd3z1f0lr] {
    color: var(--color-gray-600, #495057);
}

.rule-panel-note[b-jjd3z1f0lr] {
    margin: 8px 0 0;
    font-size: 0.76rem;
    color: var(--color-gray-500, #6C757D);
}

/* Campo di riga soggetto a clausola: evidenziato in griglia. */
.rule-field input[b-jjd3z1f0lr],
.rule-field .form-control[b-jjd3z1f0lr] {
    border-color: var(--color-info, #17A2B8);
}

.rule-field-locked input[b-jjd3z1f0lr],
.rule-field-locked .form-control[b-jjd3z1f0lr] {
    background: rgba(23, 162, 184, 0.06);
}

/* ── Violazioni di regola ────────────────────────────────────────────────
   Elenco puntato dentro il toast: tre violazioni in un paragrafo unico
   vengono scorse, tre punti vengono letti. */
.toast-msg-rules[b-jjd3z1f0lr] {
    align-items: flex-start;
}

.rule-violation-list[b-jjd3z1f0lr] {
    margin: 6px 0 0;
    padding-left: 18px;
}

.rule-violation-list li[b-jjd3z1f0lr] {
    margin-bottom: 3px;
    line-height: 1.35;
}

/* Toggle di sezione collassabile: pulsante che si comporta da titolo. */
.form-section-toggle[b-jjd3z1f0lr] {
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* ── Carico lotto: regole proprie ────────────────────────────────────────────── */
/* Il resto del file è la copia dello scarico: vale la nota di CLAUDE.md          */
/* §«CSS di componente» — chrome di pagina in centinaia di copie scoped, non si   */
/* consolida quando la consegna ne tocca uno solo.                               */

/* Pannello che sostituisce quello delle regole di composizione: il carico non ha
   cod_rule, ma ha una condizione che governa tutta la griglia e va detta una volta. */
.origin-panel[b-jjd3z1f0lr] {
    margin: 12px 0;
    padding: 10px 12px;
    background: var(--color-surface-alt, #f3f4f6);
    border-left: 3px solid var(--color-primary, #0b243e);
}

.origin-panel-title[b-jjd3z1f0lr] {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--color-primary, #0b243e);
}

.origin-panel-note[b-jjd3z1f0lr] {
    margin: 4px 0 0;
    font-size: 0.78rem;
    color: var(--text-muted, #6b7280);
}

/* Colonne lotto e provenienza: valori EREDITATI dallo scarico, non editabili.
   Il grigio li distingue dai campi su cui si può intervenire — senza, l'operatore
   proverebbe a cliccarci. */
.lines-edit-table .cell-inherited[b-jjd3z1f0lr] {
    font-size: 0.8rem;
    color: var(--text-muted, #6b7280);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lines-edit-table .cell-mono[b-jjd3z1f0lr] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    letter-spacing: 0.02em;
}

/* Campo che occupa due colonne della griglia: l'elenco dei lotti contenuti può
   essere lungo e in una colonna singola verrebbe troncato subito. */
.form-grid .form-group-wide[b-jjd3z1f0lr] { grid-column: span 2; }
/* /Components/Pages/Warehouse/LotLoadDocumentList.razor.rz.scp.css */
/* ===========================
   LotLoadDocumentList - Scoped Styles
   Stile "lista contatti": righe/card dei carichi lotto (MCL).

   Copia di LotUnloadDocumentList.razor.css. È il chrome di pagina
   (page-container, page-header, search-bar, status-chip, order-*, doc-status,
   list-pagination) che nel repo esiste in oltre 320 copie scoped: CLAUDE.md
   §«CSS di componente» dice di non consolidarlo di slancio quando la consegna
   ne tocca uno solo. Questa copia peggiora il conto di uno, ed è l'unico modo
   per avere una pagina coerente con le sorelle senza aprire un intervento
   trasversale. Se un giorno si consolida, questi file vanno insieme.

   Sotto la riga finale ci sono le SOLE regole proprie del carico.
   =========================== */

.page-container[b-075blpgu1m] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}
/* Action buttons */
.btn-action[b-075blpgu1m] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-075blpgu1m] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:disabled[b-075blpgu1m] { opacity: 0.5; cursor: default; box-shadow: none; }

.btn-action-secondary[b-075blpgu1m] { background-color: transparent; color: var(--color-action); }
.btn-action-secondary:hover[b-075blpgu1m] { background-color: var(--color-gray-100, rgba(0,0,0,0.04)); color: var(--color-action); }

/* Alert bar */
.alert-bar[b-075blpgu1m] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-075blpgu1m] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }

.alert-bar-close[b-075blpgu1m] {
    margin-left: auto; background: none; border: none;
    font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1;
}
.alert-bar-close:hover[b-075blpgu1m] { opacity: 1; }

/* Status filter chips */
.status-filters[b-075blpgu1m] { display: flex; gap: var(--space-1); flex-wrap: wrap; margin-bottom: var(--space-3); }

.status-chip[b-075blpgu1m] {
    padding: var(--space-1) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: transparent;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    cursor: pointer;
}

.status-chip.is-active[b-075blpgu1m] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary, #fff);
}

/* Search bar */
.search-bar[b-075blpgu1m] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-075blpgu1m] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-075blpgu1m] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-075blpgu1m] {
    flex: 1; border: none; background: transparent;
    font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0;
}
.search-input[b-075blpgu1m]::placeholder { color: var(--text-muted); }
.search-count[b-075blpgu1m] {
    flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted);
    font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px;
}

/* Loading / empty */
.loading-state[b-075blpgu1m], .empty-state[b-075blpgu1m] {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3);
}
.empty-state svg[b-075blpgu1m] { opacity: 0.4; }
.empty-state-text[b-075blpgu1m] { font-size: var(--font-size-base); margin: 0; }

/* Document list (righe) */
.order-list[b-075blpgu1m] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }

.order-row[b-075blpgu1m] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
    cursor: pointer;
}
.order-row:last-child[b-075blpgu1m] { border-bottom: none; }
.order-row:hover[b-075blpgu1m] { background-color: rgba(11, 36, 62, 0.03); }

.order-avatar[b-075blpgu1m] {
    flex-shrink: 0;
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

.order-info[b-075blpgu1m] { flex: 1; min-width: 0; }

.order-name[b-075blpgu1m] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.order-meta[b-075blpgu1m] {
    display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap;
    font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px;
}
.order-code[b-075blpgu1m] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.8; }
.meta-separator[b-075blpgu1m] { color: var(--color-gray-300); }

/* Descrizione tipo documento evidenziata (chip in risalto nella riga) */
.doc-type-chip[b-075blpgu1m] {
    display: inline-flex;
    align-items: center;
    padding: 2px var(--space-2);
    background-color: var(--color-primary);
    color: var(--text-on-primary, #fff);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

.order-details[b-075blpgu1m] { display: flex; align-items: center; gap: var(--space-4); margin-top: var(--space-1); flex-wrap: wrap; }
.order-detail-item[b-075blpgu1m] { font-size: var(--font-size-xs); color: var(--text-muted); }
.detail-label[b-075blpgu1m] { color: var(--color-gray-400); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.3px; margin-right: 2px; }

.order-badges[b-075blpgu1m] { flex-shrink: 0; display: flex; gap: var(--space-2); }

/* Status badge (ind_stato_doc) */
.doc-status[b-075blpgu1m] {
    display: inline-flex; align-items: center;
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase; letter-spacing: 0.3px;
    border: var(--border-width-thin) solid transparent;
    white-space: nowrap;
}
.doc-status.is-draft[b-075blpgu1m]      { background-color: var(--color-gray-100); color: var(--text-muted); border-color: var(--border-color-light); }
.doc-status.is-tobesaved[b-075blpgu1m]  { background-color: #fff4e5; color: #7a4f01; border-color: #f2c98a; }
.doc-status.is-saved[b-075blpgu1m]      { background-color: #e7f5ec; color: #1b5e34; border-color: #a6d8b8; }
.doc-status.is-savederp[b-075blpgu1m]   { background-color: #e8eef6; color: #1c3d63; border-color: #a9c1de; }
.doc-status.is-unknown[b-075blpgu1m]    { background-color: var(--color-gray-100); color: var(--text-muted); }

/* Action buttons */
.order-actions[b-075blpgu1m] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }

.btn-icon[b-075blpgu1m] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px;
    background: none; border: var(--border-width-thin) solid transparent;
    cursor: pointer; color: var(--text-muted); text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}
.btn-icon:hover[b-075blpgu1m] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon:disabled[b-075blpgu1m] { opacity: 0.4; cursor: default; }
.btn-icon:disabled:hover[b-075blpgu1m] { color: var(--text-muted); background: none; border-color: transparent; }

/* Paginazione */
.list-pagination[b-075blpgu1m] {
    display: flex; align-items: center; justify-content: center;
    gap: var(--space-3); margin-top: var(--space-4);
}
.pagination-info[b-075blpgu1m] { color: var(--text-muted); font-size: var(--font-size-sm); }

/* Responsive */
@media (max-width: 768px) {
    .order-row[b-075blpgu1m] { flex-wrap: wrap; }
    .order-badges[b-075blpgu1m] { order: 5; }
    .order-actions[b-075blpgu1m] { order: 6; margin-left: auto; }
    .order-details[b-075blpgu1m] { flex-wrap: wrap; }
}

/* ── Carico lotto: il titolo della card sono i LOTTI CONTENUTI ──────────────── */
/* Il carico non ha numerazione NÉ lotto di testata: l'identificativo a video è  */
/* derivato dalle righe. L'etichetta «Lotto»/«Lotti» precede il valore, e cambia */
/* al singolare o al plurale — «Lotto 2603412, 2603418» si leggerebbe male.      */
.lot-label[b-075blpgu1m] {
    display: inline-block;
    margin-right: 6px;
    padding: 1px 6px;
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-text-muted, #6b7280);
    background: var(--color-surface-alt, #f3f4f6);
    border: 1px solid var(--color-border, #e5e7eb);
    vertical-align: middle;
}
/* /Components/Pages/Warehouse/LotUnloadDocumentDetail.razor.rz.scp.css */
/* ===========================
   SalesDocumentDetail - Scoped Styles
   Allineato a PurchaseDocumentDetail.razor.css, con in più il badge di tracciabilità di riga.
   =========================== */

.page-container[b-qfer2gnxlq] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6, 24px) var(--space-4, 16px);
}
.status-badge[b-qfer2gnxlq] {
    display: inline-flex;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.status-draft[b-qfer2gnxlq] { background: #f4f4f5; color: #71717a; border-color: #e4e4e7; }
.status-pending[b-qfer2gnxlq] { background: #fef9c3; color: #854d0e; border-color: #fde68a; }
.status-saved[b-qfer2gnxlq] { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }

/* ── Messaggi in toast ─────────────────────────────────────────────────────
   Posizione fissa in alto al centro, come nel form: il consolidamento si lancia anche dopo aver
   scorso fino a righe o totali, e un avviso ancorato all'header sarebbe fuori schermo. */
.toast-stack[b-qfer2gnxlq] {
    position: fixed;
    /* Sotto la toolbar agganciata, non sopra il titolo. */
    top: calc(var(--topbar-height) + var(--toolbar-stuck-height) + 16px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 1080;
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: max-content;
    max-width: min(720px, calc(100vw - 32px));
    pointer-events: none;
}

.toast-msg[b-qfer2gnxlq] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    font-size: 13px;
    line-height: 1.45;
    border-left: 4px solid;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    pointer-events: auto;
    animation: toast-slide-in-b-qfer2gnxlq 180ms ease-out;
}

@keyframes toast-slide-in-b-qfer2gnxlq {
    from { opacity: 0; transform: translateY(-14px); }
    to   { opacity: 1; transform: translateY(0); }
}

.toast-msg svg[b-qfer2gnxlq] { flex-shrink: 0; margin-top: 1px; }
.toast-msg-text[b-qfer2gnxlq] { flex: 1 1 auto; }

.toast-msg-danger[b-qfer2gnxlq] { background: #fef2f2; border-left-color: #b91c1c; color: #7f1d1d; }
.toast-msg-success[b-qfer2gnxlq] { background: #ecfdf5; border-left-color: #047857; color: #064e3b; }

.toast-msg-close[b-qfer2gnxlq] {
    flex-shrink: 0;
    background: none; border: none; cursor: pointer;
    font-size: 20px; line-height: 1; padding: 0 2px;
    color: inherit; opacity: .55;
}
.toast-msg-close:hover[b-qfer2gnxlq] { opacity: 1; }

@media (max-width: 768px) {
    .toast-stack[b-qfer2gnxlq] { left: 16px; right: 16px; transform: none; width: auto; max-width: none; }
}

.loading-state[b-qfer2gnxlq], .empty-state[b-qfer2gnxlq] {
    text-align: center;
    padding: 48px 16px;
    color: #6b7280;
}

.tabs[b-qfer2gnxlq] {
    display: flex;
    gap: 0;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.tab[b-qfer2gnxlq] {
    background: none;
    border: none;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 500;
    color: #6b7280;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}
.tab:hover[b-qfer2gnxlq] { color: #111827; }
.tab.active[b-qfer2gnxlq] {
    color: #1d4ed8;
    border-bottom-color: #1d4ed8;
    font-weight: 600;
}

.tab-panel[b-qfer2gnxlq] { padding-top: 8px; }

.cards-grid[b-qfer2gnxlq] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    gap: 16px;
}

.info-card[b-qfer2gnxlq] {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 16px;
}
.info-card-title[b-qfer2gnxlq] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    margin-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 8px;
}
.info-grid[b-qfer2gnxlq] { display: grid; gap: 8px; }
.info-row[b-qfer2gnxlq] { display: grid; grid-template-columns: 160px 1fr; gap: 12px; align-items: start; }
.info-label[b-qfer2gnxlq] { font-size: 11px; text-transform: uppercase; color: #6b7280; letter-spacing: 0.04em; padding-top: 2px; }
.info-value[b-qfer2gnxlq] { font-size: 13px; color: #111827; overflow-wrap: anywhere; }

.lines-wrapper[b-qfer2gnxlq] { background: #fff; border: 1px solid #e5e7eb; overflow-x: auto; }
.lines-table[b-qfer2gnxlq] { width: 100%; border-collapse: collapse; font-size: 13px; }
.lines-table thead th[b-qfer2gnxlq] {
    text-align: left;
    padding: 10px 12px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #374151;
}
.lines-table tbody td[b-qfer2gnxlq] { padding: 10px 12px; border-bottom: 1px solid #f1f5f9; }

.text-end[b-qfer2gnxlq] { text-align: right; }
.text-center[b-qfer2gnxlq] { text-align: center; }

/* ── Badge del progressivo di riga (prg_mov) ───────────────────────────────
   Stesso aspetto del badge nel form, così la riga si riconosce passando fra le due viste. */
.cell-seq[b-qfer2gnxlq] { text-align: center; vertical-align: middle; width: 44px; }

.seq-badge[b-qfer2gnxlq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 22px;
    padding: 0 6px;
    background: #eef2f7;
    border: 1px solid #d7dee8;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

/* Indicatore di tracciabilità di riga (flg_traceable + id_mov_barcode_padre).
   Il dettaglio della provenienza è nel tooltip, per non allargare la tabella. */
.trace-badge[b-qfer2gnxlq] {
    display: inline-flex;
    padding: 2px 8px;
    font-size: 10px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
    cursor: help;
}
.trace-badge.is-traceable[b-qfer2gnxlq] { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.trace-badge.is-untraceable[b-qfer2gnxlq] { background: transparent; color: #9ca3af; border-color: transparent; cursor: default; }

.badges-row[b-qfer2gnxlq] { display: flex; gap: 8px; flex-wrap: wrap; }
.flag-badge[b-qfer2gnxlq] {
    display: inline-flex;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
}
.flag-on[b-qfer2gnxlq] { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.flag-off[b-qfer2gnxlq] { background: #f4f4f5; color: #71717a; border-color: #e4e4e7; }

/* ── Scarico lotto: card «Lotto» in evidenza ───────────────────────────────── */
/* Il lotto è l'identità del documento (non c'è numerazione): la sua card va    */
/* distinta dalle altre, non confusa fra le informazioni generali.              */
.info-card-highlight[b-qfer2gnxlq] {
    border-left: 3px solid var(--color-primary, #2563eb);
}

.info-value-strong[b-qfer2gnxlq] {
    font-weight: 600;
}

/* Barcode: 20 caratteri alfanumerici, illeggibili in proporzionale. */
.info-value-mono[b-qfer2gnxlq] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.85rem;
    letter-spacing: 0.02em;
    word-break: break-all;
}

/* Nota esplicativa in coda a una card: spiega un vincolo, non è un dato. */
.info-note[b-qfer2gnxlq] {
    margin: 8px 0 0;
    padding-top: 8px;
    border-top: 1px dashed var(--color-border, #e5e7eb);
    font-size: 0.78rem;
    line-height: 1.4;
    color: var(--color-text-muted, #6b7280);
}
/* /Components/Pages/Warehouse/LotUnloadDocumentForm.razor.rz.scp.css */
/* ===========================
   SalesDocumentForm - Scoped Styles
   Allineato a PurchaseDocumentForm.razor.css, con in più:
   - .alert-bar-warning (avviso di tracciabilità obbligatoria senza barra disponibile)
   - .line-row-main.is-traceable e .trac-parent (riga tracciabile e sua provenienza)
   =========================== */

.page-container[b-li70na74wu] {
    max-width: 1400px;
    margin: 0 auto;
    padding: 24px 16px;
}
/* ── Messaggi in toast ─────────────────────────────────────────────────────
   Posizione FISSA in alto al centro: il form è lungo e l'operatore lavora sulla griglia righe, in
   fondo alla pagina. Un avviso ancorato all'header sarebbe fuori dallo schermo proprio quando serve
   — è il caso del rifiuto per giacenza insufficiente. */
.toast-stack[b-li70na74wu] {
    position: fixed;
    /* Sotto la toolbar agganciata, non sopra il titolo. */
    top: calc(var(--topbar-height) + var(--toolbar-stuck-height) + 16px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 1080;   /* sopra il modale dettagli riga (1050) */
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: max-content;
    max-width: min(720px, calc(100vw - 32px));
    pointer-events: none;   /* il contenitore non intercetta i click sul form sottostante */
}

.toast-msg[b-li70na74wu] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    font-size: 13px;
    line-height: 1.45;
    border-left: 4px solid;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    pointer-events: auto;   /* ma il singolo toast sì: va chiuso */
    animation: toast-slide-in-b-li70na74wu 180ms ease-out;
}

/* Entrata dall'alto: il movimento è ciò che attira lo sguardo su un messaggio che compare
   mentre l'attenzione è altrove. */
@keyframes toast-slide-in-b-li70na74wu {
    from { opacity: 0; transform: translateY(-14px); }
    to   { opacity: 1; transform: translateY(0); }
}

.toast-msg svg[b-li70na74wu] { flex-shrink: 0; margin-top: 1px; }
.toast-msg-text[b-li70na74wu] { flex: 1 1 auto; }

.toast-msg-danger[b-li70na74wu] { background: #fef2f2; border-left-color: #b91c1c; color: #7f1d1d; }
.toast-msg-success[b-li70na74wu] { background: #ecfdf5; border-left-color: #047857; color: #064e3b; }

.toast-msg-close[b-li70na74wu] {
    flex-shrink: 0;
    background: none; border: none; cursor: pointer;
    font-size: 20px; line-height: 1; padding: 0 2px;
    color: inherit; opacity: .55;
}
.toast-msg-close:hover[b-li70na74wu] { opacity: 1; }

@media (max-width: 768px) {
    .toast-stack[b-li70na74wu] { left: 16px; right: 16px; transform: none; width: auto; max-width: none; }
}

/* Avviso di configurazione in linea nel flusso (non è un errore dell'utente): tono ambra. */
.alert-bar[b-li70na74wu] { display: flex; align-items: center; gap: 8px; padding: 12px 16px; margin-bottom: 12px; font-size: 13px; border-left: 4px solid; }
.alert-bar-warning[b-li70na74wu] { background: #fffbeb; border-left-color: #d97706; color: #78350f; }

.loading-state[b-li70na74wu] { text-align: center; padding: 48px 16px; color: #6b7280; }

.form-section[b-li70na74wu] {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 16px;
    margin-bottom: 16px;
}
.form-section-header[b-li70na74wu] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }

/* ── Testata della sezione Righe: interruttore + pulsante ──────────────────
   L'interruttore di aggiunta automatica sta accanto al pulsante perché è quell'azione che modifica:
   acceso, «Aggiungi riga» avviene da solo ad ogni lettura valida. */
.lines-header-actions[b-li70na74wu] { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }

.auto-add-switch[b-li70na74wu] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
    font-size: 12px;
    color: #334155;
    margin: 0;
}

.auto-add-switch input[b-li70na74wu] { position: absolute; opacity: 0; width: 0; height: 0; }

.auto-add-track[b-li70na74wu] {
    position: relative;
    width: 34px;
    height: 18px;
    background: #cbd5e1;
    border-radius: 999px;
    transition: background-color 140ms ease;
    flex-shrink: 0;
}

.auto-add-thumb[b-li70na74wu] {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 14px;
    height: 14px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    transition: transform 140ms ease;
}

/* Verde da acceso: stesso colore della riga tracciabile e del badge di tracciabilità, perché è
   dello stesso flusso che si parla. */
.auto-add-switch input:checked + .auto-add-track[b-li70na74wu] { background: #047857; }
.auto-add-switch input:checked + .auto-add-track .auto-add-thumb[b-li70na74wu] { transform: translateX(16px); }
.auto-add-switch input:focus-visible + .auto-add-track[b-li70na74wu] { box-shadow: 0 0 0 3px rgba(4, 120, 87, 0.25); }

.auto-add-label[b-li70na74wu] { line-height: 1.2; text-transform: none; letter-spacing: normal; font-weight: 500; }

/* Non applicabile con la proposta 'N': resta visibile ma inerte, e il tooltip dice perché.
   Nasconderlo lascerebbe l'operatore a chiedersi dove sia finito. */
.auto-add-switch.is-disabled[b-li70na74wu] { cursor: not-allowed; color: #94a3b8; }
.auto-add-switch.is-disabled .auto-add-track[b-li70na74wu] { background: #e2e8f0; }
.form-section-title[b-li70na74wu] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    margin-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 8px;
}
.form-section-header .form-section-title[b-li70na74wu] { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }

.form-section-collapsible > summary[b-li70na74wu] {
    cursor: pointer;
    list-style: none;
    user-select: none;
    display: flex;
    align-items: center;
    gap: 8px;
}
.form-section-collapsible > summary[b-li70na74wu]::-webkit-details-marker { display: none; }
.form-section-collapsible > summary[b-li70na74wu]::before {
    content: "▸";
    font-size: 12px;
    color: #6b7280;
    transition: transform 0.15s ease;
    display: inline-block;
}
.form-section-collapsible[open] > summary[b-li70na74wu]::before {
    transform: rotate(90deg);
}
.form-section-collapsible:not([open]) > summary[b-li70na74wu] {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
.form-section-collapsible[open] > summary[b-li70na74wu] {
    margin-bottom: 12px;
}

.form-grid[b-li70na74wu] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}
.form-group[b-li70na74wu] { display: flex; flex-direction: column; gap: 4px; }
.form-group label[b-li70na74wu] { font-size: 11px; text-transform: uppercase; color: #6b7280; letter-spacing: 0.04em; font-weight: 600; }

.empty-state-inline[b-li70na74wu] {
    text-align: center;
    padding: 24px;
    color: #9ca3af;
    font-style: italic;
    font-size: 13px;
    border: 1px dashed #e5e7eb;
}

.lines-edit-wrapper[b-li70na74wu] { overflow-x: auto; }
.lines-edit-table[b-li70na74wu] { width: 100%; border-collapse: collapse; font-size: 13px; }
.lines-edit-table thead th[b-li70na74wu] {
    text-align: left;
    padding: 8px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #374151;
}
.lines-edit-table tbody td[b-li70na74wu] { padding: 4px; border-bottom: 1px solid #f1f5f9; }
.lines-edit-table .text-end[b-li70na74wu] { text-align: right; }
.lines-edit-table .form-control-sm[b-li70na74wu] { padding: 4px 8px; font-size: 13px; }
/* Campo quantità calcolato dall'UM base: sola lettura, sfondo grigio. */
.lines-edit-table .qty-readonly[b-li70na74wu] { background-color: #f3f4f6; cursor: default; }
/* Campi di riga non editabili (descrizione articolo, codice articolo, IVA): stessa resa dei
   campi readonly di testata (LookupField) — sfondo grigio chiaro e cursore normale. */
.lines-edit-table input[readonly][b-li70na74wu] {
    background-color: var(--color-gray-50, #f3f4f6);
    color: var(--color-gray-700, #374151);
    cursor: default;
}
.lines-summary[b-li70na74wu] { padding: 12px; background: #f9fafb; font-size: 13px; color: #374151; }

/* ── Piede documento: card riepilogo totali ─────────────────────────────── */
/* I totali restano ancorati al fondo della finestra mentre si scorrono le righe: su un documento
   lungo l'operatore vede l'effetto di ogni riga sul totale senza dover scendere in fondo.

   È `sticky`, non `fixed`: la fascia resta dentro la sezione Righe, quindi si sgancia da sola
   quando la sezione esce dallo schermo, invece di restare sospesa sul resto del form.

   Perché funziona: `.lines-totals` è FRATELLO di `.lines-edit-wrapper` (che ha overflow-x per lo
   scorrimento orizzontale della tabella), non figlio — un antenato con overflow annullerebbe
   l'ancoraggio. Se in futuro si sposta dentro il wrapper, questo comportamento si perde. */
.lines-totals[b-li70na74wu] {
    position: sticky;
    bottom: 0;
    z-index: 3;

    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px;
    background: #f9fafb;
    border-top: 1px solid #e5e7eb;
    /* Ombra verso l'alto: quando è ancorata si distingue dalle righe che le scorrono sotto. */
    box-shadow: 0 -2px 6px rgba(15, 23, 42, 0.06);
}

/* Su schermi bassi le card andrebbero a capo occupando mezza finestra: si stringono e si rendono
   scorrevoli in orizzontale, così restano una fascia sottile e non rubano spazio alle righe. */
@media (max-height: 800px) {
    .lines-totals[b-li70na74wu] {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 8px 12px;
    }

    .lines-totals .total-card[b-li70na74wu] { min-width: 92px; padding: 6px 10px; }
    .lines-totals .total-card-value[b-li70na74wu] { font-size: 14px; }
}
.total-card[b-li70na74wu] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 104px;
    padding: 8px 12px;
    background: #fff;
    border: 1px solid #e5e7eb;
}
.total-card-label[b-li70na74wu] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
}
.total-card-value[b-li70na74wu] {
    font-size: 16px;
    font-weight: 700;
    color: #111827;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
/* Card importo documento: evidenziata e spinta a destra. */
.total-card-emphasis[b-li70na74wu] {
    margin-left: auto;
    background: #eff6ff;
    border-color: #bfdbfe;
}
.total-card-emphasis .total-card-value[b-li70na74wu] { color: #1d4ed8; }

/* ── Riga documento a due righe (struttura allineata a OrderForm) ─────────
   La riga principale non chiude il bordo; il separatore è sulla sotto-riga
   che contiene le quantità secondarie (Pezzi/Colli/Pallet/Qta netto). */
.lines-edit-table tbody tr.line-row-main td[b-li70na74wu] { border-bottom: none; padding-bottom: 2px; }
.lines-edit-table tbody tr.line-row-secondary td[b-li70na74wu] { padding-top: 0; padding-bottom: 6px; border-bottom-color: #cbd5e1; }

/* Riga tracciabile: filetto verde a sinistra. Segnale discreto ma sempre visibile, così si
   distingue a colpo d'occhio da una riga classica senza aggiungere colonne. */
.lines-edit-table tbody tr.line-row-main.is-traceable td:first-child[b-li70na74wu] {
    box-shadow: inset 3px 0 0 0 #047857;
}

/* ── Badge del progressivo di riga (prg_mov) ───────────────────────────────
   Colonna stretta a sinistra: è un riferimento di lettura, non un dato da editare. */
.cell-seq[b-li70na74wu] { text-align: center; vertical-align: middle; }

.seq-badge[b-li70na74wu] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 22px;
    padding: 0 6px;
    background: #eef2f7;
    border: 1px solid #d7dee8;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
    /* Tabellare: con progressivi a una e due cifre i badge restano allineati in colonna. */
    font-variant-numeric: tabular-nums;
}

/* Riga non ancora salvata: il progressivo non esiste, il badge è smorzato e mostra un segnaposto. */
.seq-badge.is-new[b-li70na74wu] {
    background: transparent;
    border-style: dashed;
    border-color: #cbd5e1;
    color: #94a3b8;
    font-weight: 400;
}

.line-qty-secondary[b-li70na74wu] { display: flex; gap: 9px; flex-wrap: wrap; }
.line-qty-secondary .qty-field[b-li70na74wu] { display: flex; flex-direction: column; gap: 2px; width: 96px; }
/* Pezzi largo come la colonna Quantità (qta_merce) sopra. */
.line-qty-secondary .qty-field-pieces[b-li70na74wu] { width: 114px; }
/* Colli leggermente più stretto. */
.line-qty-secondary .qty-field-packages[b-li70na74wu] { width: 90px; }
.line-qty-secondary .qty-field-pallets[b-li70na74wu] { width: 96px; }
.line-qty-secondary .qty-field-net[b-li70na74wu] { width: 114px; }
.line-qty-secondary .qty-field label[b-li70na74wu] {
    font-size: 10px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.4px; color: #94a3b8;
}
/* Campo quantità collegato all'UM (des_nome_campo_calc): sola lettura, tenuto = qta_merce. */
.qty-readonly[b-li70na74wu] { background: #f3f4f6; color: #6b7280; cursor: default; }

/* Campi numerici culture-aware (QuantityField/PriceField/PercentageField) dentro le celle
   della griglia righe: rimuovono lo spazio del form-group e la label interna, così si
   comportano come gli input compatti della tabella. */
.cell-num-field[b-li70na74wu]  .form-group { margin: 0; padding: 0; }
.cell-num-field[b-li70na74wu]  .form-label { display: none; }
.cell-num-field[b-li70na74wu]  .quantity-input-wrapper,
.cell-num-field[b-li70na74wu]  .price-input-wrapper,
.cell-num-field[b-li70na74wu]  .percentage-input-wrapper { margin: 0; }
.cell-num-field[b-li70na74wu]  .form-control {
    font-size: 13px;
    height: 28px;
    width: 100%;
    text-align: right;
}
/* Nascondiamo il suggerimento decimali. */
.cell-num-field[b-li70na74wu]  [class$="-decimals-hint"] { display: none; }
/* Con il suggerimento nascosto rimuoviamo il padding-right riservato così Quantità e Prezzo
   restano a filo destro. !important perché le regole scoped dei componenti hanno pari specificità. */
.cell-num-field[b-li70na74wu]  .quantity-input,
.cell-num-field[b-li70na74wu]  .price-input {
    padding: 4px 8px !important;
    text-align: right !important;
}
/* La percentuale mantiene un piccolo spazio a destra per il simbolo %. */
.cell-num-field[b-li70na74wu]  .percentage-input {
    padding: 4px 1.6em 4px 8px !important;
    text-align: right !important;
}
.cell-num-field[b-li70na74wu]  .percentage-symbol { font-size: 11px; color: #94a3b8; }

/* Sotto-riga read-only con i campi di tracciabilità (aumenta l'altezza della riga). */
.line-trac-row td[b-li70na74wu] { padding: 6px 8px 10px 8px; border-bottom: 1px solid #e5e7eb; background: #fafafa; }
.trac-readonly[b-li70na74wu] { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline; }
.trac-title[b-li70na74wu] {
    font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
    color: #6b7280; margin-right: 4px;
}
.trac-item[b-li70na74wu] { font-size: 12px; color: #374151; white-space: nowrap; }
.trac-item-label[b-li70na74wu] { color: #9ca3af; }

/* Provenienza della merce (barcode padre): sfondo verde tenue, per distinguerla dalla
   tracciabilità di settore che vive nella riga successiva. */
.trac-parent[b-li70na74wu] { background: #f0fdf4; padding: 4px 8px; }
.trac-parent .trac-title[b-li70na74wu] { color: #047857; }

.lines-hint[b-li70na74wu] { font-size: 12px; color: #9ca3af; margin: 8px 0 0 0; font-style: italic; }
.line-actions[b-li70na74wu] { display: flex; gap: 4px; }
.btn-icon[b-li70na74wu] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px;
    background: transparent; border: 1px solid transparent;
    color: #4b5563;
    cursor: pointer;
    border-radius: 4px;
}
.btn-icon-primary:hover[b-li70na74wu] { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }

/* Icona conferma riga: rosso = da confermare, verde = confermata. */
.btn-icon-confirm.needs-confirm[b-li70na74wu] { color: #b91c1c; }
.btn-icon-confirm.needs-confirm:hover[b-li70na74wu] { background: #fef2f2; border-color: #fecaca; }
.btn-icon-confirm.is-confirmed[b-li70na74wu] { color: #047857; }
.btn-icon-confirm.is-confirmed:hover[b-li70na74wu] { background: #ecfdf5; border-color: #a7f3d0; }
.btn-icon-danger:hover[b-li70na74wu] { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }

.line-lookup[b-li70na74wu] {
    display: flex;
    align-items: stretch;
    gap: 4px;
}
.line-lookup .form-control[b-li70na74wu] { flex: 1 1 auto; min-width: 0; }
.btn-lookup-sm[b-li70na74wu] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    flex: 0 0 28px;
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    color: #374151;
    cursor: pointer;
    border-radius: 4px;
    padding: 0;
}
.btn-lookup-sm:hover[b-li70na74wu] { background: #e5e7eb; color: #111827; }

/* ══════════════════════════════════════════════════════════════════════════
   Scarico lotto — stili propri di questa famiglia
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Identità del documento ──────────────────────────────────────────────
   Il lotto non è un dato fra gli altri: è l'identificativo del documento,
   al posto del numero che qui non esiste. La sezione va distinta. */
.lot-identity[b-li70na74wu] {
    border-left: 3px solid var(--color-primary, #0B243E);
}

.form-control.is-readonly[b-li70na74wu] {
    background: var(--color-gray-50, #F8F9FA);
    color: var(--color-gray-600, #495057);
    cursor: default;
}

/* Barcode: 20 caratteri alfanumerici, illeggibili in proporzionale. */
.form-control.is-mono[b-li70na74wu] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.85rem;
    letter-spacing: 0.02em;
}

.form-section-note[b-li70na74wu] {
    margin: 8px 0 0;
    font-size: 0.78rem;
    line-height: 1.4;
    color: var(--color-gray-500, #6C757D);
}

/* ── Regole di composizione del lotto ────────────────────────────────────
   Pannello mostrato SOPRA la griglia righe: rendere il vincolo visibile
   prima della compilazione è ciò che trasforma la violazione da evento
   ordinario a eccezione. */
.rule-panel[b-li70na74wu] {
    margin: 0 0 12px;
    padding: 10px 12px;
    background: var(--color-gray-50, #F8F9FA);
    border: 1px solid var(--color-gray-200, #DEE2E6);
    border-left: 3px solid var(--color-info, #17A2B8);
}

.rule-panel-title[b-li70na74wu] {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-gray-600, #495057);
    margin-bottom: 6px;
}

.rule-panel-list[b-li70na74wu] {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
}

.rule-panel-list li[b-li70na74wu] {
    display: flex;
    align-items: baseline;
    gap: 6px;
    font-size: 0.82rem;
}

/* Vincolo già determinato (valore fissato dalle righe o costante di regola):
   si distingue da quello ancora libero, perché l'operatore sappia cosa è
   ormai deciso e cosa può ancora scegliere. */
.rule-panel-list li.is-locked .rule-field-name[b-li70na74wu] {
    background: var(--color-info, #17A2B8);
    color: #fff;
    border-color: var(--color-info, #17A2B8);
}

.rule-field-name[b-li70na74wu] {
    padding: 1px 6px;
    font-weight: 600;
    font-size: 0.75rem;
    background: var(--color-white, #fff);
    border: 1px solid var(--color-gray-300, #CED4DA);
}

.rule-field-desc[b-li70na74wu] {
    color: var(--color-gray-600, #495057);
}

.rule-panel-note[b-li70na74wu] {
    margin: 8px 0 0;
    font-size: 0.76rem;
    color: var(--color-gray-500, #6C757D);
}

/* Campo di riga soggetto a clausola: evidenziato in griglia. */
.rule-field input[b-li70na74wu],
.rule-field .form-control[b-li70na74wu] {
    border-color: var(--color-info, #17A2B8);
}

.rule-field-locked input[b-li70na74wu],
.rule-field-locked .form-control[b-li70na74wu] {
    background: rgba(23, 162, 184, 0.06);
}

/* ── Violazioni di regola ────────────────────────────────────────────────
   Elenco puntato dentro il toast: tre violazioni in un paragrafo unico
   vengono scorse, tre punti vengono letti. */
.toast-msg-rules[b-li70na74wu] {
    align-items: flex-start;
}

.rule-violation-list[b-li70na74wu] {
    margin: 6px 0 0;
    padding-left: 18px;
}

.rule-violation-list li[b-li70na74wu] {
    margin-bottom: 3px;
    line-height: 1.35;
}

/* Toggle di sezione collassabile: pulsante che si comporta da titolo. */
.form-section-toggle[b-li70na74wu] {
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
/* /Components/Pages/Warehouse/LotUnloadDocumentList.razor.rz.scp.css */
/* ===========================
   SalesDocumentList - Scoped Styles
   Stile "lista contatti": righe/card documenti di vendita (BLV/FAV)
   Allineato a PurchaseDocumentList.razor.css, senza le regole della dialog di
   generazione fattura (overlay, confirm-*, azioni collegate): in vendita non esiste.
   =========================== */

.page-container[b-5qvivyrgwc] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}
/* Action buttons */
.btn-action[b-5qvivyrgwc] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-5qvivyrgwc] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:disabled[b-5qvivyrgwc] { opacity: 0.5; cursor: default; box-shadow: none; }

.btn-action-secondary[b-5qvivyrgwc] { background-color: transparent; color: var(--color-action); }
.btn-action-secondary:hover[b-5qvivyrgwc] { background-color: var(--color-gray-100, rgba(0,0,0,0.04)); color: var(--color-action); }

/* Alert bar */
.alert-bar[b-5qvivyrgwc] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-5qvivyrgwc] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }

.alert-bar-close[b-5qvivyrgwc] {
    margin-left: auto; background: none; border: none;
    font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1;
}
.alert-bar-close:hover[b-5qvivyrgwc] { opacity: 1; }

/* Status filter chips */
.status-filters[b-5qvivyrgwc] { display: flex; gap: var(--space-1); flex-wrap: wrap; margin-bottom: var(--space-3); }

.status-chip[b-5qvivyrgwc] {
    padding: var(--space-1) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: transparent;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    cursor: pointer;
}

.status-chip.is-active[b-5qvivyrgwc] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary, #fff);
}

/* Search bar */
.search-bar[b-5qvivyrgwc] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-5qvivyrgwc] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-5qvivyrgwc] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-5qvivyrgwc] {
    flex: 1; border: none; background: transparent;
    font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0;
}
.search-input[b-5qvivyrgwc]::placeholder { color: var(--text-muted); }
.search-count[b-5qvivyrgwc] {
    flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted);
    font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px;
}

/* Loading / empty */
.loading-state[b-5qvivyrgwc], .empty-state[b-5qvivyrgwc] {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3);
}
.empty-state svg[b-5qvivyrgwc] { opacity: 0.4; }
.empty-state-text[b-5qvivyrgwc] { font-size: var(--font-size-base); margin: 0; }

/* Document list (righe) */
.order-list[b-5qvivyrgwc] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }

.order-row[b-5qvivyrgwc] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
    cursor: pointer;
}
.order-row:last-child[b-5qvivyrgwc] { border-bottom: none; }
.order-row:hover[b-5qvivyrgwc] { background-color: rgba(11, 36, 62, 0.03); }

.order-avatar[b-5qvivyrgwc] {
    flex-shrink: 0;
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

.order-info[b-5qvivyrgwc] { flex: 1; min-width: 0; }

.order-name[b-5qvivyrgwc] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.order-meta[b-5qvivyrgwc] {
    display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap;
    font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px;
}
.order-code[b-5qvivyrgwc] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.8; }
.meta-separator[b-5qvivyrgwc] { color: var(--color-gray-300); }

/* Descrizione tipo documento evidenziata (chip in risalto nella riga) */
.doc-type-chip[b-5qvivyrgwc] {
    display: inline-flex;
    align-items: center;
    padding: 2px var(--space-2);
    background-color: var(--color-primary);
    color: var(--text-on-primary, #fff);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

.order-details[b-5qvivyrgwc] { display: flex; align-items: center; gap: var(--space-4); margin-top: var(--space-1); flex-wrap: wrap; }
.order-detail-item[b-5qvivyrgwc] { font-size: var(--font-size-xs); color: var(--text-muted); }
.detail-label[b-5qvivyrgwc] { color: var(--color-gray-400); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.3px; margin-right: 2px; }

.order-badges[b-5qvivyrgwc] { flex-shrink: 0; display: flex; gap: var(--space-2); }

/* Status badge (ind_stato_doc) */
.doc-status[b-5qvivyrgwc] {
    display: inline-flex; align-items: center;
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase; letter-spacing: 0.3px;
    border: var(--border-width-thin) solid transparent;
    white-space: nowrap;
}
.doc-status.is-draft[b-5qvivyrgwc]      { background-color: var(--color-gray-100); color: var(--text-muted); border-color: var(--border-color-light); }
.doc-status.is-tobesaved[b-5qvivyrgwc]  { background-color: #fff4e5; color: #7a4f01; border-color: #f2c98a; }
.doc-status.is-saved[b-5qvivyrgwc]      { background-color: #e7f5ec; color: #1b5e34; border-color: #a6d8b8; }
.doc-status.is-savederp[b-5qvivyrgwc]   { background-color: #e8eef6; color: #1c3d63; border-color: #a9c1de; }
.doc-status.is-unknown[b-5qvivyrgwc]    { background-color: var(--color-gray-100); color: var(--text-muted); }

/* Action buttons */
.order-actions[b-5qvivyrgwc] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }

.btn-icon[b-5qvivyrgwc] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px;
    background: none; border: var(--border-width-thin) solid transparent;
    cursor: pointer; color: var(--text-muted); text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}
.btn-icon:hover[b-5qvivyrgwc] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon:disabled[b-5qvivyrgwc] { opacity: 0.4; cursor: default; }
.btn-icon:disabled:hover[b-5qvivyrgwc] { color: var(--text-muted); background: none; border-color: transparent; }

/* Paginazione */
.list-pagination[b-5qvivyrgwc] {
    display: flex; align-items: center; justify-content: center;
    gap: var(--space-3); margin-top: var(--space-4);
}
.pagination-info[b-5qvivyrgwc] { color: var(--text-muted); font-size: var(--font-size-sm); }

/* Responsive */
@media (max-width: 768px) {
    .order-row[b-5qvivyrgwc] { flex-wrap: wrap; }
    .order-badges[b-5qvivyrgwc] { order: 5; }
    .order-actions[b-5qvivyrgwc] { order: 6; margin-left: auto; }
    .order-details[b-5qvivyrgwc] { flex-wrap: wrap; }
}

/* ── Scarico lotto: il titolo della card è il LOTTO, non il numero documento ── */
/* Lo scarico non ha numerazione, quindi l'identificativo a video è des_lotto.   */
/* L'etichetta "Lotto" precede il valore per non lasciare ambiguo il numero.     */
.lot-label[b-5qvivyrgwc] {
    display: inline-block;
    margin-right: 6px;
    padding: 1px 6px;
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-text-muted, #6b7280);
    background: var(--color-surface-alt, #f3f4f6);
    border: 1px solid var(--color-border, #e5e7eb);
    vertical-align: middle;
}
/* /Components/Pages/Warehouse/PackageCompositionCreate.razor.rz.scp.css */
/* ===========================
   PackageCompositionCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-wpzgoj61mk] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-wpzgoj61mk] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-wpzgoj61mk] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-wpzgoj61mk] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-wpzgoj61mk] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-close[b-wpzgoj61mk] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-wpzgoj61mk] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-wpzgoj61mk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-wpzgoj61mk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-wpzgoj61mk] {
    opacity: 0.4;
}

.empty-state-text[b-wpzgoj61mk] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-wpzgoj61mk] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-wpzgoj61mk] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-wpzgoj61mk] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-wpzgoj61mk] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-wpzgoj61mk] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-wpzgoj61mk] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-wpzgoj61mk] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-wpzgoj61mk] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-wpzgoj61mk] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-wpzgoj61mk]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-wpzgoj61mk] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-500);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

/* Nota informativa fuori sezione (es. «l'immagine si carica dopo il salvataggio») */
.form-hint-box[b-wpzgoj61mk] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-6);
    padding: var(--space-3) var(--space-4);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--border-color-light);
}

.form-hint-box svg[b-wpzgoj61mk] {
    flex-shrink: 0;
    opacity: 0.6;
}

.btn-action[b-wpzgoj61mk] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-wpzgoj61mk] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-wpzgoj61mk] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-wpzgoj61mk] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-wpzgoj61mk] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-wpzgoj61mk] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-wpzgoj61mk] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-wpzgoj61mk] {
        grid-column: span 1;
    }
}

/* Nota sotto il pulsante «Calcola dai livelli»: la somma proposta. È markup della pagina, non di
   un controllo condiviso, quindi la regola sta qui. */
.form-note[b-wpzgoj61mk] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: var(--space-1);
}
/* /Components/Pages/Warehouse/PackageCompositionEdit.razor.rz.scp.css */
/* ===========================
   PackageCompositionEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-4x6bxiz6p6] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-4x6bxiz6p6] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-4x6bxiz6p6] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-4x6bxiz6p6] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-4x6bxiz6p6] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-close[b-4x6bxiz6p6] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-4x6bxiz6p6] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-4x6bxiz6p6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-4x6bxiz6p6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-4x6bxiz6p6] {
    opacity: 0.4;
}

.empty-state-text[b-4x6bxiz6p6] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-4x6bxiz6p6] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-4x6bxiz6p6] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-4x6bxiz6p6] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-4x6bxiz6p6] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-4x6bxiz6p6] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-4x6bxiz6p6] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-4x6bxiz6p6] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-4x6bxiz6p6] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-4x6bxiz6p6] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-4x6bxiz6p6]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-4x6bxiz6p6] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-500);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

/* Nota informativa fuori sezione (es. «l'immagine si carica dopo il salvataggio») */
.form-hint-box[b-4x6bxiz6p6] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-6);
    padding: var(--space-3) var(--space-4);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--border-color-light);
}

.form-hint-box svg[b-4x6bxiz6p6] {
    flex-shrink: 0;
    opacity: 0.6;
}

.btn-action[b-4x6bxiz6p6] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-4x6bxiz6p6] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-4x6bxiz6p6] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-4x6bxiz6p6] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-4x6bxiz6p6] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-4x6bxiz6p6] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-4x6bxiz6p6] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-4x6bxiz6p6] {
        grid-column: span 1;
    }
}

/* Nota sotto il pulsante «Calcola dai livelli»: la somma proposta. È markup della pagina, non di
   un controllo condiviso, quindi la regola sta qui. */
.form-note[b-4x6bxiz6p6] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: var(--space-1);
}
/* /Components/Pages/Warehouse/PackageCompositionList.razor.rz.scp.css */
/* ===========================
   PackageCompositionList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-oo9ib8p175] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-oo9ib8p175] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-oo9ib8p175] {
    background-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
}

/* Alert Bars */
.alert-bar[b-oo9ib8p175] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-oo9ib8p175] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-oo9ib8p175] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-oo9ib8p175] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-oo9ib8p175] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-oo9ib8p175] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
}

.search-input-wrapper[b-oo9ib8p175] {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
}

.search-icon[b-oo9ib8p175] {
    position: absolute;
    left: var(--space-3);
    color: var(--text-muted);
    pointer-events: none;
}

.search-input[b-oo9ib8p175] {
    width: 100%;
    padding: var(--space-2) var(--space-3) var(--space-2) calc(var(--space-3) + 24px);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.search-input:focus[b-oo9ib8p175] {
    border-color: var(--color-primary);
    outline: none;
}

.search-input[b-oo9ib8p175]::placeholder {
    color: var(--color-gray-400);
}

.search-clear[b-oo9ib8p175] {
    position: absolute;
    right: var(--space-2);
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-oo9ib8p175] {
    color: var(--color-danger);
}

.search-count[b-oo9ib8p175] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    white-space: nowrap;
}

/* Loading State */
.loading-state[b-oo9ib8p175] {
    text-align: center;
    padding: var(--space-10) 0;
    color: var(--text-muted);
}

.loading-state p[b-oo9ib8p175] {
    margin-top: var(--space-3);
    font-size: var(--font-size-sm);
}

/* Empty State */
.empty-state[b-oo9ib8p175] {
    text-align: center;
    padding: var(--space-10) 0;
    color: var(--text-muted);
}

.empty-state svg[b-oo9ib8p175] {
    opacity: 0.3;
    margin-bottom: var(--space-3);
}

.empty-state-text[b-oo9ib8p175] {
    font-size: var(--font-size-sm);
    margin-bottom: var(--space-3);
}

/* Item List */
.item-list[b-oo9ib8p175] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.item-row[b-oo9ib8p175] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    background-color: var(--color-white);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-oo9ib8p175] {
    border-bottom: none;
}

.item-row:hover[b-oo9ib8p175] {
    background-color: var(--color-gray-50);
}

.item-avatar[b-oo9ib8p175] {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
    flex-shrink: 0;
}

.item-info[b-oo9ib8p175] {
    flex: 1;
    min-width: 0;
}

.item-name[b-oo9ib8p175] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-700);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-oo9ib8p175] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: 2px;
}

.item-code[b-oo9ib8p175] {
    font-family: var(--font-mono);
}

.item-separator[b-oo9ib8p175] {
    color: var(--border-color-light);
}

.item-actions[b-oo9ib8p175] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-shrink: 0;
}

.btn-icon[b-oo9ib8p175] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--text-muted);
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-oo9ib8p175] {
    color: var(--color-primary);
    border-color: var(--border-color-light);
    background-color: var(--color-gray-50);
    text-decoration: none;
}

.btn-icon-danger:hover[b-oo9ib8p175] {
    color: var(--color-danger);
    border-color: var(--color-danger);
    background-color: #fdeded;
}

/* Delete Confirmation Overlay */
.overlay[b-oo9ib8p175] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.confirm-dialog[b-oo9ib8p175] {
    background-color: var(--color-white);
    padding: var(--space-6);
    max-width: 420px;
    width: 90%;
    text-align: center;
    border: var(--border-width-thin) solid var(--border-color-light);
    box-shadow: var(--shadow-lg);
}

.confirm-icon[b-oo9ib8p175] {
    color: var(--color-warning);
    margin-bottom: var(--space-3);
}

.confirm-dialog h3[b-oo9ib8p175] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-gray-700);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-oo9ib8p175] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-oo9ib8p175] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-danger) !important;
}

.confirm-actions[b-oo9ib8p175] {
    display: flex;
    justify-content: center;
    gap: var(--space-3);
    margin-top: var(--space-4);
}

.confirm-actions .btn[b-oo9ib8p175] {
    padding: var(--space-2) var(--space-5);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Interruttore «mostra obsoleti» nella barra di ricerca. */
.filter-toggle[b-oo9ib8p175] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
}

.filter-toggle input[b-oo9ib8p175] {
    accent-color: var(--color-primary);
    cursor: pointer;
}

/* Marcatore dell'imballaggio ritirato: si legge come stato, non come descrizione. */
.item-badge-obsolete[b-oo9ib8p175] {
    color: var(--color-danger);
    font-weight: var(--font-weight-medium);
}
/* /Components/Pages/Warehouse/PackageTypeCreate.razor.rz.scp.css */
/* ===========================
   PackageTypeCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-cb7i9gqr8d] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-cb7i9gqr8d] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-cb7i9gqr8d] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-cb7i9gqr8d] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-cb7i9gqr8d] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-close[b-cb7i9gqr8d] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-cb7i9gqr8d] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-cb7i9gqr8d] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-cb7i9gqr8d] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-cb7i9gqr8d] {
    opacity: 0.4;
}

.empty-state-text[b-cb7i9gqr8d] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-cb7i9gqr8d] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-cb7i9gqr8d] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-cb7i9gqr8d] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-cb7i9gqr8d] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-cb7i9gqr8d] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-cb7i9gqr8d] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-cb7i9gqr8d] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-cb7i9gqr8d] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-cb7i9gqr8d] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-cb7i9gqr8d]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-cb7i9gqr8d] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-500);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

/* Nota informativa fuori sezione (es. «l'immagine si carica dopo il salvataggio») */
.form-hint-box[b-cb7i9gqr8d] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-6);
    padding: var(--space-3) var(--space-4);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--border-color-light);
}

.form-hint-box svg[b-cb7i9gqr8d] {
    flex-shrink: 0;
    opacity: 0.6;
}

.btn-action[b-cb7i9gqr8d] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-cb7i9gqr8d] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-cb7i9gqr8d] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-cb7i9gqr8d] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-cb7i9gqr8d] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-cb7i9gqr8d] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-cb7i9gqr8d] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-cb7i9gqr8d] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Warehouse/PackageTypeEdit.razor.rz.scp.css */
/* ===========================
   PackageTypeEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-zy4036nda5] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-zy4036nda5] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-zy4036nda5] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-zy4036nda5] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-zy4036nda5] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-close[b-zy4036nda5] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-zy4036nda5] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-zy4036nda5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-zy4036nda5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-zy4036nda5] {
    opacity: 0.4;
}

.empty-state-text[b-zy4036nda5] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-zy4036nda5] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-zy4036nda5] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-zy4036nda5] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-zy4036nda5] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-zy4036nda5] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-zy4036nda5] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-zy4036nda5] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-zy4036nda5] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-zy4036nda5] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-zy4036nda5]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-zy4036nda5] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-500);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

/* Nota informativa fuori sezione (es. «l'immagine si carica dopo il salvataggio») */
.form-hint-box[b-zy4036nda5] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-6);
    padding: var(--space-3) var(--space-4);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--border-color-light);
}

.form-hint-box svg[b-zy4036nda5] {
    flex-shrink: 0;
    opacity: 0.6;
}

.btn-action[b-zy4036nda5] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-zy4036nda5] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-zy4036nda5] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-zy4036nda5] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-zy4036nda5] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-zy4036nda5] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-zy4036nda5] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-zy4036nda5] {
        grid-column: span 1;
    }
}

/* ===========================
   Immagine imballaggio
   =========================== */

.current-image[b-zy4036nda5] {
    display: flex;
    justify-content: center;
    padding: var(--space-4);
    margin-bottom: var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.current-image-preview[b-zy4036nda5] {
    max-width: 100%;
    max-height: 300px;
    object-fit: contain;
}

.upload-area[b-zy4036nda5] {
    position: relative;
    border: 2px dashed var(--border-color-light);
    background-color: var(--bg-secondary);
    transition: all var(--transition-fast) var(--transition-ease);
}

.upload-area-dragover[b-zy4036nda5] {
    border-color: var(--color-primary);
    background-color: rgba(11, 36, 62, 0.04);
}

.upload-placeholder[b-zy4036nda5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-6) var(--space-4);
    gap: var(--space-2);
    color: var(--text-muted);
}

.upload-placeholder svg[b-zy4036nda5] {
    opacity: 0.4;
}

.upload-text[b-zy4036nda5] {
    font-size: var(--font-size-sm);
    margin: 0;
}

.upload-hint[b-zy4036nda5] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    opacity: 0.7;
    margin: 0;
}

.upload-button[b-zy4036nda5] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* L'input copre l'area: è così che il drag-and-drop funziona senza JS. */
.file-input-hidden[b-zy4036nda5] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
}

.field-error[b-zy4036nda5] {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: var(--space-2);
}

.image-actions[b-zy4036nda5] {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--space-3);
}

.image-actions .btn[b-zy4036nda5] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

.btn-outline-danger[b-zy4036nda5] {
    background: transparent;
    color: var(--color-danger);
    border: var(--border-width-thin) solid var(--color-danger);
}

.btn-outline-danger:hover[b-zy4036nda5] {
    background-color: var(--color-danger);
    color: var(--color-white);
}

.btn-outline-danger:disabled[b-zy4036nda5] {
    opacity: 0.65;
    cursor: not-allowed;
}
/* /Components/Pages/Warehouse/PackageTypeList.razor.rz.scp.css */
/* ===========================
   PackageTypeList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-n48s5wtuxr] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-n48s5wtuxr] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-n48s5wtuxr] {
    background-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
}

/* Alert Bars */
.alert-bar[b-n48s5wtuxr] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-n48s5wtuxr] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-n48s5wtuxr] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-n48s5wtuxr] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-n48s5wtuxr] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-n48s5wtuxr] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
}

.search-input-wrapper[b-n48s5wtuxr] {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
}

.search-icon[b-n48s5wtuxr] {
    position: absolute;
    left: var(--space-3);
    color: var(--text-muted);
    pointer-events: none;
}

.search-input[b-n48s5wtuxr] {
    width: 100%;
    padding: var(--space-2) var(--space-3) var(--space-2) calc(var(--space-3) + 24px);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.search-input:focus[b-n48s5wtuxr] {
    border-color: var(--color-primary);
    outline: none;
}

.search-input[b-n48s5wtuxr]::placeholder {
    color: var(--color-gray-400);
}

.search-clear[b-n48s5wtuxr] {
    position: absolute;
    right: var(--space-2);
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-n48s5wtuxr] {
    color: var(--color-danger);
}

.search-count[b-n48s5wtuxr] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    white-space: nowrap;
}

/* Loading State */
.loading-state[b-n48s5wtuxr] {
    text-align: center;
    padding: var(--space-10) 0;
    color: var(--text-muted);
}

.loading-state p[b-n48s5wtuxr] {
    margin-top: var(--space-3);
    font-size: var(--font-size-sm);
}

/* Empty State */
.empty-state[b-n48s5wtuxr] {
    text-align: center;
    padding: var(--space-10) 0;
    color: var(--text-muted);
}

.empty-state svg[b-n48s5wtuxr] {
    opacity: 0.3;
    margin-bottom: var(--space-3);
}

.empty-state-text[b-n48s5wtuxr] {
    font-size: var(--font-size-sm);
    margin-bottom: var(--space-3);
}

/* Item List */
.item-list[b-n48s5wtuxr] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.item-row[b-n48s5wtuxr] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    background-color: var(--color-white);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-n48s5wtuxr] {
    border-bottom: none;
}

.item-row:hover[b-n48s5wtuxr] {
    background-color: var(--color-gray-50);
}

.item-avatar[b-n48s5wtuxr] {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
    flex-shrink: 0;
}

.item-info[b-n48s5wtuxr] {
    flex: 1;
    min-width: 0;
}

.item-name[b-n48s5wtuxr] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-700);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-n48s5wtuxr] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: 2px;
}

.item-code[b-n48s5wtuxr] {
    font-family: var(--font-mono);
}

.item-separator[b-n48s5wtuxr] {
    color: var(--border-color-light);
}

.item-actions[b-n48s5wtuxr] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-shrink: 0;
}

.btn-icon[b-n48s5wtuxr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--text-muted);
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-n48s5wtuxr] {
    color: var(--color-primary);
    border-color: var(--border-color-light);
    background-color: var(--color-gray-50);
    text-decoration: none;
}

.btn-icon-danger:hover[b-n48s5wtuxr] {
    color: var(--color-danger);
    border-color: var(--color-danger);
    background-color: #fdeded;
}

/* Delete Confirmation Overlay */
.overlay[b-n48s5wtuxr] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.confirm-dialog[b-n48s5wtuxr] {
    background-color: var(--color-white);
    padding: var(--space-6);
    max-width: 420px;
    width: 90%;
    text-align: center;
    border: var(--border-width-thin) solid var(--border-color-light);
    box-shadow: var(--shadow-lg);
}

.confirm-icon[b-n48s5wtuxr] {
    color: var(--color-warning);
    margin-bottom: var(--space-3);
}

.confirm-dialog h3[b-n48s5wtuxr] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-gray-700);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-n48s5wtuxr] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-n48s5wtuxr] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-danger) !important;
}

.confirm-actions[b-n48s5wtuxr] {
    display: flex;
    justify-content: center;
    gap: var(--space-3);
    margin-top: var(--space-4);
}

.confirm-actions .btn[b-n48s5wtuxr] {
    padding: var(--space-2) var(--space-5);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Interruttore «mostra obsoleti» nella barra di ricerca. */
.filter-toggle[b-n48s5wtuxr] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
}

.filter-toggle input[b-n48s5wtuxr] {
    accent-color: var(--color-primary);
    cursor: pointer;
}

/* Marcatore dell'imballaggio ritirato: si legge come stato, non come descrizione. */
.item-badge-obsolete[b-n48s5wtuxr] {
    color: var(--color-danger);
    font-weight: var(--font-weight-medium);
}
/* /Components/Pages/Warehouse/PackWeightCreate.razor.rz.scp.css */
/* ===========================
   PackWeightCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-bb6cr6x985] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-bb6cr6x985] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-bb6cr6x985] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-bb6cr6x985] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-bb6cr6x985] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-close[b-bb6cr6x985] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-bb6cr6x985] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-bb6cr6x985] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-bb6cr6x985] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-bb6cr6x985] {
    opacity: 0.4;
}

.empty-state-text[b-bb6cr6x985] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-bb6cr6x985] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-bb6cr6x985] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-bb6cr6x985] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-bb6cr6x985] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-bb6cr6x985] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-bb6cr6x985] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-bb6cr6x985] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-bb6cr6x985] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-bb6cr6x985] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-bb6cr6x985]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-bb6cr6x985] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-500);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

/* Nota informativa fuori sezione (es. «l'immagine si carica dopo il salvataggio») */
.form-hint-box[b-bb6cr6x985] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-6);
    padding: var(--space-3) var(--space-4);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--border-color-light);
}

.form-hint-box svg[b-bb6cr6x985] {
    flex-shrink: 0;
    opacity: 0.6;
}

.btn-action[b-bb6cr6x985] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-bb6cr6x985] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-bb6cr6x985] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-bb6cr6x985] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-bb6cr6x985] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-bb6cr6x985] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-bb6cr6x985] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-bb6cr6x985] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Warehouse/PackWeightEdit.razor.rz.scp.css */
/* ===========================
   PackWeightEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-nkdm18vh3y] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-nkdm18vh3y] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-nkdm18vh3y] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-nkdm18vh3y] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-nkdm18vh3y] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-close[b-nkdm18vh3y] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-nkdm18vh3y] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-nkdm18vh3y] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-nkdm18vh3y] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-nkdm18vh3y] {
    opacity: 0.4;
}

.empty-state-text[b-nkdm18vh3y] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-nkdm18vh3y] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-nkdm18vh3y] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-nkdm18vh3y] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-nkdm18vh3y] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-nkdm18vh3y] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-nkdm18vh3y] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-nkdm18vh3y] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-nkdm18vh3y] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-nkdm18vh3y] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-nkdm18vh3y]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-nkdm18vh3y] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-500);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

/* Nota informativa fuori sezione (es. «l'immagine si carica dopo il salvataggio») */
.form-hint-box[b-nkdm18vh3y] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-6);
    padding: var(--space-3) var(--space-4);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--border-color-light);
}

.form-hint-box svg[b-nkdm18vh3y] {
    flex-shrink: 0;
    opacity: 0.6;
}

.btn-action[b-nkdm18vh3y] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-nkdm18vh3y] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-nkdm18vh3y] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-nkdm18vh3y] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-nkdm18vh3y] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-nkdm18vh3y] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-nkdm18vh3y] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-nkdm18vh3y] {
        grid-column: span 1;
    }
}

/* Variante d'avviso della nota: modificatore esplicito, NON una ridefinizione di .form-hint-box
   (CLAUDE.md §«Modificatori espliciti, non ridefinizioni»). */
.form-hint-box-warning[b-nkdm18vh3y] {
    color: #7a4f01;
    background-color: #fff4e5;
    border-left-color: var(--color-warning);
}
/* /Components/Pages/Warehouse/PackWeightList.razor.rz.scp.css */
/* ===========================
   PackWeightList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-u77pmi28qv] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-u77pmi28qv] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-u77pmi28qv] {
    background-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
}

/* Alert Bars */
.alert-bar[b-u77pmi28qv] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-u77pmi28qv] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-u77pmi28qv] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-u77pmi28qv] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-u77pmi28qv] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-u77pmi28qv] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
}

.search-input-wrapper[b-u77pmi28qv] {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
}

.search-icon[b-u77pmi28qv] {
    position: absolute;
    left: var(--space-3);
    color: var(--text-muted);
    pointer-events: none;
}

.search-input[b-u77pmi28qv] {
    width: 100%;
    padding: var(--space-2) var(--space-3) var(--space-2) calc(var(--space-3) + 24px);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.search-input:focus[b-u77pmi28qv] {
    border-color: var(--color-primary);
    outline: none;
}

.search-input[b-u77pmi28qv]::placeholder {
    color: var(--color-gray-400);
}

.search-clear[b-u77pmi28qv] {
    position: absolute;
    right: var(--space-2);
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-u77pmi28qv] {
    color: var(--color-danger);
}

.search-count[b-u77pmi28qv] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    white-space: nowrap;
}

/* Loading State */
.loading-state[b-u77pmi28qv] {
    text-align: center;
    padding: var(--space-10) 0;
    color: var(--text-muted);
}

.loading-state p[b-u77pmi28qv] {
    margin-top: var(--space-3);
    font-size: var(--font-size-sm);
}

/* Empty State */
.empty-state[b-u77pmi28qv] {
    text-align: center;
    padding: var(--space-10) 0;
    color: var(--text-muted);
}

.empty-state svg[b-u77pmi28qv] {
    opacity: 0.3;
    margin-bottom: var(--space-3);
}

.empty-state-text[b-u77pmi28qv] {
    font-size: var(--font-size-sm);
    margin-bottom: var(--space-3);
}

/* Item List */
.item-list[b-u77pmi28qv] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.item-row[b-u77pmi28qv] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    background-color: var(--color-white);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-u77pmi28qv] {
    border-bottom: none;
}

.item-row:hover[b-u77pmi28qv] {
    background-color: var(--color-gray-50);
}

.item-avatar[b-u77pmi28qv] {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
    flex-shrink: 0;
}

.item-info[b-u77pmi28qv] {
    flex: 1;
    min-width: 0;
}

.item-name[b-u77pmi28qv] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-700);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-u77pmi28qv] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: 2px;
}

.item-code[b-u77pmi28qv] {
    font-family: var(--font-mono);
}

.item-separator[b-u77pmi28qv] {
    color: var(--border-color-light);
}

.item-actions[b-u77pmi28qv] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-shrink: 0;
}

.btn-icon[b-u77pmi28qv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--text-muted);
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-u77pmi28qv] {
    color: var(--color-primary);
    border-color: var(--border-color-light);
    background-color: var(--color-gray-50);
    text-decoration: none;
}

.btn-icon-danger:hover[b-u77pmi28qv] {
    color: var(--color-danger);
    border-color: var(--color-danger);
    background-color: #fdeded;
}

/* Delete Confirmation Overlay */
.overlay[b-u77pmi28qv] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.confirm-dialog[b-u77pmi28qv] {
    background-color: var(--color-white);
    padding: var(--space-6);
    max-width: 420px;
    width: 90%;
    text-align: center;
    border: var(--border-width-thin) solid var(--border-color-light);
    box-shadow: var(--shadow-lg);
}

.confirm-icon[b-u77pmi28qv] {
    color: var(--color-warning);
    margin-bottom: var(--space-3);
}

.confirm-dialog h3[b-u77pmi28qv] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-gray-700);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-u77pmi28qv] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-u77pmi28qv] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-danger) !important;
}

.confirm-actions[b-u77pmi28qv] {
    display: flex;
    justify-content: center;
    gap: var(--space-3);
    margin-top: var(--space-4);
}

.confirm-actions .btn[b-u77pmi28qv] {
    padding: var(--space-2) var(--space-5);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Interruttore «mostra obsoleti» nella barra di ricerca. */
.filter-toggle[b-u77pmi28qv] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
}

.filter-toggle input[b-u77pmi28qv] {
    accent-color: var(--color-primary);
    cursor: pointer;
}

/* Marcatore dell'imballaggio ritirato: si legge come stato, non come descrizione. */
.item-badge-obsolete[b-u77pmi28qv] {
    color: var(--color-danger);
    font-weight: var(--font-weight-medium);
}

/* Marcatore del peso non positivo: è un dato da correggere, non uno stato normale. */
.item-badge-warning[b-u77pmi28qv] {
    color: var(--color-warning);
    font-weight: var(--font-weight-medium);
}
/* /Components/Pages/Warehouse/PalletCompositionCreate.razor.rz.scp.css */
/* ===========================
   PalletCompositionCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-jhjwpfqrri] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-jhjwpfqrri] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-jhjwpfqrri] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-jhjwpfqrri] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-jhjwpfqrri] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-close[b-jhjwpfqrri] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-jhjwpfqrri] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-jhjwpfqrri] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-jhjwpfqrri] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-jhjwpfqrri] {
    opacity: 0.4;
}

.empty-state-text[b-jhjwpfqrri] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-jhjwpfqrri] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-jhjwpfqrri] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-jhjwpfqrri] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-jhjwpfqrri] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-jhjwpfqrri] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-jhjwpfqrri] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-jhjwpfqrri] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-jhjwpfqrri] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-jhjwpfqrri] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-jhjwpfqrri]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-jhjwpfqrri] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-500);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

/* Nota informativa fuori sezione (es. «l'immagine si carica dopo il salvataggio») */
.form-hint-box[b-jhjwpfqrri] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-6);
    padding: var(--space-3) var(--space-4);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--border-color-light);
}

.form-hint-box svg[b-jhjwpfqrri] {
    flex-shrink: 0;
    opacity: 0.6;
}

.btn-action[b-jhjwpfqrri] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-jhjwpfqrri] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-jhjwpfqrri] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-jhjwpfqrri] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-jhjwpfqrri] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-jhjwpfqrri] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-jhjwpfqrri] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-jhjwpfqrri] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Warehouse/PalletCompositionEdit.razor.rz.scp.css */
/* ===========================
   PalletCompositionEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-gfoi9jljqo] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-gfoi9jljqo] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-gfoi9jljqo] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-gfoi9jljqo] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-gfoi9jljqo] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-close[b-gfoi9jljqo] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-gfoi9jljqo] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-gfoi9jljqo] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-gfoi9jljqo] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-gfoi9jljqo] {
    opacity: 0.4;
}

.empty-state-text[b-gfoi9jljqo] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-gfoi9jljqo] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-gfoi9jljqo] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-gfoi9jljqo] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-gfoi9jljqo] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-gfoi9jljqo] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-gfoi9jljqo] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-gfoi9jljqo] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-gfoi9jljqo] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-gfoi9jljqo] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-gfoi9jljqo]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-gfoi9jljqo] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-500);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

/* Nota informativa fuori sezione (es. «l'immagine si carica dopo il salvataggio») */
.form-hint-box[b-gfoi9jljqo] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-6);
    padding: var(--space-3) var(--space-4);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--border-color-light);
}

.form-hint-box svg[b-gfoi9jljqo] {
    flex-shrink: 0;
    opacity: 0.6;
}

.btn-action[b-gfoi9jljqo] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-gfoi9jljqo] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-gfoi9jljqo] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-gfoi9jljqo] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-gfoi9jljqo] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-gfoi9jljqo] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-gfoi9jljqo] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-gfoi9jljqo] {
        grid-column: span 1;
    }
}

/* Variante d'avviso della nota: modificatore esplicito, NON una ridefinizione di .form-hint-box
   (CLAUDE.md §«Modificatori espliciti, non ridefinizioni»). */
.form-hint-box-warning[b-gfoi9jljqo] {
    color: #7a4f01;
    background-color: #fff4e5;
    border-left-color: var(--color-warning);
}
/* /Components/Pages/Warehouse/PalletCompositionList.razor.rz.scp.css */
/* ===========================
   PalletCompositionList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-26y694p7aw] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-26y694p7aw] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-26y694p7aw] {
    background-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
}

/* Alert Bars */
.alert-bar[b-26y694p7aw] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-26y694p7aw] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-26y694p7aw] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-26y694p7aw] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-26y694p7aw] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-26y694p7aw] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
}

.search-input-wrapper[b-26y694p7aw] {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
}

.search-icon[b-26y694p7aw] {
    position: absolute;
    left: var(--space-3);
    color: var(--text-muted);
    pointer-events: none;
}

.search-input[b-26y694p7aw] {
    width: 100%;
    padding: var(--space-2) var(--space-3) var(--space-2) calc(var(--space-3) + 24px);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.search-input:focus[b-26y694p7aw] {
    border-color: var(--color-primary);
    outline: none;
}

.search-input[b-26y694p7aw]::placeholder {
    color: var(--color-gray-400);
}

.search-clear[b-26y694p7aw] {
    position: absolute;
    right: var(--space-2);
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-26y694p7aw] {
    color: var(--color-danger);
}

.search-count[b-26y694p7aw] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    white-space: nowrap;
}

/* Loading State */
.loading-state[b-26y694p7aw] {
    text-align: center;
    padding: var(--space-10) 0;
    color: var(--text-muted);
}

.loading-state p[b-26y694p7aw] {
    margin-top: var(--space-3);
    font-size: var(--font-size-sm);
}

/* Empty State */
.empty-state[b-26y694p7aw] {
    text-align: center;
    padding: var(--space-10) 0;
    color: var(--text-muted);
}

.empty-state svg[b-26y694p7aw] {
    opacity: 0.3;
    margin-bottom: var(--space-3);
}

.empty-state-text[b-26y694p7aw] {
    font-size: var(--font-size-sm);
    margin-bottom: var(--space-3);
}

/* Item List */
.item-list[b-26y694p7aw] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.item-row[b-26y694p7aw] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    background-color: var(--color-white);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-26y694p7aw] {
    border-bottom: none;
}

.item-row:hover[b-26y694p7aw] {
    background-color: var(--color-gray-50);
}

.item-avatar[b-26y694p7aw] {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
    flex-shrink: 0;
}

.item-info[b-26y694p7aw] {
    flex: 1;
    min-width: 0;
}

.item-name[b-26y694p7aw] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-700);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-26y694p7aw] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: 2px;
}

.item-code[b-26y694p7aw] {
    font-family: var(--font-mono);
}

.item-separator[b-26y694p7aw] {
    color: var(--border-color-light);
}

.item-actions[b-26y694p7aw] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-shrink: 0;
}

.btn-icon[b-26y694p7aw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--text-muted);
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-26y694p7aw] {
    color: var(--color-primary);
    border-color: var(--border-color-light);
    background-color: var(--color-gray-50);
    text-decoration: none;
}

.btn-icon-danger:hover[b-26y694p7aw] {
    color: var(--color-danger);
    border-color: var(--color-danger);
    background-color: #fdeded;
}

/* Delete Confirmation Overlay */
.overlay[b-26y694p7aw] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.confirm-dialog[b-26y694p7aw] {
    background-color: var(--color-white);
    padding: var(--space-6);
    max-width: 420px;
    width: 90%;
    text-align: center;
    border: var(--border-width-thin) solid var(--border-color-light);
    box-shadow: var(--shadow-lg);
}

.confirm-icon[b-26y694p7aw] {
    color: var(--color-warning);
    margin-bottom: var(--space-3);
}

.confirm-dialog h3[b-26y694p7aw] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-gray-700);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-26y694p7aw] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-26y694p7aw] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-danger) !important;
}

.confirm-actions[b-26y694p7aw] {
    display: flex;
    justify-content: center;
    gap: var(--space-3);
    margin-top: var(--space-4);
}

.confirm-actions .btn[b-26y694p7aw] {
    padding: var(--space-2) var(--space-5);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Interruttore «mostra obsoleti» nella barra di ricerca. */
.filter-toggle[b-26y694p7aw] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
}

.filter-toggle input[b-26y694p7aw] {
    accent-color: var(--color-primary);
    cursor: pointer;
}

/* Marcatore dell'imballaggio ritirato: si legge come stato, non come descrizione. */
.item-badge-obsolete[b-26y694p7aw] {
    color: var(--color-danger);
    font-weight: var(--font-weight-medium);
}

/* Interruttore «solo con riferimenti obsoleti» nella barra di ricerca. */
.filter-toggle[b-26y694p7aw] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
}

.filter-toggle input[b-26y694p7aw] {
    accent-color: var(--color-primary);
    cursor: pointer;
}

/* I colli per pedana sono il numero che distingue una composizione dall'altra. */
.item-parcels[b-26y694p7aw] {
    color: var(--color-primary);
}

/* Marcatore del riferimento ritirato: la composizione funziona, ma propone qualcosa che le altre
   schede non offrono più. */
.item-badge-obsolete[b-26y694p7aw] {
    color: var(--color-warning);
    font-weight: var(--font-weight-medium);
}
/* /Components/Pages/Warehouse/PriceMultiplierList.razor.rz.scp.css */
/* ===========================
   LotBalance (Bilancio lotto) - Scoped Styles
   Stile report MTS SaaS (allineato a WebOrderStatistic01 / ArticleStockReport)
   =========================== */

.page-container[b-xde8ex35d0] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Cursore "in caricamento" su tutta la pagina mentre i dati si caricano */
.page-container.is-loading[b-xde8ex35d0],
.page-container.is-loading *[b-xde8ex35d0] {
    cursor: progress;
}
/* Filter bar */
.filter-bar[b-xde8ex35d0] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-group[b-xde8ex35d0] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}

.filter-group-check[b-xde8ex35d0] {
    min-width: auto;
}

.filter-label[b-xde8ex35d0] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-input[b-xde8ex35d0] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-xde8ex35d0] {
    border-color: var(--color-primary);
}

/* Toggle switch (slider) — controllo booleano della filter-bar */
.switch[b-xde8ex35d0] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) 0;
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
}

.switch input[b-xde8ex35d0] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.slider[b-xde8ex35d0] {
    position: relative;
    flex-shrink: 0;
    width: 38px;
    height: 20px;
    border-radius: 10px;
    background-color: var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.slider[b-xde8ex35d0]::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--bg-primary);
    transition: transform var(--transition-fast) var(--transition-ease);
}

.switch input:checked + .slider[b-xde8ex35d0] {
    background-color: var(--color-primary);
}

.switch input:checked + .slider[b-xde8ex35d0]::before {
    transform: translateX(18px);
}

.switch input:focus-visible + .slider[b-xde8ex35d0] {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.switch-text[b-xde8ex35d0] {
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
}

/* Summary Stats */
.summary-stats[b-xde8ex35d0] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-xde8ex35d0] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-xde8ex35d0] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-xde8ex35d0] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Alert Bars */
.alert-bar[b-xde8ex35d0] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-xde8ex35d0] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-xde8ex35d0] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-xde8ex35d0] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-xde8ex35d0] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-xde8ex35d0] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-xde8ex35d0] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-xde8ex35d0] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-xde8ex35d0]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-xde8ex35d0] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-xde8ex35d0] {
    color: var(--color-primary);
}

.search-count[b-xde8ex35d0] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-xde8ex35d0],
.empty-state[b-xde8ex35d0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-xde8ex35d0] {
    opacity: 0.4;
}

.empty-state-text[b-xde8ex35d0] {
    font-size: var(--font-size-base);
    margin: 0;
}

.btn-outline-primary[b-xde8ex35d0] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-xde8ex35d0] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.btn-outline-secondary[b-xde8ex35d0] {
    background: transparent;
    color: var(--text-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}

.btn-outline-secondary:hover[b-xde8ex35d0] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    border-color: var(--color-primary);
}

/* Report Table */
.report-table-wrapper[b-xde8ex35d0] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table-stock[b-xde8ex35d0] {
    margin-top: var(--space-5);
}

.report-table[b-xde8ex35d0] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
    table-layout: fixed;
}

/* Le celle di dettaglio possono troncare con ellissi mantenendo l'allineamento a larghezza fissa */
.report-table td[b-xde8ex35d0] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.report-table thead[b-xde8ex35d0] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-xde8ex35d0] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    text-align: left;
}

.report-table thead th.col-num[b-xde8ex35d0] {
    text-align: right;
}

.report-table thead th.col-um[b-xde8ex35d0] {
    text-align: center;
}

/* Riga di intestazione sezione (titolo natura documento + totali sezione) */
.report-table thead tr.section-head-row th[b-xde8ex35d0],
.report-table thead tr:first-child th[b-xde8ex35d0] {
    font-size: var(--font-size-sm);
    text-transform: none;
    letter-spacing: 0;
    border-bottom: var(--border-width-thin) solid rgba(255, 255, 255, 0.15);
    font-weight: var(--font-weight-bold);
}

/* Seconda riga thead = intestazioni colonna (stile standard xs uppercase) */
.report-table thead tr.col-head-row th[b-xde8ex35d0] {
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-semibold);
    border-bottom: 2px solid var(--color-primary);
}

.report-table tbody tr[b-xde8ex35d0] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-xde8ex35d0] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-xde8ex35d0] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table tbody tr:nth-child(even)[b-xde8ex35d0] {
    background-color: var(--bg-secondary);
}

.report-table tbody tr:nth-child(even):hover[b-xde8ex35d0] {
    background-color: rgba(11, 36, 62, 0.05);
}

.report-table td[b-xde8ex35d0] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.col-code[b-xde8ex35d0] {
    text-align: left;
}

.col-desc[b-xde8ex35d0] {
    text-align: left;
    min-width: 200px;
    max-width: 320px;
    white-space: normal;
}

.col-um[b-xde8ex35d0] {
    text-align: center;
}

.col-num[b-xde8ex35d0] {
    text-align: right;
}

.cell-code[b-xde8ex35d0] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.85;
}

.cell-sub[b-xde8ex35d0] {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* Group rows (sezioni per natura documento) */
.report-table tbody tr.group-row[b-xde8ex35d0] {
    background-color: transparent !important;
}

.report-table tbody tr.group-row td[b-xde8ex35d0] {
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.report-table tbody tr.group-row-year td[b-xde8ex35d0] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    font-size: var(--font-size-sm);
    padding: var(--space-2) var(--space-3);
    border-top: 2px solid var(--color-primary);
}

.report-table tbody tr.group-row-year td strong[b-xde8ex35d0] {
    color: var(--text-on-primary);
}

.report-table tbody tr.group-row-month td[b-xde8ex35d0] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.group-row-month td strong[b-xde8ex35d0] {
    color: var(--color-primary);
}

.report-table tbody tr.group-row-month .cell-sub[b-xde8ex35d0] {
    display: inline;
    margin-left: var(--space-2);
}

.report-table tbody tr.group-row:hover[b-xde8ex35d0] {
    background-color: transparent !important;
}

.group-count[b-xde8ex35d0] {
    font-weight: var(--font-weight-normal);
    text-transform: none;
    letter-spacing: 0;
    opacity: 0.75;
}

/* Rientro leggero per le righe di dettaglio del sotto-gruppo (Cod. art.) */
.report-table tbody tr.doc-detail td:first-child[b-xde8ex35d0] {
    padding-left: var(--space-5);
}

/* Altre partite entrate nel lotto (sezione Scarico lotto): riga secondaria sotto l'id_lotto */
.report-table tbody tr.lot-batches-row td[b-xde8ex35d0] {
    padding: var(--space-1) var(--space-3) var(--space-2) var(--space-5);
    background-color: var(--bg-secondary);
    border-top: none;
}

.lot-batches-label[b-xde8ex35d0] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    margin-right: var(--space-2);
}

.lot-batch-chip[b-xde8ex35d0] {
    display: inline-block;
    margin: 2px var(--space-1) 2px 0;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    line-height: 1.5;
    color: var(--color-primary);
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-sm);
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

a.lot-batch-chip:hover[b-xde8ex35d0] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Card stato lotto (solo sezione Scarico lotto): verde = omogeneo, gialla = più partite */
.lot-status-card[b-xde8ex35d0] {
    display: inline-block;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    line-height: 1.5;
    border-radius: var(--radius-sm);
    border: var(--border-width-thin) solid transparent;
    text-transform: none;
    letter-spacing: 0;
    white-space: nowrap;
}

.lot-status-card.is-homogeneous[b-xde8ex35d0] {
    background-color: var(--color-success);
    border-color: var(--color-success);
    color: #ffffff;
}

.lot-status-card.is-mixed[b-xde8ex35d0] {
    background-color: var(--color-warning);
    border-color: var(--color-warning);
    color: #212529;
}

.report-table tbody tr.worktype-row td[b-xde8ex35d0] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-1) var(--space-3) var(--space-1) var(--space-4);
    border-top: none;
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.worktype-row td strong[b-xde8ex35d0] {
    color: var(--color-primary);
}

.worktype-badge[b-xde8ex35d0] {
    display: inline-block;
    padding: 0 var(--space-2);
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-on-primary);
    background-color: var(--color-gray-700);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Sotto-gruppo Scarti: tono più tenue rispetto ai prodotti finali */
.report-table tbody tr.worktype-row-waste td[b-xde8ex35d0] {
    background-color: var(--bg-primary);
}

.worktype-badge-waste[b-xde8ex35d0] {
    background-color: var(--color-gray-500, var(--color-gray-700));
}

/* Riga master padre (master-detail Padri→Figli) — evidenziata */
.report-table tbody tr.parent-head-row td[b-xde8ex35d0] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    border-top: 2px solid var(--color-primary-dark, var(--color-primary));
}

.report-table tbody tr.parent-head-row td strong[b-xde8ex35d0] {
    color: var(--text-on-primary);
}

/* Riga principale del padre: nome + lavorazione + resa allineati */
.parent-head-main[b-xde8ex35d0] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.parent-name[b-xde8ex35d0] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--text-on-primary);
    letter-spacing: 0.2px;
}

.parent-work[b-xde8ex35d0] {
    font-size: var(--font-size-xs);
    color: var(--text-on-primary);
    opacity: 0.9;
}

.parent-work-link[b-xde8ex35d0] {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.parent-work-link:hover[b-xde8ex35d0] {
    opacity: 1;
    text-decoration-thickness: 2px;
}

.parent-head-row .cell-sub[b-xde8ex35d0] {
    display: inline-block;
    margin-top: 2px;
    color: var(--text-on-primary);
    opacity: 0.8;
}

/* Badge delle partite (id_partita) che hanno contribuito allo scarico del padre */
.partita-badges[b-xde8ex35d0] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-1);
    margin-top: 3px;
}

.partita-badges-label[b-xde8ex35d0] {
    font-size: var(--font-size-2xs, 0.65rem);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--text-on-primary);
    opacity: 0.7;
}

.partita-badge[b-xde8ex35d0] {
    display: inline-block;
    padding: 1px var(--space-2);
    font-size: var(--font-size-2xs, 0.65rem);
    font-weight: var(--font-weight-semibold);
    font-variant-numeric: tabular-nums;
    line-height: 1.5;
    color: var(--text-on-primary);
    background-color: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.35);
    white-space: nowrap;
    cursor: help;
}

/* Resa: dato chiave, in forte evidenza sulla riga scura del padre */
.resa-pill[b-xde8ex35d0] {
    display: inline-flex;
    align-items: baseline;
    gap: var(--space-1);
    margin-left: auto;
    padding: 2px var(--space-3);
    background-color: var(--color-gray-500, #6c757d);
    color: #ffffff;
    border-radius: 999px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    white-space: nowrap;
}

/* Fasce resa: <60 scarso (rosso), 60–90 buona (ambra), >90 ottima (verde) */
.resa-pill.resa-poor[b-xde8ex35d0] {
    background-color: var(--color-danger, #dc3545);
    color: #ffffff;
}

.resa-pill.resa-good[b-xde8ex35d0] {
    background-color: var(--color-warning, #ffc107);
    color: #1f2430;
}

.resa-pill.resa-great[b-xde8ex35d0] {
    background-color: var(--color-success, #28a745);
    color: #ffffff;
}

.resa-label[b-xde8ex35d0] {
    font-size: var(--font-size-2xs, 0.65rem);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    opacity: 0.85;
}

.resa-value[b-xde8ex35d0] {
    font-size: var(--font-size-md, 1rem);
    font-weight: var(--font-weight-bold);
    line-height: 1;
}

.resa-tag[b-xde8ex35d0] {
    font-size: var(--font-size-2xs, 0.65rem);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.9;
    padding-left: var(--space-1);
    border-left: 1px solid currentColor;
}

.parent-badge[b-xde8ex35d0] {
    display: inline-block;
    padding: 0 var(--space-2);
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    background-color: var(--text-on-primary);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Sotto-gruppo partita contribuente (sezione Scarichi lotto) */
.report-table tbody tr.partita-row td[b-xde8ex35d0] {
    background-color: var(--bg-primary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-1) var(--space-3) var(--space-1) var(--space-4);
    border-top: none;
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.partita-row td strong[b-xde8ex35d0] {
    color: var(--color-primary);
}

.partita-badge[b-xde8ex35d0] {
    display: inline-block;
    padding: 0 var(--space-2);
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-on-primary);
    background-color: var(--color-primary);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Righe articolo sotto il sotto-gruppo partita: rientro maggiore */
.report-table tbody tr.doc-detail-partita td:first-child[b-xde8ex35d0] {
    padding-left: var(--space-6);
}

@media (max-width: 768px) {
    .page-container[b-xde8ex35d0] {
        padding: var(--space-4) var(--space-2);
    }
}

/* ═══ STAMPA ═══ */
@media print {
    /* Nascondi la UI interattiva */
    .filter-bar[b-xde8ex35d0],
    .search-bar[b-xde8ex35d0],
    .alert-bar[b-xde8ex35d0],
    .page-header-right[b-xde8ex35d0] {
        display: none !important;
    }

    .page-container[b-xde8ex35d0],
    .page-container.is-loading[b-xde8ex35d0],
    .page-container.is-loading *[b-xde8ex35d0] {
        cursor: auto !important;
    }

    .page-container[b-xde8ex35d0] {
        max-width: none;
        padding: 0;
    }
    /* Tabelle: bordi netti, intestazioni ripetute, niente scroll */
    .report-table-wrapper[b-xde8ex35d0] {
        overflow: visible;
        border: 1px solid #333;
        page-break-inside: auto;
    }

    .section-block[b-xde8ex35d0] {
        margin-bottom: 10pt;
    }

    .report-table[b-xde8ex35d0] {
        font-size: 8pt;
    }

    .report-table thead[b-xde8ex35d0] {
        display: table-header-group; /* ripeti intestazione su ogni pagina */
    }

    .report-table thead th[b-xde8ex35d0],
    .report-table tbody tr.group-row-year td[b-xde8ex35d0],
    .report-table tbody tr.group-row-month td[b-xde8ex35d0] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .report-table tbody tr[b-xde8ex35d0],
    .report-table thead tr[b-xde8ex35d0] {
        page-break-inside: avoid;
    }

    /* Le card di riepilogo restano, ma senza sfondo pesante */
    .summary-stats[b-xde8ex35d0] {
        page-break-inside: avoid;
    }

    .stat-card[b-xde8ex35d0] {
        border: 1px solid #333;
    }
}

/* =============================================================================
   MOLTIPLICATORE PREZZO — regole proprie di questa pagina
   ========================================================================== */

.filter-group-wide[b-xde8ex35d0] {
    min-width: 280px;
    flex: 1;
}

/* Varianti di alert-bar che il foglio di partenza non porta (ha solo danger). */
.alert-bar-info[b-xde8ex35d0] {
    background-color: var(--bg-secondary);
    border-left-color: var(--color-primary);
    color: var(--color-gray-700);
    align-items: flex-start;
}

.alert-bar-info svg[b-xde8ex35d0] {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--color-primary);
}

.alert-bar-success[b-xde8ex35d0] {
    background-color: #edf7ed;
    border-left-color: var(--color-success, #2e7d32);
    color: #1e4620;
}

/* Barra di conteggio sopra la tabella. */
.list-toolbar[b-xde8ex35d0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--space-2);
}

.list-count[b-xde8ex35d0] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.list-count-warn[b-xde8ex35d0] {
    color: var(--color-warning-text, #8a5a00);
}

/* Colonna delle azioni di riga: larghezza stabile, cosi' la comparsa del pulsante
   di conferma non fa saltare le colonne a sinistra mentre si digita. */
.col-action[b-xde8ex35d0] {
    text-align: right;
    white-space: nowrap;
}

/* Input di riga. Allineato a destra come i numeri della colonna, e con la stessa
   altezza degli altri controlli, per non deformare la riga quando compare il
   pulsante accanto. */
.row-input[b-xde8ex35d0] {
    width: 100%;
    max-width: 140px;
    padding: var(--space-1) var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    font-variant-numeric: tabular-nums;
    text-align: right;
    color: var(--color-gray-700);
    outline: none;
}

.row-input:focus[b-xde8ex35d0] {
    border-color: var(--color-primary);
}

.row-input:disabled[b-xde8ex35d0] {
    background-color: var(--bg-secondary);
    cursor: progress;
}

.row-input-dirty[b-xde8ex35d0] {
    border-color: var(--color-primary);
    font-weight: var(--font-weight-semibold, 600);
}

/* Esiti dell'operazione di riga: sostituiscono il pulsante nello stesso spazio. */
.row-status[b-xde8ex35d0] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
}

.row-status-saving[b-xde8ex35d0] { color: var(--text-muted); }
.row-status-ok[b-xde8ex35d0]     { color: var(--color-success, #2e7d32); }
.row-status-error[b-xde8ex35d0]  { color: var(--color-danger); }

/* Pulsanti compatti: la riga della tabella non ha l'altezza di una form. */
.btn-xs[b-xde8ex35d0] {
    padding: 2px var(--space-2);
    font-size: var(--font-size-xs);
    line-height: 1.6;
}

.btn-link[b-xde8ex35d0] {
    background: transparent;
    border: none;
    color: var(--text-muted);
    text-decoration: underline;
    cursor: pointer;
}

.btn-link:hover[b-xde8ex35d0] {
    color: var(--color-primary);
}

/* Stati di riga.
   - missing: coefficiente a zero, la decisione da prendere;
   - dirty:   valore cambiato e non ancora confermato;
   - saved:   conferma andata a buon fine, finche' non si tocca altro.
   L'ordine di specificita' non conta: le tre classi si escludono a vicenda in
   RowClass(), che ne restituisce una sola. */
.row-missing td[b-xde8ex35d0] {
    background-color: var(--color-warning-bg, #fff6e0);
}

.row-dirty td[b-xde8ex35d0] {
    background-color: #eef4fb;
}

.row-saved td[b-xde8ex35d0] {
    background-color: #edf7ed;
}

/* Paginazione */
.pagination-bar[b-xde8ex35d0] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-4);
    margin-top: var(--space-4);
}

.pagination-info[b-xde8ex35d0] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

/* Istante di ricostruzione della sintesi d'uso. Sempre visibile, evidenziato
   quando invecchia: una sintesi materializzata che si spegne in silenzio fa
   lavorare l'elenco nell'ordine sbagliato senza che nulla lo dica. */
.list-refresh[b-xde8ex35d0] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.list-refresh-stale[b-xde8ex35d0] {
    color: var(--color-warning-text, #8a5a00);
    font-weight: var(--font-weight-semibold, 600);
}

/* Riga su cui si è stati mandati da un report. Un bordo a sinistra e non uno sfondo:
   lo sfondo è già preso dagli stati di editing e dalla riga a zero, e sovrapporli
   renderebbe illeggibile proprio la riga che si voleva far trovare. */
.row-target td[b-xde8ex35d0] {
    background-color: #eef4fb;
}

.row-target td:first-child[b-xde8ex35d0] {
    box-shadow: inset 3px 0 0 0 var(--color-primary);
}
/* /Components/Pages/Warehouse/ProductAliasCreate.razor.rz.scp.css */
/* ===========================
   ProductAliasCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-rg2w6x5d3b] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-rg2w6x5d3b] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-rg2w6x5d3b] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-rg2w6x5d3b] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-rg2w6x5d3b] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-rg2w6x5d3b] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-rg2w6x5d3b] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-rg2w6x5d3b] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-rg2w6x5d3b] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-rg2w6x5d3b] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-rg2w6x5d3b] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-rg2w6x5d3b] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-rg2w6x5d3b] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-rg2w6x5d3b] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-rg2w6x5d3b] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-rg2w6x5d3b]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-rg2w6x5d3b] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-rg2w6x5d3b] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-rg2w6x5d3b] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-rg2w6x5d3b] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-rg2w6x5d3b] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-rg2w6x5d3b] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-rg2w6x5d3b] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-rg2w6x5d3b] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-rg2w6x5d3b] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Warehouse/ProductAliasEdit.razor.rz.scp.css */
/* ===========================
   ProductAliasEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-m3di089qvz] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-m3di089qvz] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-m3di089qvz] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-m3di089qvz] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-m3di089qvz] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-m3di089qvz] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-m3di089qvz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-m3di089qvz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-m3di089qvz] {
    opacity: 0.4;
}

.empty-state-text[b-m3di089qvz] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-m3di089qvz] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-m3di089qvz] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-m3di089qvz] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-m3di089qvz] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-m3di089qvz] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-m3di089qvz] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-m3di089qvz] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-m3di089qvz] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-m3di089qvz] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-m3di089qvz]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-m3di089qvz] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-m3di089qvz] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-m3di089qvz] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-m3di089qvz] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-m3di089qvz] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-m3di089qvz] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-m3di089qvz] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-m3di089qvz] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-m3di089qvz] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Warehouse/ProductAliasList.razor.rz.scp.css */
/* ===========================
   ProductAliasList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-gtdjx05jys] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-gtdjx05jys] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Action Button */
.btn-action[b-gtdjx05jys] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-gtdjx05jys] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-gtdjx05jys] {
    background-color: var(--color-action-active);
}

.btn-action:disabled[b-gtdjx05jys] {
    opacity: 0.65;
    cursor: not-allowed;
}

/* Alert Bars */
.alert-bar[b-gtdjx05jys] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-gtdjx05jys] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-gtdjx05jys] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-gtdjx05jys] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-gtdjx05jys] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-gtdjx05jys] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-gtdjx05jys] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-gtdjx05jys] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-gtdjx05jys] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-gtdjx05jys]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-gtdjx05jys] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-gtdjx05jys] {
    color: var(--color-primary);
}

.search-count[b-gtdjx05jys] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-gtdjx05jys] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-gtdjx05jys] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-gtdjx05jys] {
    opacity: 0.4;
}

.empty-state-text[b-gtdjx05jys] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Contact List */
.contact-list[b-gtdjx05jys] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Contact Row */
.contact-row[b-gtdjx05jys] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.contact-row:last-child[b-gtdjx05jys] {
    border-bottom: none;
}

.contact-row:hover[b-gtdjx05jys] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.contact-avatar[b-gtdjx05jys] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Contact Info */
.contact-info[b-gtdjx05jys] {
    flex: 1;
    min-width: 0;
}

.contact-name[b-gtdjx05jys] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.contact-meta[b-gtdjx05jys] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.contact-code[b-gtdjx05jys] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-gtdjx05jys] {
    color: var(--color-gray-300);
}

.contact-details[b-gtdjx05jys] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-top: var(--space-1);
}

.contact-detail-item[b-gtdjx05jys] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.contact-detail-item svg[b-gtdjx05jys] {
    flex-shrink: 0;
}

/* Badges */
.contact-badges[b-gtdjx05jys] {
    flex-shrink: 0;
    display: flex;
    gap: var(--space-2);
}

.badge[b-gtdjx05jys] {
    display: inline-flex;
    align-items: center;
    padding: 3px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.badge-primary[b-gtdjx05jys] {
    background-color: rgba(11, 36, 62, 0.1);
    color: var(--color-primary);
}

.badge-info[b-gtdjx05jys] {
    background-color: rgba(23, 162, 184, 0.1);
    color: var(--color-info);
}

/* Action Buttons */
.contact-actions[b-gtdjx05jys] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-gtdjx05jys] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-gtdjx05jys] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-gtdjx05jys] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-gtdjx05jys] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-gtdjx05jys] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-gtdjx05jys] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-gtdjx05jys] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-gtdjx05jys] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-gtdjx05jys] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-gtdjx05jys] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-gtdjx05jys] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-gtdjx05jys] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-gtdjx05jys] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .contact-row[b-gtdjx05jys] {
        flex-wrap: wrap;
    }

    .contact-badges[b-gtdjx05jys] {
        order: 5;
    }

    .contact-actions[b-gtdjx05jys] {
        order: 6;
        margin-left: auto;
    }

    .contact-details[b-gtdjx05jys] {
        flex-wrap: wrap;
    }
}

/* /Components/Pages/Warehouse/ProductCreate.razor.rz.scp.css */
/* ===========================
   ContactCreate / ContactEdit - Shared Form Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-2pw1yppa6i] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-2pw1yppa6i] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-2pw1yppa6i] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-2pw1yppa6i] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-2pw1yppa6i] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-2pw1yppa6i] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-2pw1yppa6i] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-2pw1yppa6i] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-2pw1yppa6i] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-2pw1yppa6i] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-2pw1yppa6i] {
    grid-column: span 2;
}

.form-group-checkbox[b-2pw1yppa6i] {
    display: flex;
    align-items: center;
    padding-top: var(--space-6);
}

.form-group-checkbox .form-check-label[b-2pw1yppa6i] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    cursor: pointer;
}

.form-group-checkbox .form-check-input[b-2pw1yppa6i] {
    width: 18px;
    height: 18px;
    accent-color: var(--color-primary);
    cursor: pointer;
}

/* Form Controls */
.form-label[b-2pw1yppa6i] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-2pw1yppa6i] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-2pw1yppa6i] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-2pw1yppa6i]::placeholder {
    color: var(--color-gray-400);
}

.btn-action[b-2pw1yppa6i] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-2pw1yppa6i] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-2pw1yppa6i] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-2pw1yppa6i] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-2pw1yppa6i] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-2pw1yppa6i] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-2pw1yppa6i] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-2pw1yppa6i] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Warehouse/ProductCustomerSupplierCreate.razor.rz.scp.css */
/* ===========================
   ProductCustomerSupplierCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-nq84byrlk1] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-nq84byrlk1] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-nq84byrlk1] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-nq84byrlk1] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-nq84byrlk1] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-nq84byrlk1] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-nq84byrlk1] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-nq84byrlk1] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-nq84byrlk1] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-nq84byrlk1] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-nq84byrlk1] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-nq84byrlk1] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-nq84byrlk1] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-nq84byrlk1] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-nq84byrlk1] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-nq84byrlk1]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-nq84byrlk1] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-nq84byrlk1] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-nq84byrlk1] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-nq84byrlk1] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-nq84byrlk1] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-nq84byrlk1] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-nq84byrlk1] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-nq84byrlk1] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-nq84byrlk1] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Warehouse/ProductCustomerSupplierEdit.razor.rz.scp.css */
/* ===========================
   ProductCustomerSupplierEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-sdu1k01opl] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-sdu1k01opl] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-sdu1k01opl] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-sdu1k01opl] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-sdu1k01opl] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-sdu1k01opl] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-sdu1k01opl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-sdu1k01opl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-sdu1k01opl] {
    opacity: 0.4;
}

.empty-state-text[b-sdu1k01opl] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-sdu1k01opl] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-sdu1k01opl] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-sdu1k01opl] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-sdu1k01opl] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-sdu1k01opl] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-sdu1k01opl] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-sdu1k01opl] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-sdu1k01opl] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-sdu1k01opl] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-sdu1k01opl]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-sdu1k01opl] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-sdu1k01opl] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-sdu1k01opl] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-sdu1k01opl] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-sdu1k01opl] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-sdu1k01opl] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-sdu1k01opl] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-sdu1k01opl] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-sdu1k01opl] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Warehouse/ProductCustomerSupplierList.razor.rz.scp.css */
/* ===========================
   ProductCustomerSupplierList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-wx34x8yd10] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-wx34x8yd10] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Action Button */
.btn-action[b-wx34x8yd10] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-wx34x8yd10] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-wx34x8yd10] {
    background-color: var(--color-action-active);
}

.btn-action:disabled[b-wx34x8yd10] {
    opacity: 0.65;
    cursor: not-allowed;
}

/* Alert Bars */
.alert-bar[b-wx34x8yd10] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-wx34x8yd10] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-wx34x8yd10] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-wx34x8yd10] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-wx34x8yd10] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-wx34x8yd10] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-wx34x8yd10] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-wx34x8yd10] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-wx34x8yd10] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-wx34x8yd10]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-wx34x8yd10] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-wx34x8yd10] {
    color: var(--color-primary);
}

.search-count[b-wx34x8yd10] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-wx34x8yd10] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-wx34x8yd10] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-wx34x8yd10] {
    opacity: 0.4;
}

.empty-state-text[b-wx34x8yd10] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Contact List */
.contact-list[b-wx34x8yd10] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Contact Row */
.contact-row[b-wx34x8yd10] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.contact-row:last-child[b-wx34x8yd10] {
    border-bottom: none;
}

.contact-row:hover[b-wx34x8yd10] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.contact-avatar[b-wx34x8yd10] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Contact Info */
.contact-info[b-wx34x8yd10] {
    flex: 1;
    min-width: 0;
}

.contact-name[b-wx34x8yd10] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.contact-meta[b-wx34x8yd10] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.contact-code[b-wx34x8yd10] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-wx34x8yd10] {
    color: var(--color-gray-300);
}

.contact-details[b-wx34x8yd10] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-top: var(--space-1);
}

.contact-detail-item[b-wx34x8yd10] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.contact-detail-item svg[b-wx34x8yd10] {
    flex-shrink: 0;
}

/* Badges */
.contact-badges[b-wx34x8yd10] {
    flex-shrink: 0;
    display: flex;
    gap: var(--space-2);
}

.badge[b-wx34x8yd10] {
    display: inline-flex;
    align-items: center;
    padding: 3px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.badge-primary[b-wx34x8yd10] {
    background-color: rgba(11, 36, 62, 0.1);
    color: var(--color-primary);
}

.badge-info[b-wx34x8yd10] {
    background-color: rgba(23, 162, 184, 0.1);
    color: var(--color-info);
}

.badge-danger[b-wx34x8yd10] {
    background-color: rgba(178, 34, 34, 0.1);
    color: var(--color-action);
}

/* Action Buttons */
.contact-actions[b-wx34x8yd10] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-wx34x8yd10] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-wx34x8yd10] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-wx34x8yd10] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-wx34x8yd10] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-wx34x8yd10] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-wx34x8yd10] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-wx34x8yd10] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-wx34x8yd10] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-wx34x8yd10] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-wx34x8yd10] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-wx34x8yd10] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-wx34x8yd10] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-wx34x8yd10] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .contact-row[b-wx34x8yd10] {
        flex-wrap: wrap;
    }

    .contact-badges[b-wx34x8yd10] {
        order: 5;
    }

    .contact-actions[b-wx34x8yd10] {
        order: 6;
        margin-left: auto;
    }

    .contact-details[b-wx34x8yd10] {
        flex-wrap: wrap;
    }
}

/* /Components/Pages/Warehouse/ProductEdit.razor.rz.scp.css */
/* ===========================
   ContactEdit - Scoped Styles
   Reuses same patterns as ContactCreate
   =========================== */

/* Page Container */
.page-container[b-q33dan0fo7] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-q33dan0fo7] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-q33dan0fo7] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-q33dan0fo7] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-q33dan0fo7] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-q33dan0fo7] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-q33dan0fo7] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-q33dan0fo7] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-q33dan0fo7] {
    opacity: 0.4;
}

.empty-state-text[b-q33dan0fo7] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-q33dan0fo7] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-q33dan0fo7] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-q33dan0fo7] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Collapsible Sections */
.section-title-collapsible[b-q33dan0fo7] {
    cursor: pointer;
    user-select: none;
}

.section-title-collapsible:hover[b-q33dan0fo7] {
    color: var(--color-primary-dark, var(--color-primary));
}

.section-chevron[b-q33dan0fo7] {
    margin-left: auto;
    transition: transform var(--transition-fast) var(--transition-ease);
    opacity: 0.4;
}

.section-title-collapsible:hover .section-chevron[b-q33dan0fo7] {
    opacity: 0.8;
}

.section-collapsed .section-chevron[b-q33dan0fo7] {
    transform: rotate(-90deg);
}

.section-collapsed .form-grid[b-q33dan0fo7],
.section-collapsed .nav-links[b-q33dan0fo7] {
    display: none;
}

.section-collapsed .section-title[b-q33dan0fo7] {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

/* Checkbox Wrapper */
.form-check-wrapper[b-q33dan0fo7] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) 0;
}

.form-check-wrapper .form-check-input[b-q33dan0fo7] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: var(--color-primary);
}

.form-check-label[b-q33dan0fo7] {
    font-size: var(--font-size-sm);
    color: var(--color-gray-600);
    cursor: pointer;
}

/* Textarea */
.form-control-textarea[b-q33dan0fo7] {
    resize: vertical;
    min-height: 60px;
}

/* Form Grid */
.form-grid[b-q33dan0fo7] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-q33dan0fo7] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-q33dan0fo7] {
    grid-column: span 2;
}

.form-group-full[b-q33dan0fo7] {
    grid-column: 1 / -1;
}

/* Form Controls */
.form-label[b-q33dan0fo7] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-q33dan0fo7] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-q33dan0fo7] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-q33dan0fo7]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-q33dan0fo7] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-q33dan0fo7] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-q33dan0fo7] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-q33dan0fo7] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-q33dan0fo7] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-q33dan0fo7] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Navigation Links */
.nav-links[b-q33dan0fo7] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.nav-link-card[b-q33dan0fo7] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-3) var(--space-4);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-gray-50);
    text-decoration: none;
    color: inherit;
    transition: all var(--transition-fast) var(--transition-ease);
}

.nav-link-card:hover[b-q33dan0fo7] {
    border-color: var(--color-primary);
    background-color: var(--color-white);
    text-decoration: none;
}

.nav-link-icon[b-q33dan0fo7] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: var(--color-primary);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
    flex-shrink: 0;
}

.nav-link-card:hover .nav-link-icon[b-q33dan0fo7] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary);
}

.nav-link-text[b-q33dan0fo7] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.nav-link-title[b-q33dan0fo7] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-gray-700);
}

.nav-link-description[b-q33dan0fo7] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.nav-link-arrow[b-q33dan0fo7] {
    color: var(--color-gray-400);
    flex-shrink: 0;
    transition: transform var(--transition-fast) var(--transition-ease);
}

.nav-link-card:hover .nav-link-arrow[b-q33dan0fo7] {
    color: var(--color-primary);
    transform: translateX(2px);
}

/* Validation */
[b-q33dan0fo7] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-q33dan0fo7] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-q33dan0fo7] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Warehouse/ProductGroupCreate.razor.rz.scp.css */
/* ===========================
   ProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-bddbhbqohw] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-bddbhbqohw] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-bddbhbqohw] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-bddbhbqohw] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-bddbhbqohw] { opacity: 1; }

.form-section[b-bddbhbqohw] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-bddbhbqohw] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-bddbhbqohw] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-bddbhbqohw] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-bddbhbqohw] { display: flex; flex-direction: column; }
.form-group-wide[b-bddbhbqohw] { grid-column: span 2; }
.form-label[b-bddbhbqohw] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-bddbhbqohw] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-bddbhbqohw] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-bddbhbqohw]::placeholder { color: var(--color-gray-400); }
.btn-action[b-bddbhbqohw] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-bddbhbqohw] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-bddbhbqohw] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-bddbhbqohw] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-bddbhbqohw] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-bddbhbqohw] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-bddbhbqohw] { grid-template-columns: 1fr; }
    .form-group-wide[b-bddbhbqohw] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/ProductGroupEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-pj5o30hmm3] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-pj5o30hmm3] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-pj5o30hmm3] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-pj5o30hmm3] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-pj5o30hmm3] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-pj5o30hmm3] { opacity: 1; }

.loading-state[b-pj5o30hmm3] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-pj5o30hmm3] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-pj5o30hmm3] { opacity: 0.4; }
.empty-state-text[b-pj5o30hmm3] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-pj5o30hmm3] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-pj5o30hmm3] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-pj5o30hmm3] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-pj5o30hmm3] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-pj5o30hmm3] { display: flex; flex-direction: column; }
.form-group-wide[b-pj5o30hmm3] { grid-column: span 2; }
.form-label[b-pj5o30hmm3] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-pj5o30hmm3] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-pj5o30hmm3] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-pj5o30hmm3]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-pj5o30hmm3] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-pj5o30hmm3] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-pj5o30hmm3] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-pj5o30hmm3] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-pj5o30hmm3] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-pj5o30hmm3] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-pj5o30hmm3] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-pj5o30hmm3] { grid-template-columns: 1fr; }
    .form-group-wide[b-pj5o30hmm3] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/ProductGroupList.razor.rz.scp.css */
/* ===========================
   ProductGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-caoheg7oqw] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-caoheg7oqw] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-caoheg7oqw] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-caoheg7oqw] { background-color: var(--color-action-active); }

.alert-bar[b-caoheg7oqw] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-caoheg7oqw] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-caoheg7oqw] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-caoheg7oqw] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-caoheg7oqw] { opacity: 1; }

.search-bar[b-caoheg7oqw] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-caoheg7oqw] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-caoheg7oqw] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-caoheg7oqw] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-caoheg7oqw]::placeholder { color: var(--text-muted); }
.search-clear[b-caoheg7oqw] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-caoheg7oqw] { color: var(--color-primary); }
.search-count[b-caoheg7oqw] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-caoheg7oqw] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-caoheg7oqw] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-caoheg7oqw] { opacity: 0.4; }
.empty-state-text[b-caoheg7oqw] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-caoheg7oqw] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-caoheg7oqw] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-caoheg7oqw] { border-bottom: none; }
.item-row:hover[b-caoheg7oqw] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-caoheg7oqw] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-caoheg7oqw] { flex: 1; min-width: 0; }
.item-name[b-caoheg7oqw] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-caoheg7oqw] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-caoheg7oqw] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-caoheg7oqw] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-caoheg7oqw] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-caoheg7oqw] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-caoheg7oqw] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-caoheg7oqw] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-caoheg7oqw] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-caoheg7oqw] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-caoheg7oqw] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-caoheg7oqw] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-caoheg7oqw] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-caoheg7oqw] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-caoheg7oqw] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-caoheg7oqw] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-caoheg7oqw] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-caoheg7oqw] { flex-wrap: wrap; }
    .item-actions[b-caoheg7oqw] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Warehouse/ProductLineCreate.razor.rz.scp.css */
/* ===========================
   ProductLineCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-yb9vsl4foe] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-yb9vsl4foe] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-yb9vsl4foe] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-yb9vsl4foe] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-yb9vsl4foe] { opacity: 1; }

.form-section[b-yb9vsl4foe] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-yb9vsl4foe] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-yb9vsl4foe] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-yb9vsl4foe] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-yb9vsl4foe] { display: flex; flex-direction: column; }
.form-group-wide[b-yb9vsl4foe] { grid-column: span 2; }
.form-label[b-yb9vsl4foe] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-yb9vsl4foe] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-yb9vsl4foe] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-yb9vsl4foe]::placeholder { color: var(--color-gray-400); }
.btn-action[b-yb9vsl4foe] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-yb9vsl4foe] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-yb9vsl4foe] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-yb9vsl4foe] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-yb9vsl4foe] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-yb9vsl4foe] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-yb9vsl4foe] { grid-template-columns: 1fr; }
    .form-group-wide[b-yb9vsl4foe] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/ProductLineEdit.razor.rz.scp.css */
/* ===========================
   ProductLineEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-zqm44kg4d0] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-zqm44kg4d0] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-zqm44kg4d0] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-zqm44kg4d0] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-zqm44kg4d0] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-zqm44kg4d0] { opacity: 1; }

.loading-state[b-zqm44kg4d0] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-zqm44kg4d0] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-zqm44kg4d0] { opacity: 0.4; }
.empty-state-text[b-zqm44kg4d0] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-zqm44kg4d0] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-zqm44kg4d0] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-zqm44kg4d0] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-zqm44kg4d0] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-zqm44kg4d0] { display: flex; flex-direction: column; }
.form-group-wide[b-zqm44kg4d0] { grid-column: span 2; }
.form-label[b-zqm44kg4d0] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-zqm44kg4d0] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-zqm44kg4d0] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-zqm44kg4d0]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-zqm44kg4d0] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-zqm44kg4d0] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-zqm44kg4d0] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-zqm44kg4d0] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-zqm44kg4d0] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-zqm44kg4d0] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-zqm44kg4d0] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-zqm44kg4d0] { grid-template-columns: 1fr; }
    .form-group-wide[b-zqm44kg4d0] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/ProductLineList.razor.rz.scp.css */
/* ===========================
   ProductLineList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-nivyd1w3jz] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-nivyd1w3jz] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-nivyd1w3jz] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-nivyd1w3jz] { background-color: var(--color-action-active); }

.alert-bar[b-nivyd1w3jz] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-nivyd1w3jz] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-nivyd1w3jz] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-nivyd1w3jz] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-nivyd1w3jz] { opacity: 1; }

.search-bar[b-nivyd1w3jz] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-nivyd1w3jz] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-nivyd1w3jz] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-nivyd1w3jz] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-nivyd1w3jz]::placeholder { color: var(--text-muted); }
.search-clear[b-nivyd1w3jz] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-nivyd1w3jz] { color: var(--color-primary); }
.search-count[b-nivyd1w3jz] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-nivyd1w3jz] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-nivyd1w3jz] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-nivyd1w3jz] { opacity: 0.4; }
.empty-state-text[b-nivyd1w3jz] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-nivyd1w3jz] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-nivyd1w3jz] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-nivyd1w3jz] { border-bottom: none; }
.item-row:hover[b-nivyd1w3jz] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-nivyd1w3jz] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-nivyd1w3jz] { flex: 1; min-width: 0; }
.item-name[b-nivyd1w3jz] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-nivyd1w3jz] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-nivyd1w3jz] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-nivyd1w3jz] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-nivyd1w3jz] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-nivyd1w3jz] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-nivyd1w3jz] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-nivyd1w3jz] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-nivyd1w3jz] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-nivyd1w3jz] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-nivyd1w3jz] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-nivyd1w3jz] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-nivyd1w3jz] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-nivyd1w3jz] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }

/* /Components/Pages/Warehouse/ProductList.razor.rz.scp.css */
/* ===========================
   ContactList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-4d5cnavt6w] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-4d5cnavt6w] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-4d5cnavt6w] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-4d5cnavt6w] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-4d5cnavt6w] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-4d5cnavt6w] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-4d5cnavt6w] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-4d5cnavt6w] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-4d5cnavt6w] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-4d5cnavt6w] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-4d5cnavt6w] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-4d5cnavt6w] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-4d5cnavt6w] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-4d5cnavt6w]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-4d5cnavt6w] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-4d5cnavt6w] {
    color: var(--color-primary);
}

.search-count[b-4d5cnavt6w] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.search-toggle[b-4d5cnavt6w] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}

/* Pagination */
.pagination-bar[b-4d5cnavt6w] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    margin-top: var(--space-4);
}

.pagination-info[b-4d5cnavt6w] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.btn-outline-primary:disabled[b-4d5cnavt6w] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Loading / Empty States */
.loading-state[b-4d5cnavt6w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-4d5cnavt6w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-4d5cnavt6w] {
    opacity: 0.4;
}

.empty-state-text[b-4d5cnavt6w] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Contact List */
.contact-list[b-4d5cnavt6w] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Contact Row */
.contact-row[b-4d5cnavt6w] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.contact-row:last-child[b-4d5cnavt6w] {
    border-bottom: none;
}

.contact-row:hover[b-4d5cnavt6w] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.contact-avatar[b-4d5cnavt6w] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Contact Info */
.contact-info[b-4d5cnavt6w] {
    flex: 1;
    min-width: 0;
}

.contact-name[b-4d5cnavt6w] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.contact-meta[b-4d5cnavt6w] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.contact-code[b-4d5cnavt6w] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-4d5cnavt6w] {
    color: var(--color-gray-300);
}

.contact-details[b-4d5cnavt6w] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-top: var(--space-1);
}

.contact-detail-item[b-4d5cnavt6w] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.contact-detail-item svg[b-4d5cnavt6w] {
    flex-shrink: 0;
}

/* Badges */
.contact-badges[b-4d5cnavt6w] {
    flex-shrink: 0;
    display: flex;
    gap: var(--space-2);
}

.badge[b-4d5cnavt6w] {
    display: inline-flex;
    align-items: center;
    padding: 3px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.badge-primary[b-4d5cnavt6w] {
    background-color: rgba(11, 36, 62, 0.1);
    color: var(--color-primary);
}

.badge-info[b-4d5cnavt6w] {
    background-color: rgba(23, 162, 184, 0.1);
    color: var(--color-info);
}

.badge-danger[b-4d5cnavt6w] {
    background-color: rgba(178, 34, 34, 0.1);
    color: var(--color-action);
}

/* Action Buttons */
.contact-actions[b-4d5cnavt6w] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-4d5cnavt6w] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-4d5cnavt6w] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-4d5cnavt6w] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.actions-separator[b-4d5cnavt6w] {
    width: 1px;
    height: 20px;
    background-color: var(--border-color-light);
    margin: 0 var(--space-1);
}

/* Overlay & Dialog */
.overlay[b-4d5cnavt6w] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-4d5cnavt6w] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-4d5cnavt6w] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-4d5cnavt6w] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-4d5cnavt6w] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-4d5cnavt6w] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-4d5cnavt6w] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-4d5cnavt6w] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button (used in confirm dialog) */
.btn-outline-primary[b-4d5cnavt6w] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-4d5cnavt6w] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .contact-row[b-4d5cnavt6w] {
        flex-wrap: wrap;
    }

    .contact-badges[b-4d5cnavt6w] {
        order: 5;
    }

    .contact-actions[b-4d5cnavt6w] {
        order: 6;
        margin-left: auto;
    }

    .contact-details[b-4d5cnavt6w] {
        flex-wrap: wrap;
    }
}

/* /Components/Pages/Warehouse/ProductPalletCompositionCreate.razor.rz.scp.css */
/* ===========================
   ProductPalletCompositionCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-sul06vdkvd] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-sul06vdkvd] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-sul06vdkvd] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-sul06vdkvd] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-sul06vdkvd] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-close[b-sul06vdkvd] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-sul06vdkvd] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-sul06vdkvd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-sul06vdkvd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-sul06vdkvd] {
    opacity: 0.4;
}

.empty-state-text[b-sul06vdkvd] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-sul06vdkvd] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-sul06vdkvd] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-sul06vdkvd] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-sul06vdkvd] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-sul06vdkvd] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-sul06vdkvd] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-sul06vdkvd] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-sul06vdkvd] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-sul06vdkvd] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-sul06vdkvd]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-sul06vdkvd] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-500);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

/* Nota informativa fuori sezione (es. «l'immagine si carica dopo il salvataggio») */
.form-hint-box[b-sul06vdkvd] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-6);
    padding: var(--space-3) var(--space-4);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--border-color-light);
}

.form-hint-box svg[b-sul06vdkvd] {
    flex-shrink: 0;
    opacity: 0.6;
}

.btn-action[b-sul06vdkvd] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-sul06vdkvd] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-sul06vdkvd] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-sul06vdkvd] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-sul06vdkvd] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-sul06vdkvd] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-sul06vdkvd] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-sul06vdkvd] {
        grid-column: span 1;
    }
}

/* Variante d'avviso della nota: modificatore esplicito, NON una ridefinizione di .form-hint-box
   (CLAUDE.md §«Modificatori espliciti, non ridefinizioni»). */
.form-hint-box-warning[b-sul06vdkvd] {
    color: #7a4f01;
    background-color: #fff4e5;
    border-left-color: var(--color-warning);
}

.hint-link[b-sul06vdkvd] {
    margin-left: auto;
    color: inherit;
    font-weight: var(--font-weight-medium);
    text-decoration: underline;
    white-space: nowrap;
}

/* Il valore in sola lettura di un campo TESTUALE: la variante mono di .form-control-static va bene
   per i codici, non per una descrizione. */
.form-control-static-text[b-sul06vdkvd] {
    font-family: inherit;
}
/* /Components/Pages/Warehouse/ProductPalletCompositionEdit.razor.rz.scp.css */
/* ===========================
   ProductPalletCompositionEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-lbmr911cn1] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-lbmr911cn1] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-lbmr911cn1] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-lbmr911cn1] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-lbmr911cn1] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-close[b-lbmr911cn1] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-lbmr911cn1] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-lbmr911cn1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-lbmr911cn1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-lbmr911cn1] {
    opacity: 0.4;
}

.empty-state-text[b-lbmr911cn1] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-lbmr911cn1] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-lbmr911cn1] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-lbmr911cn1] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-lbmr911cn1] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-lbmr911cn1] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-lbmr911cn1] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-lbmr911cn1] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-lbmr911cn1] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-lbmr911cn1] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-lbmr911cn1]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-lbmr911cn1] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-500);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

/* Nota informativa fuori sezione (es. «l'immagine si carica dopo il salvataggio») */
.form-hint-box[b-lbmr911cn1] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-6);
    padding: var(--space-3) var(--space-4);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--border-color-light);
}

.form-hint-box svg[b-lbmr911cn1] {
    flex-shrink: 0;
    opacity: 0.6;
}

.btn-action[b-lbmr911cn1] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-lbmr911cn1] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-lbmr911cn1] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-lbmr911cn1] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-lbmr911cn1] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-lbmr911cn1] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-lbmr911cn1] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-lbmr911cn1] {
        grid-column: span 1;
    }
}

/* Variante d'avviso della nota: modificatore esplicito, NON una ridefinizione di .form-hint-box
   (CLAUDE.md §«Modificatori espliciti, non ridefinizioni»). */
.form-hint-box-warning[b-lbmr911cn1] {
    color: #7a4f01;
    background-color: #fff4e5;
    border-left-color: var(--color-warning);
}

.hint-link[b-lbmr911cn1] {
    margin-left: auto;
    color: inherit;
    font-weight: var(--font-weight-medium);
    text-decoration: underline;
    white-space: nowrap;
}

/* Il valore in sola lettura di un campo TESTUALE: la variante mono di .form-control-static va bene
   per i codici, non per una descrizione. */
.form-control-static-text[b-lbmr911cn1] {
    font-family: inherit;
}
/* /Components/Pages/Warehouse/ProductPalletCompositionList.razor.rz.scp.css */
/* ===========================
   ProductPalletCompositionList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-5kwz0ffe2m] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-5kwz0ffe2m] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-5kwz0ffe2m] {
    background-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
}

/* Alert Bars */
.alert-bar[b-5kwz0ffe2m] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-5kwz0ffe2m] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-5kwz0ffe2m] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-5kwz0ffe2m] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-5kwz0ffe2m] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-5kwz0ffe2m] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
}

.search-input-wrapper[b-5kwz0ffe2m] {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
}

.search-icon[b-5kwz0ffe2m] {
    position: absolute;
    left: var(--space-3);
    color: var(--text-muted);
    pointer-events: none;
}

.search-input[b-5kwz0ffe2m] {
    width: 100%;
    padding: var(--space-2) var(--space-3) var(--space-2) calc(var(--space-3) + 24px);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.search-input:focus[b-5kwz0ffe2m] {
    border-color: var(--color-primary);
    outline: none;
}

.search-input[b-5kwz0ffe2m]::placeholder {
    color: var(--color-gray-400);
}

.search-clear[b-5kwz0ffe2m] {
    position: absolute;
    right: var(--space-2);
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-5kwz0ffe2m] {
    color: var(--color-danger);
}

.search-count[b-5kwz0ffe2m] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    white-space: nowrap;
}

/* Loading State */
.loading-state[b-5kwz0ffe2m] {
    text-align: center;
    padding: var(--space-10) 0;
    color: var(--text-muted);
}

.loading-state p[b-5kwz0ffe2m] {
    margin-top: var(--space-3);
    font-size: var(--font-size-sm);
}

/* Empty State */
.empty-state[b-5kwz0ffe2m] {
    text-align: center;
    padding: var(--space-10) 0;
    color: var(--text-muted);
}

.empty-state svg[b-5kwz0ffe2m] {
    opacity: 0.3;
    margin-bottom: var(--space-3);
}

.empty-state-text[b-5kwz0ffe2m] {
    font-size: var(--font-size-sm);
    margin-bottom: var(--space-3);
}

/* Item List */
.item-list[b-5kwz0ffe2m] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.item-row[b-5kwz0ffe2m] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    background-color: var(--color-white);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-5kwz0ffe2m] {
    border-bottom: none;
}

.item-row:hover[b-5kwz0ffe2m] {
    background-color: var(--color-gray-50);
}

.item-avatar[b-5kwz0ffe2m] {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
    flex-shrink: 0;
}

.item-info[b-5kwz0ffe2m] {
    flex: 1;
    min-width: 0;
}

.item-name[b-5kwz0ffe2m] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-700);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-5kwz0ffe2m] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: 2px;
}

.item-code[b-5kwz0ffe2m] {
    font-family: var(--font-mono);
}

.item-separator[b-5kwz0ffe2m] {
    color: var(--border-color-light);
}

.item-actions[b-5kwz0ffe2m] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-shrink: 0;
}

.btn-icon[b-5kwz0ffe2m] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--text-muted);
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-5kwz0ffe2m] {
    color: var(--color-primary);
    border-color: var(--border-color-light);
    background-color: var(--color-gray-50);
    text-decoration: none;
}

.btn-icon-danger:hover[b-5kwz0ffe2m] {
    color: var(--color-danger);
    border-color: var(--color-danger);
    background-color: #fdeded;
}

/* Delete Confirmation Overlay */
.overlay[b-5kwz0ffe2m] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.confirm-dialog[b-5kwz0ffe2m] {
    background-color: var(--color-white);
    padding: var(--space-6);
    max-width: 420px;
    width: 90%;
    text-align: center;
    border: var(--border-width-thin) solid var(--border-color-light);
    box-shadow: var(--shadow-lg);
}

.confirm-icon[b-5kwz0ffe2m] {
    color: var(--color-warning);
    margin-bottom: var(--space-3);
}

.confirm-dialog h3[b-5kwz0ffe2m] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-gray-700);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-5kwz0ffe2m] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-5kwz0ffe2m] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-danger) !important;
}

.confirm-actions[b-5kwz0ffe2m] {
    display: flex;
    justify-content: center;
    gap: var(--space-3);
    margin-top: var(--space-4);
}

.confirm-actions .btn[b-5kwz0ffe2m] {
    padding: var(--space-2) var(--space-5);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Interruttore «mostra obsoleti» nella barra di ricerca. */
.filter-toggle[b-5kwz0ffe2m] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
}

.filter-toggle input[b-5kwz0ffe2m] {
    accent-color: var(--color-primary);
    cursor: pointer;
}

/* Marcatore dell'imballaggio ritirato: si legge come stato, non come descrizione. */
.item-badge-obsolete[b-5kwz0ffe2m] {
    color: var(--color-danger);
    font-weight: var(--font-weight-medium);
}

/* Interruttore «solo con abbinamenti orfani» nella barra di ricerca. */
.filter-toggle[b-5kwz0ffe2m] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
}

.filter-toggle input[b-5kwz0ffe2m] {
    accent-color: var(--color-primary);
    cursor: pointer;
}

/* Un abbinamento orfano non è proposto dal calcolatore: si legge come stato, non come dettaglio. */
.item-badge-orphan[b-5kwz0ffe2m] {
    color: var(--color-warning);
    font-weight: var(--font-weight-medium);
}
/* /Components/Pages/Warehouse/ProductSubgroupCreate.razor.rz.scp.css */
/* ===========================
   ProductSubgroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-3wmr9ytppi] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-3wmr9ytppi] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-3wmr9ytppi] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-3wmr9ytppi] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-3wmr9ytppi] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-3wmr9ytppi] { opacity: 1; }

.form-section[b-3wmr9ytppi] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-3wmr9ytppi] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-3wmr9ytppi] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-3wmr9ytppi] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-3wmr9ytppi] { display: flex; flex-direction: column; }
.form-label[b-3wmr9ytppi] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-3wmr9ytppi] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-3wmr9ytppi] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-3wmr9ytppi]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-3wmr9ytppi] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-3wmr9ytppi] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-3wmr9ytppi] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-3wmr9ytppi] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-3wmr9ytppi] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-3wmr9ytppi] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-3wmr9ytppi] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-3wmr9ytppi] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Warehouse/ProductSubgroupEdit.razor.rz.scp.css */
/* ===========================
   ProductSubgroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-li0yy5wrn1] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-li0yy5wrn1] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-li0yy5wrn1] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-li0yy5wrn1] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-li0yy5wrn1] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-li0yy5wrn1] { opacity: 1; }

.loading-state[b-li0yy5wrn1] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-li0yy5wrn1] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-li0yy5wrn1] { opacity: 0.4; }
.empty-state-text[b-li0yy5wrn1] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-li0yy5wrn1] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-li0yy5wrn1] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-li0yy5wrn1] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-li0yy5wrn1] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-li0yy5wrn1] { display: flex; flex-direction: column; }
.form-label[b-li0yy5wrn1] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-li0yy5wrn1] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-li0yy5wrn1] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-li0yy5wrn1]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-li0yy5wrn1] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-li0yy5wrn1] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-li0yy5wrn1] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-li0yy5wrn1] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-li0yy5wrn1] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-li0yy5wrn1] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-li0yy5wrn1] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-li0yy5wrn1] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Warehouse/ProductSubgroupList.razor.rz.scp.css */
/* ===========================
   ProductSubgroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-jc9ck6p6ry] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-jc9ck6p6ry] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.btn-action[b-jc9ck6p6ry] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-jc9ck6p6ry] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-jc9ck6p6ry] { background-color: var(--color-action-active); }

.alert-bar[b-jc9ck6p6ry] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-jc9ck6p6ry] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-jc9ck6p6ry] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-jc9ck6p6ry] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-jc9ck6p6ry] { opacity: 1; }

.search-bar[b-jc9ck6p6ry] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-jc9ck6p6ry] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-jc9ck6p6ry] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-jc9ck6p6ry] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-jc9ck6p6ry]::placeholder { color: var(--text-muted); }
.search-clear[b-jc9ck6p6ry] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-jc9ck6p6ry] { color: var(--color-primary); }
.search-count[b-jc9ck6p6ry] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-jc9ck6p6ry] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-jc9ck6p6ry] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-jc9ck6p6ry] { opacity: 0.4; }
.empty-state-text[b-jc9ck6p6ry] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-jc9ck6p6ry] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-jc9ck6p6ry] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-jc9ck6p6ry] { border-bottom: none; }
.item-row:hover[b-jc9ck6p6ry] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-jc9ck6p6ry] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-jc9ck6p6ry] { flex: 1; min-width: 0; }
.item-name[b-jc9ck6p6ry] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-jc9ck6p6ry] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-jc9ck6p6ry] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-jc9ck6p6ry] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-jc9ck6p6ry] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-jc9ck6p6ry] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-jc9ck6p6ry] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-jc9ck6p6ry] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-jc9ck6p6ry] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-jc9ck6p6ry] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-jc9ck6p6ry] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-jc9ck6p6ry] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-jc9ck6p6ry] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-jc9ck6p6ry] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-jc9ck6p6ry] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-jc9ck6p6ry] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-jc9ck6p6ry] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-jc9ck6p6ry] { flex-wrap: wrap; }
    .item-actions[b-jc9ck6p6ry] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Warehouse/ProductUnitCreate.razor.rz.scp.css */
/* ===========================
   ProductUnitCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-czxw749jqf] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-czxw749jqf] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-czxw749jqf] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-czxw749jqf] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-czxw749jqf] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-czxw749jqf] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-czxw749jqf] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-czxw749jqf] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-czxw749jqf] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-czxw749jqf] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-czxw749jqf] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-czxw749jqf] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-czxw749jqf] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-czxw749jqf] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-czxw749jqf] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-czxw749jqf]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-czxw749jqf] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-czxw749jqf] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-czxw749jqf] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-czxw749jqf] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-czxw749jqf] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-czxw749jqf] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-czxw749jqf] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-czxw749jqf] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-czxw749jqf] {
        grid-column: span 1;
    }
}

/* ===========================================================================
   ProductUnit Create/Edit — aggiunte rispetto al chrome di form
   =========================================================================== */

/* --- La frase che rende leggibile il rapporto -------------------------------
   Non si usa `.callout`: quella classe vive solo negli <style> delle pagine di
   help, non nel CSS dell'applicazione, e qui sarebbe un div senza stile.
   --------------------------------------------------------------------------- */
.ratio-note[b-czxw749jqf] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1) var(--space-2);
    align-items: baseline;
    margin-top: var(--space-4);
    padding: var(--space-3) var(--space-4);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--color-primary);
}

.ratio-note strong[b-czxw749jqf] {
    color: var(--color-primary);
    font-weight: var(--font-weight-semibold);
}

.ratio-note code[b-czxw749jqf] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    padding: 1px var(--space-1);
    background-color: var(--color-gray-100);
}

/* Avviso: fattore a zero da correggere, oppure conflitto sul campo calcolato.
   Non blocca il salvataggio — il dato sbagliato può essere già a database, e un
   blocco impedirebbe di salvare proprio la riga che lo sta risolvendo. */
.ratio-note-warn[b-czxw749jqf] {
    background-color: #fff8e1;
    border-left-color: var(--color-warning, #b8860b);
    color: #5f4b10;
}

.ratio-note-warn strong[b-czxw749jqf] {
    color: #5f4b10;
}

/* --- Nota sotto un campo ---------------------------------------------------
   Terza riga della banda della cella (CLAUDE.md §«Griglia di form»).
   --------------------------------------------------------------------------- */
.form-note[b-czxw749jqf] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: 2px;
}

.meta-separator[b-czxw749jqf] {
    color: var(--color-gray-300);
}
/* /Components/Pages/Warehouse/ProductUnitEdit.razor.rz.scp.css */
/* ===========================
   ProductUnitEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-y252xx3qia] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-y252xx3qia] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-y252xx3qia] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-y252xx3qia] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-y252xx3qia] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-y252xx3qia] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-y252xx3qia] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-y252xx3qia] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-y252xx3qia] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-y252xx3qia] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-y252xx3qia] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-y252xx3qia] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-y252xx3qia] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-y252xx3qia] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-y252xx3qia] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-y252xx3qia]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-y252xx3qia] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-y252xx3qia] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-y252xx3qia] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-y252xx3qia] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-y252xx3qia] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-y252xx3qia] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-y252xx3qia] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-y252xx3qia] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-y252xx3qia] {
        grid-column: span 1;
    }
}

/* ===========================================================================
   ProductUnit Create/Edit — aggiunte rispetto al chrome di form
   =========================================================================== */

/* --- La frase che rende leggibile il rapporto -------------------------------
   Non si usa `.callout`: quella classe vive solo negli <style> delle pagine di
   help, non nel CSS dell'applicazione, e qui sarebbe un div senza stile.
   --------------------------------------------------------------------------- */
.ratio-note[b-y252xx3qia] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1) var(--space-2);
    align-items: baseline;
    margin-top: var(--space-4);
    padding: var(--space-3) var(--space-4);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--color-primary);
}

.ratio-note strong[b-y252xx3qia] {
    color: var(--color-primary);
    font-weight: var(--font-weight-semibold);
}

.ratio-note code[b-y252xx3qia] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    padding: 1px var(--space-1);
    background-color: var(--color-gray-100);
}

/* Avviso: fattore a zero da correggere, oppure conflitto sul campo calcolato.
   Non blocca il salvataggio — il dato sbagliato può essere già a database, e un
   blocco impedirebbe di salvare proprio la riga che lo sta risolvendo. */
.ratio-note-warn[b-y252xx3qia] {
    background-color: #fff8e1;
    border-left-color: var(--color-warning, #b8860b);
    color: #5f4b10;
}

.ratio-note-warn strong[b-y252xx3qia] {
    color: #5f4b10;
}

/* --- Nota sotto un campo ---------------------------------------------------
   Terza riga della banda della cella (CLAUDE.md §«Griglia di form»).
   --------------------------------------------------------------------------- */
.form-note[b-y252xx3qia] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: 2px;
}

.meta-separator[b-y252xx3qia] {
    color: var(--color-gray-300);
}
/* /Components/Pages/Warehouse/ProductUnitList.razor.rz.scp.css */
/* ===========================
   ProductUnitList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-qao0k9uwke] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-qao0k9uwke] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Action Button */
.btn-action[b-qao0k9uwke] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-qao0k9uwke] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-qao0k9uwke] {
    background-color: var(--color-action-active);
}

.btn-action:disabled[b-qao0k9uwke] {
    opacity: 0.65;
    cursor: not-allowed;
}

/* Alert Bars */
.alert-bar[b-qao0k9uwke] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-qao0k9uwke] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-qao0k9uwke] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

/* Avviso non bloccante: la riga-ponte che manca (CLAUDE.md §«La base dei fattori»). Non è un errore
   della pagina — è una configurazione incompleta dell'anagrafica, e si corregge da qui. */
.alert-bar-warning[b-qao0k9uwke] {
    background-color: #fff8e6;
    border-left-color: var(--color-warning, #b26a00);
    color: #5c3c00;
}

.alert-bar-warning svg[b-qao0k9uwke] {
    flex-shrink: 0;
}

.alert-bar-close[b-qao0k9uwke] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-qao0k9uwke] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-qao0k9uwke] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-qao0k9uwke] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-qao0k9uwke] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-qao0k9uwke] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-qao0k9uwke]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-qao0k9uwke] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-qao0k9uwke] {
    color: var(--color-primary);
}

.search-count[b-qao0k9uwke] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-qao0k9uwke] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-qao0k9uwke] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-qao0k9uwke] {
    opacity: 0.4;
}

.empty-state-text[b-qao0k9uwke] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Contact List */
.contact-list[b-qao0k9uwke] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Contact Row */
.contact-row[b-qao0k9uwke] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.contact-row:last-child[b-qao0k9uwke] {
    border-bottom: none;
}

.contact-row:hover[b-qao0k9uwke] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.contact-avatar[b-qao0k9uwke] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Contact Info */
.contact-info[b-qao0k9uwke] {
    flex: 1;
    min-width: 0;
}

.contact-name[b-qao0k9uwke] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.contact-meta[b-qao0k9uwke] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.contact-code[b-qao0k9uwke] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-qao0k9uwke] {
    color: var(--color-gray-300);
}

.contact-details[b-qao0k9uwke] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-top: var(--space-1);
}

.contact-detail-item[b-qao0k9uwke] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.contact-detail-item svg[b-qao0k9uwke] {
    flex-shrink: 0;
}

/* Badges */
.contact-badges[b-qao0k9uwke] {
    flex-shrink: 0;
    display: flex;
    gap: var(--space-2);
}

.badge[b-qao0k9uwke] {
    display: inline-flex;
    align-items: center;
    padding: 3px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.badge-primary[b-qao0k9uwke] {
    background-color: rgba(11, 36, 62, 0.1);
    color: var(--color-primary);
}

.badge-info[b-qao0k9uwke] {
    background-color: rgba(23, 162, 184, 0.1);
    color: var(--color-info);
}

/* Action Buttons */
.contact-actions[b-qao0k9uwke] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-qao0k9uwke] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-qao0k9uwke] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-qao0k9uwke] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-qao0k9uwke] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-qao0k9uwke] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-qao0k9uwke] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-qao0k9uwke] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-qao0k9uwke] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-qao0k9uwke] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-qao0k9uwke] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-qao0k9uwke] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-qao0k9uwke] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-qao0k9uwke] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .contact-row[b-qao0k9uwke] {
        flex-wrap: wrap;
    }

    .contact-badges[b-qao0k9uwke] {
        order: 5;
    }

    .contact-actions[b-qao0k9uwke] {
        order: 6;
        margin-left: auto;
    }

    .contact-details[b-qao0k9uwke] {
        flex-wrap: wrap;
    }
}


/* ===========================================================================
   ProductUnitList — aggiunte rispetto al chrome di lista
   =========================================================================== */

/* --- Selettore di ambito -----------------------------------------------------
   Link resi come schede: reggono tasto centrale e «apri in nuova scheda», che
   su un selettore di contesto è ciò che serve a confrontare due ambiti.
   Pattern ripreso da Production/CustomerLabelTextList (.kind-tabs/.kind-tab).
   --------------------------------------------------------------------------- */
.scope-tabs[b-qao0k9uwke] {
    display: flex;
    gap: 0;
    flex-wrap: wrap;
    margin-bottom: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.scope-tab[b-qao0k9uwke] {
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-decoration: none;
    border-bottom: var(--border-width-thick) solid transparent;
    margin-bottom: calc(-1 * var(--border-width-thin));
    transition: color var(--transition-fast) var(--transition-ease),
                border-color var(--transition-fast) var(--transition-ease);
}

.scope-tab:hover[b-qao0k9uwke] {
    color: var(--color-primary);
    text-decoration: none;
}

.scope-tab.active[b-qao0k9uwke] {
    color: var(--color-primary);
    border-bottom-color: var(--color-action);
}

/* --- Chi usa questi dati -----------------------------------------------------
   Su acquisto e vendita nessuno li legge, e chi compila ha diritto di saperlo
   prima, non dopo.
   --------------------------------------------------------------------------- */
.scope-consumers[b-qao0k9uwke] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--border-color-light);
}

.scope-consumers svg[b-qao0k9uwke] {
    flex-shrink: 0;
    opacity: 0.6;
}

.scope-consumers-warn[b-qao0k9uwke] {
    background-color: #fff8e1;
    border-left-color: var(--color-warning, #b8860b);
    color: #5f4b10;
}

/* --- Rapporto di conversione ----------------------------------------------- */
.ratio[b-qao0k9uwke] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
}

.ratio-missing[b-qao0k9uwke] {
    color: var(--color-action);
    font-weight: var(--font-weight-medium);
}

.contact-name-secondary[b-qao0k9uwke] {
    font-weight: var(--font-weight-regular, 400);
    color: var(--text-secondary);
}

/* --- Righe ereditate dalla catena ------------------------------------------
   Appartengono all'ambito magazzino: valgono qui finché non le si sovrascrive,
   e da qui non si modificano.
   --------------------------------------------------------------------------- */
.inherited-title[b-qao0k9uwke] {
    display: flex;
    align-items: baseline;
    gap: var(--space-3);
    flex-wrap: wrap;
    margin: var(--space-6) 0 var(--space-2) 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.inherited-hint[b-qao0k9uwke] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-regular, 400);
    color: var(--text-muted);
    text-transform: none;
    letter-spacing: 0;
}

.contact-list-inherited[b-qao0k9uwke] {
    border-style: dashed;
}

.contact-row-inherited[b-qao0k9uwke] {
    background-color: var(--bg-secondary);
}

.contact-row-inherited .contact-name[b-qao0k9uwke],
.contact-row-inherited .ratio[b-qao0k9uwke] {
    color: var(--text-secondary);
}

.badge-inherited[b-qao0k9uwke] {
    background-color: var(--color-gray-200, rgba(11, 36, 62, 0.12));
    color: var(--text-secondary);
}
/* /Components/Pages/Warehouse/ProductVarietyCreate.razor.rz.scp.css */
/* ===========================
   ProductVarietyCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-kxrtcmc4po] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-kxrtcmc4po] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-kxrtcmc4po] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-kxrtcmc4po] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-kxrtcmc4po] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-kxrtcmc4po] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-kxrtcmc4po] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-kxrtcmc4po] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-kxrtcmc4po] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-kxrtcmc4po] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-kxrtcmc4po] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-kxrtcmc4po] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-kxrtcmc4po] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-kxrtcmc4po] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-kxrtcmc4po] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-kxrtcmc4po]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-kxrtcmc4po] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-kxrtcmc4po] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-kxrtcmc4po] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-kxrtcmc4po] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-kxrtcmc4po] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-kxrtcmc4po] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-kxrtcmc4po] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-kxrtcmc4po] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-kxrtcmc4po] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Warehouse/ProductVarietyEdit.razor.rz.scp.css */
/* ===========================
   ProductVarietyEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-0lwyj2z34d] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-0lwyj2z34d] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-0lwyj2z34d] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-0lwyj2z34d] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-0lwyj2z34d] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-0lwyj2z34d] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-0lwyj2z34d] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-0lwyj2z34d] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-0lwyj2z34d] {
    opacity: 0.4;
}

.empty-state-text[b-0lwyj2z34d] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-0lwyj2z34d] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-0lwyj2z34d] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-0lwyj2z34d] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-0lwyj2z34d] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-0lwyj2z34d] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-0lwyj2z34d] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-0lwyj2z34d] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-0lwyj2z34d] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-0lwyj2z34d] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-0lwyj2z34d]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-0lwyj2z34d] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-0lwyj2z34d] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-0lwyj2z34d] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-0lwyj2z34d] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-0lwyj2z34d] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-0lwyj2z34d] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-0lwyj2z34d] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-0lwyj2z34d] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-0lwyj2z34d] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Warehouse/ProductVarietyList.razor.rz.scp.css */
/* ===========================
   ProductVarietyList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-fqdaf2aipw] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-fqdaf2aipw] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Action Button */
.btn-action[b-fqdaf2aipw] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-fqdaf2aipw] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-fqdaf2aipw] {
    background-color: var(--color-action-active);
}

.btn-action:disabled[b-fqdaf2aipw] {
    opacity: 0.65;
    cursor: not-allowed;
}

/* Alert Bars */
.alert-bar[b-fqdaf2aipw] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-fqdaf2aipw] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-fqdaf2aipw] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-fqdaf2aipw] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-fqdaf2aipw] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-fqdaf2aipw] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-fqdaf2aipw] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-fqdaf2aipw] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-fqdaf2aipw] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-fqdaf2aipw]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-fqdaf2aipw] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-fqdaf2aipw] {
    color: var(--color-primary);
}

.search-count[b-fqdaf2aipw] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-fqdaf2aipw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-fqdaf2aipw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-fqdaf2aipw] {
    opacity: 0.4;
}

.empty-state-text[b-fqdaf2aipw] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Contact List */
.contact-list[b-fqdaf2aipw] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Contact Row */
.contact-row[b-fqdaf2aipw] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.contact-row:last-child[b-fqdaf2aipw] {
    border-bottom: none;
}

.contact-row:hover[b-fqdaf2aipw] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.contact-avatar[b-fqdaf2aipw] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Contact Info */
.contact-info[b-fqdaf2aipw] {
    flex: 1;
    min-width: 0;
}

.contact-name[b-fqdaf2aipw] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.contact-meta[b-fqdaf2aipw] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.contact-code[b-fqdaf2aipw] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-fqdaf2aipw] {
    color: var(--color-gray-300);
}

.contact-details[b-fqdaf2aipw] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-top: var(--space-1);
}

.contact-detail-item[b-fqdaf2aipw] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.contact-detail-item svg[b-fqdaf2aipw] {
    flex-shrink: 0;
}

/* Badges */
.contact-badges[b-fqdaf2aipw] {
    flex-shrink: 0;
    display: flex;
    gap: var(--space-2);
}

.badge[b-fqdaf2aipw] {
    display: inline-flex;
    align-items: center;
    padding: 3px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.badge-primary[b-fqdaf2aipw] {
    background-color: rgba(11, 36, 62, 0.1);
    color: var(--color-primary);
}

.badge-info[b-fqdaf2aipw] {
    background-color: rgba(23, 162, 184, 0.1);
    color: var(--color-info);
}

.badge-danger[b-fqdaf2aipw] {
    background-color: rgba(178, 34, 34, 0.1);
    color: var(--color-action);
}

/* Action Buttons */
.contact-actions[b-fqdaf2aipw] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-fqdaf2aipw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-fqdaf2aipw] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-fqdaf2aipw] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-fqdaf2aipw] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-fqdaf2aipw] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-fqdaf2aipw] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-fqdaf2aipw] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-fqdaf2aipw] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-fqdaf2aipw] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-fqdaf2aipw] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-fqdaf2aipw] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-fqdaf2aipw] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-fqdaf2aipw] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .contact-row[b-fqdaf2aipw] {
        flex-wrap: wrap;
    }

    .contact-badges[b-fqdaf2aipw] {
        order: 5;
    }

    .contact-actions[b-fqdaf2aipw] {
        order: 6;
        margin-left: auto;
    }

    .contact-details[b-fqdaf2aipw] {
        flex-wrap: wrap;
    }
}

/* /Components/Pages/Warehouse/Reports/ArticleBarcodeGroup1MeatReport.razor.rz.scp.css */
/* ===========================
   ArticleBarcodeGroup1MeatReport - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-py28rd6xmc] {
    max-width: 1600px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Header */
.page-header[b-py28rd6xmc] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-py28rd6xmc] {
    flex: 1;
}

.page-header-right[b-py28rd6xmc] {
    flex-shrink: 0;
}

.page-title[b-py28rd6xmc] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-py28rd6xmc] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-py28rd6xmc] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Back Button */
.btn-back[b-py28rd6xmc] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border: var(--border-width-thin) solid var(--border-color-light);
    color: var(--text-secondary);
    background-color: var(--bg-primary);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-back:hover[b-py28rd6xmc] {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

/* Alert Bar */
.alert-bar[b-py28rd6xmc] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
}

.alert-bar-danger[b-py28rd6xmc] {
    background-color: var(--color-red-50);
    color: var(--color-red-700);
    border: var(--border-width-thin) solid var(--color-red-200);
}

.alert-bar-close[b-py28rd6xmc] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-py28rd6xmc] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-py28rd6xmc] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-py28rd6xmc] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-py28rd6xmc] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-py28rd6xmc] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-py28rd6xmc]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-py28rd6xmc] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-py28rd6xmc] {
    color: var(--color-primary);
}

.search-count[b-py28rd6xmc] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-py28rd6xmc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-py28rd6xmc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-py28rd6xmc] {
    opacity: 0.4;
}

.empty-state-text[b-py28rd6xmc] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Outline Primary Button */
.btn-outline-primary[b-py28rd6xmc] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    border: var(--border-width-thin) solid var(--color-primary);
    color: var(--color-primary);
    background-color: transparent;
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-outline-primary:hover[b-py28rd6xmc] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Report Table */
.report-table-wrapper[b-py28rd6xmc] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-py28rd6xmc] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
}

.report-table thead[b-py28rd6xmc] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-py28rd6xmc] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    position: sticky;
    top: 0;
    z-index: 1;
}

.report-table tbody tr[b-py28rd6xmc] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-py28rd6xmc] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-py28rd6xmc] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table td[b-py28rd6xmc] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

/* Column Types */
.col-code[b-py28rd6xmc] {
    text-align: left;
}

.col-text[b-py28rd6xmc] {
    text-align: left;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.col-num[b-py28rd6xmc] {
    text-align: right;
    font-family: var(--font-mono);
}

.col-date[b-py28rd6xmc] {
    text-align: center;
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
}

.col-kpi[b-py28rd6xmc] {
    text-align: center;
    width: 32px;
    padding-left: var(--space-2);
    padding-right: 0;
}

.kpi-dot[b-py28rd6xmc] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.cell-code[b-py28rd6xmc] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.8;
}

.stock-value[b-py28rd6xmc] {
    font-weight: 800;
    font-size: var(--font-size-base);
    color: var(--text-primary);
    letter-spacing: -0.3px;
}

/* Group Header */
.group-header[b-py28rd6xmc] {
    background-color: rgba(11, 36, 62, 0.06);
    border-bottom: 2px solid rgba(11, 36, 62, 0.12);
    cursor: pointer;
    user-select: none;
}

.group-header:hover[b-py28rd6xmc] {
    background-color: rgba(11, 36, 62, 0.10);
}

.group-header td[b-py28rd6xmc] {
    padding: var(--space-3) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-primary);
}

.group-toggle[b-py28rd6xmc] {
    display: inline-block;
    vertical-align: middle;
    margin-right: var(--space-2);
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.group-header.collapsed .group-toggle[b-py28rd6xmc] {
    transform: rotate(-90deg);
}

.group-label[b-py28rd6xmc] {
    font-size: var(--font-size-sm);
    letter-spacing: 0.3px;
}

.group-count[b-py28rd6xmc] {
    margin-left: var(--space-4);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.group-summary[b-py28rd6xmc] {
    margin-left: var(--space-4);
    font-size: var(--font-size-xs);
    font-family: var(--font-mono);
    color: var(--text-secondary);
    letter-spacing: 0.2px;
}

/* Group Subtotal */
.group-subtotal[b-py28rd6xmc] {
    background-color: rgba(11, 36, 62, 0.04);
    border-bottom: 2px solid rgba(11, 36, 62, 0.10);
}

.group-subtotal td[b-py28rd6xmc] {
    padding: var(--space-2) var(--space-3);
    font-family: var(--font-mono);
    color: var(--text-primary);
}

.subtotal-label[b-py28rd6xmc] {
    text-align: right;
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: inherit;
    color: var(--text-muted);
    padding-right: var(--space-4);
}

/* Grand Total */
.grand-total[b-py28rd6xmc] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.grand-total td[b-py28rd6xmc] {
    padding: var(--space-3) var(--space-3);
    font-family: var(--font-mono);
    color: var(--text-on-primary);
}

.grand-total .subtotal-label[b-py28rd6xmc] {
    color: var(--text-on-primary);
    opacity: 0.85;
}

/* Responsive */
@media (max-width: 768px) {
    .page-header[b-py28rd6xmc] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-py28rd6xmc] {
        padding: var(--space-4) var(--space-2);
    }
}
/* /Components/Pages/Warehouse/Reports/ArticleBarcodeGroup2MeatReport.razor.rz.scp.css */
/* ===========================
   ArticleBarcodeGroup2MeatReport - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-j6ohr2yq2k] {
    max-width: 1600px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Header */
.page-header[b-j6ohr2yq2k] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-j6ohr2yq2k] {
    flex: 1;
}

.page-header-right[b-j6ohr2yq2k] {
    flex-shrink: 0;
}

.page-title[b-j6ohr2yq2k] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-j6ohr2yq2k] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-j6ohr2yq2k] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Back Button */
.btn-back[b-j6ohr2yq2k] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border: var(--border-width-thin) solid var(--border-color-light);
    color: var(--text-secondary);
    background-color: var(--bg-primary);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-back:hover[b-j6ohr2yq2k] {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

/* Alert Bar */
.alert-bar[b-j6ohr2yq2k] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
}

.alert-bar-danger[b-j6ohr2yq2k] {
    background-color: var(--color-red-50);
    color: var(--color-red-700);
    border: var(--border-width-thin) solid var(--color-red-200);
}

.alert-bar-close[b-j6ohr2yq2k] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-j6ohr2yq2k] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-j6ohr2yq2k] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-j6ohr2yq2k] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-j6ohr2yq2k] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-j6ohr2yq2k] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-j6ohr2yq2k]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-j6ohr2yq2k] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-j6ohr2yq2k] {
    color: var(--color-primary);
}

.search-count[b-j6ohr2yq2k] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-j6ohr2yq2k] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-j6ohr2yq2k] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-j6ohr2yq2k] {
    opacity: 0.4;
}

.empty-state-text[b-j6ohr2yq2k] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Outline Primary Button */
.btn-outline-primary[b-j6ohr2yq2k] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    border: var(--border-width-thin) solid var(--color-primary);
    color: var(--color-primary);
    background-color: transparent;
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-outline-primary:hover[b-j6ohr2yq2k] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Report Table */
.report-table-wrapper[b-j6ohr2yq2k] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-j6ohr2yq2k] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
}

.report-table thead[b-j6ohr2yq2k] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-j6ohr2yq2k] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    position: sticky;
    top: 0;
    z-index: 1;
}

.report-table tbody tr[b-j6ohr2yq2k] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-j6ohr2yq2k] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-j6ohr2yq2k] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table td[b-j6ohr2yq2k] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

/* Column Types */
.col-code[b-j6ohr2yq2k] {
    text-align: left;
}

.col-text[b-j6ohr2yq2k] {
    text-align: left;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.col-num[b-j6ohr2yq2k] {
    text-align: right;
    font-family: var(--font-mono);
}

.col-date[b-j6ohr2yq2k] {
    text-align: center;
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
}

.col-kpi[b-j6ohr2yq2k] {
    text-align: center;
    width: 32px;
    padding-left: var(--space-2);
    padding-right: 0;
}

.kpi-dot[b-j6ohr2yq2k] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.cell-code[b-j6ohr2yq2k] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.8;
}

.stock-value[b-j6ohr2yq2k] {
    font-weight: 800;
    font-size: var(--font-size-base);
    color: var(--text-primary);
    letter-spacing: -0.3px;
}

/* Group Header */
.group-header[b-j6ohr2yq2k] {
    background-color: rgba(11, 36, 62, 0.06);
    border-bottom: 2px solid rgba(11, 36, 62, 0.12);
    cursor: pointer;
    user-select: none;
}

.group-header:hover[b-j6ohr2yq2k] {
    background-color: rgba(11, 36, 62, 0.10);
}

.group-header td[b-j6ohr2yq2k] {
    padding: var(--space-3) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-primary);
}

.group-toggle[b-j6ohr2yq2k] {
    display: inline-block;
    vertical-align: middle;
    margin-right: var(--space-2);
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.group-header.collapsed .group-toggle[b-j6ohr2yq2k] {
    transform: rotate(-90deg);
}

.group-label[b-j6ohr2yq2k] {
    font-size: var(--font-size-sm);
    letter-spacing: 0.3px;
}

.group-count[b-j6ohr2yq2k] {
    margin-left: var(--space-4);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.group-summary[b-j6ohr2yq2k] {
    margin-left: var(--space-4);
    font-size: var(--font-size-xs);
    font-family: var(--font-mono);
    color: var(--text-secondary);
    letter-spacing: 0.2px;
}

/* Group Subtotal */
.group-subtotal[b-j6ohr2yq2k] {
    background-color: rgba(11, 36, 62, 0.04);
    border-bottom: 2px solid rgba(11, 36, 62, 0.10);
}

.group-subtotal td[b-j6ohr2yq2k] {
    padding: var(--space-2) var(--space-3);
    font-family: var(--font-mono);
    color: var(--text-primary);
}

.subtotal-label[b-j6ohr2yq2k] {
    text-align: right;
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: inherit;
    color: var(--text-muted);
    padding-right: var(--space-4);
}

/* Grand Total */
.grand-total[b-j6ohr2yq2k] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.grand-total td[b-j6ohr2yq2k] {
    padding: var(--space-3) var(--space-3);
    font-family: var(--font-mono);
    color: var(--text-on-primary);
}

.grand-total .subtotal-label[b-j6ohr2yq2k] {
    color: var(--text-on-primary);
    opacity: 0.85;
}

/* Responsive */
@media (max-width: 768px) {
    .page-header[b-j6ohr2yq2k] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-j6ohr2yq2k] {
        padding: var(--space-4) var(--space-2);
    }
}
/* /Components/Pages/Warehouse/Reports/ArticleBarcodeGroup3MeatReport.razor.rz.scp.css */
/* ===========================
   ArticleBarcodeGroup3MeatReport - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-6841yti1ce] {
    max-width: 1600px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Header */
.page-header[b-6841yti1ce] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-6841yti1ce] {
    flex: 1;
}

.page-header-right[b-6841yti1ce] {
    flex-shrink: 0;
}

.page-title[b-6841yti1ce] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-6841yti1ce] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-6841yti1ce] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Back Button */
.btn-back[b-6841yti1ce] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border: var(--border-width-thin) solid var(--border-color-light);
    color: var(--text-secondary);
    background-color: var(--bg-primary);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-back:hover[b-6841yti1ce] {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

/* Alert Bar */
.alert-bar[b-6841yti1ce] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
}

.alert-bar-danger[b-6841yti1ce] {
    background-color: var(--color-red-50);
    color: var(--color-red-700);
    border: var(--border-width-thin) solid var(--color-red-200);
}

.alert-bar-close[b-6841yti1ce] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-6841yti1ce] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-6841yti1ce] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-6841yti1ce] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-6841yti1ce] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-6841yti1ce] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-6841yti1ce]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-6841yti1ce] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-6841yti1ce] {
    color: var(--color-primary);
}

.search-count[b-6841yti1ce] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-6841yti1ce] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-6841yti1ce] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-6841yti1ce] {
    opacity: 0.4;
}

.empty-state-text[b-6841yti1ce] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Outline Primary Button */
.btn-outline-primary[b-6841yti1ce] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    border: var(--border-width-thin) solid var(--color-primary);
    color: var(--color-primary);
    background-color: transparent;
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-outline-primary:hover[b-6841yti1ce] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Report Table */
.report-table-wrapper[b-6841yti1ce] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-6841yti1ce] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
}

.report-table thead[b-6841yti1ce] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-6841yti1ce] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    position: sticky;
    top: 0;
    z-index: 1;
}

.report-table tbody tr[b-6841yti1ce] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-6841yti1ce] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-6841yti1ce] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table td[b-6841yti1ce] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

/* Column Types */
.col-code[b-6841yti1ce] {
    text-align: left;
}

.col-text[b-6841yti1ce] {
    text-align: left;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.col-num[b-6841yti1ce] {
    text-align: right;
    font-family: var(--font-mono);
}

.col-date[b-6841yti1ce] {
    text-align: center;
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
}

.col-kpi[b-6841yti1ce] {
    text-align: center;
    width: 32px;
    padding-left: var(--space-2);
    padding-right: 0;
}

.kpi-dot[b-6841yti1ce] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.cell-code[b-6841yti1ce] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.8;
}

.stock-value[b-6841yti1ce] {
    font-weight: 800;
    font-size: var(--font-size-base);
    color: var(--text-primary);
    letter-spacing: -0.3px;
}

/* Group Header */
.group-header[b-6841yti1ce] {
    background-color: rgba(11, 36, 62, 0.06);
    border-bottom: 2px solid rgba(11, 36, 62, 0.12);
    cursor: pointer;
    user-select: none;
}

.group-header:hover[b-6841yti1ce] {
    background-color: rgba(11, 36, 62, 0.10);
}

.group-header td[b-6841yti1ce] {
    padding: var(--space-3) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-primary);
}

.group-toggle[b-6841yti1ce] {
    display: inline-block;
    vertical-align: middle;
    margin-right: var(--space-2);
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.group-header.collapsed .group-toggle[b-6841yti1ce] {
    transform: rotate(-90deg);
}

.group-label[b-6841yti1ce] {
    font-size: var(--font-size-sm);
    letter-spacing: 0.3px;
}

.group-count[b-6841yti1ce] {
    margin-left: var(--space-4);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.group-summary[b-6841yti1ce] {
    margin-left: var(--space-4);
    font-size: var(--font-size-xs);
    font-family: var(--font-mono);
    color: var(--text-secondary);
    letter-spacing: 0.2px;
}

/* Group Subtotal */
.group-subtotal[b-6841yti1ce] {
    background-color: rgba(11, 36, 62, 0.04);
    border-bottom: 2px solid rgba(11, 36, 62, 0.10);
}

.group-subtotal td[b-6841yti1ce] {
    padding: var(--space-2) var(--space-3);
    font-family: var(--font-mono);
    color: var(--text-primary);
}

.subtotal-label[b-6841yti1ce] {
    text-align: right;
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: inherit;
    color: var(--text-muted);
    padding-right: var(--space-4);
}

/* Grand Total */
.grand-total[b-6841yti1ce] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.grand-total td[b-6841yti1ce] {
    padding: var(--space-3) var(--space-3);
    font-family: var(--font-mono);
    color: var(--text-on-primary);
}

.grand-total .subtotal-label[b-6841yti1ce] {
    color: var(--text-on-primary);
    opacity: 0.85;
}

/* Responsive */
@media (max-width: 768px) {
    .page-header[b-6841yti1ce] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-6841yti1ce] {
        padding: var(--space-4) var(--space-2);
    }
}
/* /Components/Pages/Warehouse/Reports/ArticleBarcodeMeatReport.razor.rz.scp.css */
/* ===========================
   ArticleBarcodeMeatReport - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-jgertnxsf3] {
    max-width: 1600px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Header */
.page-header[b-jgertnxsf3] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-jgertnxsf3] {
    flex: 1;
}

.page-header-right[b-jgertnxsf3] {
    flex-shrink: 0;
}

.page-title[b-jgertnxsf3] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-jgertnxsf3] {
    color: var(--color-primary);
    flex-shrink: 0;
}

/* Page Info (decoded parameters + description) */
.page-info[b-jgertnxsf3] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1) var(--space-6);
    margin-top: var(--space-2);
}

.page-info-row[b-jgertnxsf3] {
    display: flex;
    align-items: baseline;
    gap: var(--space-2);
}

.page-info-label[b-jgertnxsf3] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.page-info-value[b-jgertnxsf3] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    font-family: var(--font-mono);
}

.page-info-desc[b-jgertnxsf3] {
    font-family: inherit;
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
}

/* Summary Stats */
.summary-stats[b-jgertnxsf3] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-jgertnxsf3] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-jgertnxsf3] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-jgertnxsf3] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    font-family: var(--font-mono);
}

/* Back Button */
.btn-back[b-jgertnxsf3] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border: var(--border-width-thin) solid var(--border-color-light);
    color: var(--text-secondary);
    background-color: var(--bg-primary);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-back:hover[b-jgertnxsf3] {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

/* Alert Bar */
.alert-bar[b-jgertnxsf3] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
}

.alert-bar-danger[b-jgertnxsf3] {
    background-color: var(--color-red-50);
    color: var(--color-red-700);
    border: var(--border-width-thin) solid var(--color-red-200);
}

.alert-bar-close[b-jgertnxsf3] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-jgertnxsf3] {
    opacity: 1;
}

/* View Links */
.view-links[b-jgertnxsf3] {
    display: flex;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
}

.view-link[b-jgertnxsf3] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    text-decoration: none;
    border: var(--border-width-thin) solid var(--color-primary);
    background-color: transparent;
    transition: all var(--transition-fast) var(--transition-ease);
}

.view-link:hover[b-jgertnxsf3] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Search Bar */
.search-bar[b-jgertnxsf3] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-jgertnxsf3] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-jgertnxsf3] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-jgertnxsf3] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-jgertnxsf3]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-jgertnxsf3] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-jgertnxsf3] {
    color: var(--color-primary);
}

.search-count[b-jgertnxsf3] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-jgertnxsf3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-jgertnxsf3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-jgertnxsf3] {
    opacity: 0.4;
}

.empty-state-text[b-jgertnxsf3] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Outline Primary Button */
.btn-outline-primary[b-jgertnxsf3] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    border: var(--border-width-thin) solid var(--color-primary);
    color: var(--color-primary);
    background-color: transparent;
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-outline-primary:hover[b-jgertnxsf3] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Report Table */
.report-table-wrapper[b-jgertnxsf3] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-jgertnxsf3] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
}

.report-table thead[b-jgertnxsf3] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-jgertnxsf3] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    position: sticky;
    top: 0;
    z-index: 1;
}

.report-table thead th.sortable[b-jgertnxsf3] {
    cursor: pointer;
    user-select: none;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table thead th.sortable:hover[b-jgertnxsf3] {
    background-color: rgba(255, 255, 255, 0.1);
}

.report-table tbody tr[b-jgertnxsf3] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-jgertnxsf3] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-jgertnxsf3] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table tbody tr:nth-child(even)[b-jgertnxsf3] {
    background-color: var(--bg-secondary);
}

.report-table tbody tr:nth-child(even):hover[b-jgertnxsf3] {
    background-color: rgba(11, 36, 62, 0.05);
}

.report-table td[b-jgertnxsf3] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

/* Column Types */
.col-id[b-jgertnxsf3] {
    text-align: right;
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.col-code[b-jgertnxsf3] {
    text-align: left;
}

.col-text[b-jgertnxsf3] {
    text-align: left;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.col-num[b-jgertnxsf3] {
    text-align: right;
    font-family: var(--font-mono);
}

.col-date[b-jgertnxsf3] {
    text-align: center;
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
}

.col-date.expired[b-jgertnxsf3] {
    color: #b22222;
    font-weight: var(--font-weight-bold);
}

.col-kpi[b-jgertnxsf3] {
    text-align: center;
    width: 32px;
    padding-left: var(--space-2);
    padding-right: 0;
}

.kpi-dot[b-jgertnxsf3] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.cell-code[b-jgertnxsf3] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.8;
}

.stock-value[b-jgertnxsf3] {
    font-weight: 800;
    font-size: var(--font-size-base);
    color: var(--text-primary);
    letter-spacing: -0.3px;
}

/* Responsive */
@media (max-width: 768px) {
    .page-header[b-jgertnxsf3] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-jgertnxsf3] {
        padding: var(--space-4) var(--space-2);
    }
}
/* /Components/Pages/Warehouse/Reports/ArticleStockReport.razor.rz.scp.css */
/* ===========================
   ArticleStockReport - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-4mez8p140f] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Header */
.page-header[b-4mez8p140f] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-4mez8p140f] {
    flex: 1;
}

.page-header-right[b-4mez8p140f] {
    flex-shrink: 0;
}

.page-title[b-4mez8p140f] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-4mez8p140f] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-4mez8p140f] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Summary Stats */
.summary-stats[b-4mez8p140f] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-4mez8p140f] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-4mez8p140f] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-4mez8p140f] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    font-family: var(--font-mono);
}

/* Back Button */
.btn-back[b-4mez8p140f] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                color var(--transition-fast) var(--transition-ease);
}

.btn-back:hover[b-4mez8p140f] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

/* Alert Bars */
.alert-bar[b-4mez8p140f] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-4mez8p140f] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-4mez8p140f] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-4mez8p140f] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-4mez8p140f] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-4mez8p140f] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-4mez8p140f] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-4mez8p140f] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-4mez8p140f]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-4mez8p140f] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-4mez8p140f] {
    color: var(--color-primary);
}

.search-count[b-4mez8p140f] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Stock Quantity Filters */
.stock-filters[b-4mez8p140f] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) 0;
}

.stock-filters-label[b-4mez8p140f] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-right: var(--space-1);
}

.stock-filter-btn[b-4mez8p140f] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-full);
    background-color: var(--bg-primary);
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
    user-select: none;
}

.stock-filter-btn:hover[b-4mez8p140f] {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.stock-filter-btn.active[b-4mez8p140f] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary);
}

.stock-filter-btn.active .kpi-dot[b-4mez8p140f] {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4);
}

/* Loading / Empty States */
.loading-state[b-4mez8p140f] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-4mez8p140f] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-4mez8p140f] {
    opacity: 0.4;
}

.empty-state-text[b-4mez8p140f] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Outline Primary Button */
.btn-outline-primary[b-4mez8p140f] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-4mez8p140f] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Report Table */
.report-table-wrapper[b-4mez8p140f] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-4mez8p140f] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
}

.report-table thead[b-4mez8p140f] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-4mez8p140f] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    position: sticky;
    top: 0;
    z-index: 1;
}

.report-table thead th.sortable[b-4mez8p140f] {
    cursor: pointer;
    user-select: none;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table thead th.sortable:hover[b-4mez8p140f] {
    background-color: rgba(255, 255, 255, 0.1);
}

.report-table tbody tr[b-4mez8p140f] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr.clickable-row[b-4mez8p140f] {
    cursor: pointer;
}

.report-table tbody tr:last-child[b-4mez8p140f] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-4mez8p140f] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table tbody tr:nth-child(even)[b-4mez8p140f] {
    background-color: var(--bg-secondary);
}

.report-table tbody tr:nth-child(even):hover[b-4mez8p140f] {
    background-color: rgba(11, 36, 62, 0.05);
}

.report-table td[b-4mez8p140f] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

/* Column Types */
.col-code[b-4mez8p140f] {
    text-align: left;
}

.col-desc[b-4mez8p140f] {
    text-align: left;
    min-width: 200px;
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.col-um[b-4mez8p140f] {
    text-align: center;
}

.col-num[b-4mez8p140f] {
    text-align: right;
    font-family: var(--font-mono);
}

.col-date[b-4mez8p140f] {
    text-align: center;
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
}

.col-kpi[b-4mez8p140f] {
    text-align: center;
    width: 32px;
    padding-left: var(--space-2);
    padding-right: 0;
}

.kpi-dot[b-4mez8p140f] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.cell-code[b-4mez8p140f] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.8;
}

/* Responsive */
@media (max-width: 768px) {
    .page-header[b-4mez8p140f] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-4mez8p140f] {
        padding: var(--space-4) var(--space-2);
    }
}
/* /Components/Pages/Warehouse/Reports/CostingRunDetail.razor.rz.scp.css */
/* ===========================
   CostingRunDetail - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-qzqlv1mik3] {
    max-width: 1600px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-qzqlv1mik3] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-qzqlv1mik3] { flex: 1; }

.page-header-right[b-qzqlv1mik3] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    flex-shrink: 0;
}

.page-title[b-qzqlv1mik3] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-qzqlv1mik3] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-qzqlv1mik3] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Titoli di sezione: le tre sezioni sono in ordine di urgenza decrescente */
.section-title[b-qzqlv1mik3] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: var(--space-3);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: var(--space-6) 0 var(--space-3) 0;
    padding-bottom: var(--space-2);
    border-bottom: var(--border-width-thick) solid var(--color-primary);
}

.section-title-danger[b-qzqlv1mik3] {
    color: #b02a2a;
    border-bottom-color: #b02a2a;
}

.section-hint[b-qzqlv1mik3] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-normal);
    color: var(--text-muted);
    text-transform: none;
    letter-spacing: 0;
}

/* Summary stats */
.summary-stats[b-qzqlv1mik3] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-qzqlv1mik3] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-top: var(--border-width-thick) solid var(--border-color-light);
    min-width: 150px;
    flex: 1;
}

.stat-ok[b-qzqlv1mik3] { border-top-color: #1e7e34; }
.stat-bad[b-qzqlv1mik3] { border-top-color: #b02a2a; }
.stat-warn[b-qzqlv1mik3] { border-top-color: #a15c00; }

.stat-label[b-qzqlv1mik3] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-qzqlv1mik3] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

.stat-value-sm[b-qzqlv1mik3] { font-size: var(--font-size-base); }

.stat-note[b-qzqlv1mik3] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    min-height: 1em;
}

/* Note */
.method-note[b-qzqlv1mik3] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin: var(--space-4) 0;
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--color-primary);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    line-height: 1.5;
}

.method-note svg[b-qzqlv1mik3] {
    color: var(--color-primary);
    flex-shrink: 0;
    margin-top: 1px;
}

.note-attention[b-qzqlv1mik3] {
    background-color: #fff4e5;
    border-left-color: #a15c00;
    color: #5c3d00;
}

.note-attention svg[b-qzqlv1mik3] { color: #a15c00; }

/* Alert */
.alert-bar[b-qzqlv1mik3] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-qzqlv1mik3] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-qzqlv1mik3] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

/* ---------------------------------------------------------------
   Schede dei motivi.
   Sono la parte per cui il report esiste: non dicono solo QUANTE
   righe, ma COSA E' SUCCESSO e COSA FARE, con il link al report di
   configurazione dove il problema si risolve. Sono anche il filtro
   della tabella sottostante: leggere e agire sono lo stesso gesto.
   --------------------------------------------------------------- */
.reason-cards[b-qzqlv1mik3] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.reason-card[b-qzqlv1mik3] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-left: var(--border-width-thick) solid #a15c00;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.reason-card:hover[b-qzqlv1mik3] {
    background-color: rgba(11, 36, 62, 0.05);
}

.reason-card-active[b-qzqlv1mik3] {
    background-color: rgba(11, 36, 62, 0.08);
    box-shadow: inset 0 0 0 1px var(--color-primary);
}

.reason-card-head[b-qzqlv1mik3] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--space-2);
}

.reason-phase[b-qzqlv1mik3] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.reason-count[b-qzqlv1mik3] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

.reason-cause[b-qzqlv1mik3] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    line-height: 1.4;
}

/* L'azione e' la riga piu' importante della scheda: staccata e in evidenza */
.reason-action[b-qzqlv1mik3] {
    font-size: var(--font-size-xs);
    color: #5c3d00;
    background-color: #fff4e5;
    padding: var(--space-2);
    line-height: 1.4;
}

.reason-foot[b-qzqlv1mik3] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-2);
}

.reason-link[b-qzqlv1mik3] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-decoration: none;
    white-space: nowrap;
}

.reason-link:hover[b-qzqlv1mik3] { text-decoration: underline; }

/* Search bar */
.search-bar[b-qzqlv1mik3] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-qzqlv1mik3] {
    display: flex;
    align-items: center;
    flex: 1;
}

.search-icon[b-qzqlv1mik3] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-qzqlv1mik3] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-clear[b-qzqlv1mik3] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    font-size: var(--font-size-lg);
    line-height: 1;
    padding: 0 var(--space-1);
}

.search-count[b-qzqlv1mik3] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* States */
.loading-state[b-qzqlv1mik3],
.empty-state[b-qzqlv1mik3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

/* Stato vuoto DENTRO una sezione: e' un'informazione positiva, non l'assenza di dati,
   e non deve occupare mezzo schermo come lo stato vuoto di pagina. */
.empty-state-inline[b-qzqlv1mik3] {
    padding: var(--space-6) 0;
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.empty-state-inline svg[b-qzqlv1mik3] { color: #1e7e34; opacity: 1; }

.empty-state svg[b-qzqlv1mik3] { opacity: 0.4; }

.empty-state-text[b-qzqlv1mik3] {
    font-size: var(--font-size-base);
    margin: 0;
    text-align: center;
    max-width: 520px;
}

.btn-outline-primary[b-qzqlv1mik3] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-qzqlv1mik3] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Table */
.report-table-wrapper[b-qzqlv1mik3] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-qzqlv1mik3] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
}

.report-table thead[b-qzqlv1mik3] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-qzqlv1mik3] {
    padding: var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: sticky;
    top: 0;
    z-index: 1;
}

.report-table tbody tr[b-qzqlv1mik3] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.report-table tbody tr:nth-child(even)[b-qzqlv1mik3] {
    background-color: var(--bg-secondary);
}

.report-table tbody tr:hover[b-qzqlv1mik3] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table td[b-qzqlv1mik3] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
    vertical-align: top;
}

.col-code[b-qzqlv1mik3] { text-align: left; }
.col-date[b-qzqlv1mik3] { text-align: left; }
.col-num[b-qzqlv1mik3] { text-align: right; }

.col-desc[b-qzqlv1mik3] {
    text-align: left;
    min-width: 180px;
}

/* Messaggi d'errore e motivi vanno a capo: troncarli nasconderebbe proprio il contenuto */
.col-wrap[b-qzqlv1mik3] {
    white-space: normal;
    max-width: 420px;
    line-height: 1.4;
}

.cell-code[b-qzqlv1mik3] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.85;
}

.muted[b-qzqlv1mik3] {
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    white-space: normal;
}

.dev-neg[b-qzqlv1mik3] {
    color: #b02a2a;
    font-weight: var(--font-weight-semibold);
}

/* Barra di copertura */
.col-bar[b-qzqlv1mik3] {
    text-align: left;
    width: 150px;
    min-width: 150px;
}

.cov-bar[b-qzqlv1mik3] {
    display: inline-block;
    vertical-align: middle;
    width: 90px;
    height: 10px;
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    overflow: hidden;
}

.cov-bar-fill[b-qzqlv1mik3] { height: 100%; }

.cov-ok[b-qzqlv1mik3] { background-color: #1e7e34; }
.cov-warn[b-qzqlv1mik3] { background-color: #d99a2b; }
.cov-bad[b-qzqlv1mik3] { background-color: #b02a2a; }

.cov-value[b-qzqlv1mik3] {
    margin-left: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

@media (max-width: 768px) {
    .page-header[b-qzqlv1mik3] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-qzqlv1mik3] {
        padding: var(--space-4) var(--space-2);
    }

    .reason-cards[b-qzqlv1mik3] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Warehouse/Reports/CostingRunList.razor.rz.scp.css */
/* ===========================
   CostingRunList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-ci6xnzcrg8] {
    max-width: 1600px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}
/* Filter bar */
.filter-bar[b-ci6xnzcrg8] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-group[b-ci6xnzcrg8] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}

.filter-label[b-ci6xnzcrg8] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-input[b-ci6xnzcrg8] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-ci6xnzcrg8] {
    border-color: var(--color-primary);
}

/* Summary stats */
.summary-stats[b-ci6xnzcrg8] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-ci6xnzcrg8] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-top: var(--border-width-thick) solid var(--border-color-light);
    min-width: 150px;
    flex: 1;
}

.stat-ok[b-ci6xnzcrg8] { border-top-color: #1e7e34; }
.stat-bad[b-ci6xnzcrg8] { border-top-color: #b02a2a; }
.stat-warn[b-ci6xnzcrg8] { border-top-color: #a15c00; }

.stat-label[b-ci6xnzcrg8] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-ci6xnzcrg8] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Un'etichetta testuale non puo' avere il corpo di un numero: si spezzerebbe su due righe */
.stat-value-sm[b-ci6xnzcrg8] {
    font-size: var(--font-size-base);
}

/* La nota sotto il valore porta il CONFRONTO, che e' il vero contenuto della card */
.stat-note[b-ci6xnzcrg8] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    min-height: 1em;
}

/* Nota metodologica */
.method-note[b-ci6xnzcrg8] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin: var(--space-4) 0;
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--color-primary);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    line-height: 1.5;
}

.method-note svg[b-ci6xnzcrg8] {
    color: var(--color-primary);
    flex-shrink: 0;
    margin-top: 1px;
}

/* Avviso sull'ultima elaborazione: stesso blocco, tono d'allarme */
.note-attention[b-ci6xnzcrg8] {
    background-color: #fff4e5;
    border-left-color: #a15c00;
    color: #5c3d00;
}

.note-attention svg[b-ci6xnzcrg8] {
    color: #a15c00;
}

/* Alert */
.alert-bar[b-ci6xnzcrg8] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-ci6xnzcrg8] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-ci6xnzcrg8] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-ci6xnzcrg8] {
    opacity: 1;
}

/* Search bar */
.search-bar[b-ci6xnzcrg8] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-ci6xnzcrg8] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-ci6xnzcrg8] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-ci6xnzcrg8] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-ci6xnzcrg8]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-ci6xnzcrg8] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    font-size: var(--font-size-lg);
    line-height: 1;
    padding: 0 var(--space-1);
}

.search-clear:hover[b-ci6xnzcrg8] {
    color: var(--color-primary);
}

.search-count[b-ci6xnzcrg8] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* States */
.loading-state[b-ci6xnzcrg8],
.empty-state[b-ci6xnzcrg8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-ci6xnzcrg8] {
    opacity: 0.4;
}

.empty-state-text[b-ci6xnzcrg8] {
    font-size: var(--font-size-base);
    margin: 0;
    text-align: center;
    max-width: 480px;
}

.btn-outline-primary[b-ci6xnzcrg8] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-ci6xnzcrg8] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Table */
.report-table-wrapper[b-ci6xnzcrg8] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-ci6xnzcrg8] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
}

.report-table thead[b-ci6xnzcrg8] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-ci6xnzcrg8] {
    padding: var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: sticky;
    top: 0;
    z-index: 1;
}

.report-table thead th.sortable[b-ci6xnzcrg8] {
    cursor: pointer;
    user-select: none;
}

.report-table thead th.sortable:hover[b-ci6xnzcrg8] {
    background-color: rgba(255, 255, 255, 0.1);
}

.report-table tbody tr[b-ci6xnzcrg8] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.report-table tbody tr:nth-child(even)[b-ci6xnzcrg8] {
    background-color: var(--bg-secondary);
}

.report-table tbody tr:hover[b-ci6xnzcrg8] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table td[b-ci6xnzcrg8] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.report-table tbody tr.row-run[b-ci6xnzcrg8] {
    cursor: pointer;
}

.col-date[b-ci6xnzcrg8] { text-align: left; }
.col-status[b-ci6xnzcrg8] { text-align: left; }
.col-desc[b-ci6xnzcrg8] { text-align: left; min-width: 160px; }
.col-num[b-ci6xnzcrg8] { text-align: right; }

.muted[b-ci6xnzcrg8] {
    color: var(--text-muted);
    font-size: var(--font-size-xs);
}

.dev-neg[b-ci6xnzcrg8] {
    color: #b02a2a;
    font-weight: var(--font-weight-semibold);
}

/* ---------------------------------------------------------------
   Badge di stato.
   «Interrotta» e' ROSSO e «In esecuzione» GRIGIO: sono lo stesso
   ind_status in tabella (RUNNING) ma significano cose opposte, e il
   colore e' quello che rende immediata la differenza.
   --------------------------------------------------------------- */
.st-badge[b-ci6xnzcrg8] {
    display: inline-block;
    min-width: 110px;
    padding: 2px var(--space-2);
    border-radius: 3px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-align: center;
}

.st-ok[b-ci6xnzcrg8] {
    background-color: #e6f4ea;
    color: #1e7e34;
}

.st-partial[b-ci6xnzcrg8] {
    background-color: #fff4e5;
    color: #a15c00;
}

.st-interrupted[b-ci6xnzcrg8] {
    background-color: #fdeded;
    color: #b02a2a;
}

.st-running[b-ci6xnzcrg8] {
    background-color: var(--bg-secondary);
    color: var(--text-muted);
}

.st-none[b-ci6xnzcrg8] {
    background-color: var(--bg-secondary);
    color: var(--text-muted);
}

@media (max-width: 768px) {
    .page-container[b-ci6xnzcrg8] {
        padding: var(--space-4) var(--space-2);
    }
}
/* /Components/Pages/Warehouse/Reports/CostingUnvaluedRows.razor.rz.scp.css */
/* ===========================
   CostingUnvaluedRows - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-9o818cfkce] {
    max-width: 1600px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-9o818cfkce] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-9o818cfkce] { flex: 1; }

.page-header-right[b-9o818cfkce] {
    display: flex;
    align-items: flex-start;
    flex-shrink: 0;
}

.page-title[b-9o818cfkce] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-9o818cfkce] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-9o818cfkce] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Filter bar */
.filter-bar[b-9o818cfkce] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-group[b-9o818cfkce] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 170px;
}

.filter-label[b-9o818cfkce] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-input[b-9o818cfkce] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-9o818cfkce] { border-color: var(--color-primary); }

/* Summary stats */
.summary-stats[b-9o818cfkce] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-9o818cfkce] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-top: var(--border-width-thick) solid var(--border-color-light);
    min-width: 150px;
    flex: 1;
}

/* La card di priorita' e' l'unica in evidenza: e' il sottoinsieme su cui intervenire */
.stat-priority[b-9o818cfkce] {
    border-top-color: #b02a2a;
    border-left: var(--border-width-thick) solid #b02a2a;
}

.stat-priority .stat-value[b-9o818cfkce] { color: #b02a2a; }

.stat-label[b-9o818cfkce] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-9o818cfkce] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Nota metodologica */
.method-note[b-9o818cfkce] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--color-primary);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    line-height: 1.5;
}

.method-note svg[b-9o818cfkce] {
    color: var(--color-primary);
    flex-shrink: 0;
    margin-top: 1px;
}

/* Alert */
.alert-bar[b-9o818cfkce] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-9o818cfkce] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-9o818cfkce] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

/* Search */
.search-bar[b-9o818cfkce] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-9o818cfkce] {
    display: flex;
    align-items: center;
    flex: 1;
}

.search-icon[b-9o818cfkce] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-9o818cfkce] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-clear[b-9o818cfkce] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    font-size: var(--font-size-lg);
    line-height: 1;
    padding: 0 var(--space-1);
}

.search-count[b-9o818cfkce] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* States */
.loading-state[b-9o818cfkce],
.empty-state[b-9o818cfkce] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

/* Lo stato vuoto qui e' una BUONA notizia: verde, non grigio spento */
.empty-state svg[b-9o818cfkce] { color: #1e7e34; opacity: 0.8; }

.empty-state-text[b-9o818cfkce] {
    font-size: var(--font-size-base);
    margin: 0;
    text-align: center;
    max-width: 520px;
}

.btn-outline-primary[b-9o818cfkce] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-9o818cfkce] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Table */
.report-table-wrapper[b-9o818cfkce] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-9o818cfkce] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
}

.report-table thead[b-9o818cfkce] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-9o818cfkce] {
    padding: var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: sticky;
    top: 0;
    z-index: 1;
}

.report-table thead th.sortable[b-9o818cfkce] {
    cursor: pointer;
    user-select: none;
}

.report-table thead th.sortable:hover[b-9o818cfkce] {
    background-color: rgba(255, 255, 255, 0.1);
}

.report-table tbody tr[b-9o818cfkce] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.report-table tbody tr:nth-child(even)[b-9o818cfkce] {
    background-color: var(--bg-secondary);
}

.report-table tbody tr:hover[b-9o818cfkce] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table td[b-9o818cfkce] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
    vertical-align: top;
}

/* Riga ricorrente: fondo appena caldo. Il segnale forte sta sul numero, non sull'intera
   riga, altrimenti con molte ricorrenze la tabella diventerebbe tutta rossa e il colore
   smetterebbe di distinguere alcunche'. */
.report-table tbody tr.row-recurring td[b-9o818cfkce] {
    background-color: #fdf6f6;
}

.col-code[b-9o818cfkce] { text-align: left; }
.col-date[b-9o818cfkce] { text-align: left; }
.col-num[b-9o818cfkce] { text-align: right; }

.col-desc[b-9o818cfkce] {
    text-align: left;
    min-width: 180px;
}

.col-wrap[b-9o818cfkce] {
    white-space: normal;
    max-width: 460px;
    line-height: 1.4;
}

.cell-code[b-9o818cfkce] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.85;
}

.row-action[b-9o818cfkce] {
    margin-top: var(--space-1);
    font-size: var(--font-size-xs);
    color: #5c3d00;
    background-color: #fff4e5;
    padding: var(--space-1) var(--space-2);
}

.reason-link[b-9o818cfkce] {
    margin-left: var(--space-2);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-decoration: none;
    white-space: nowrap;
}

.reason-link:hover[b-9o818cfkce] { text-decoration: underline; }

/* Ricorrenza: due soglie, non un gradiente. Il gradiente inviterebbe a confrontare
   sfumature; due soglie dicono «guarda questi». */
.rec-mid[b-9o818cfkce] { color: #a15c00; }
.rec-high[b-9o818cfkce] { color: #b02a2a; }

@media (max-width: 768px) {
    .page-header[b-9o818cfkce] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-9o818cfkce] {
        padding: var(--space-4) var(--space-2);
    }
}
/* /Components/Pages/Warehouse/Reports/DemandForecast.razor.rz.scp.css */
/*
    Progetto Sibilla AI — previsione della domanda.

    CSS ISOLATO, e resta tale.
      Le regole qui valgono solo sul markup dichiarato in DemandForecast.razor. Nessuna finisce nel
      foglio globale: sono tutte specifiche di questa schermata, e components.css si vede su oltre
      trecento pagine (CLAUDE.md, «CSS di componente»).

    DAL GLOBALE ARRIVANO SOLO .badge e .btn.
      Il chrome di pagina (.page-container, .page-header, .page-title, .alert-bar…) NON sta in
      components.css: ogni pagina se lo dichiara nel proprio scoped, ed è la ragione delle oltre
      320 copie citate in CLAUDE.md. Darlo per globale è l'errore che questa pagina aveva fatto:
      .page-header restava senza `display:flex`, quindi .page-header-right — l'icona «?» della
      guida — non andava a destra ma cadeva sotto il titolo, come un blocco qualunque. Difetto
      silenzioso: nessun errore, solo un elemento nel posto sbagliato.

      Le regole qui sotto sono quindi COPIATE dai report vicini (ArticleStockReport.razor.css) e
      NON vanno consolidate in globale: CLAUDE.md dice di non peggiorare il conto, non di
      rifarlo dentro un'altra consegna.

    .badge-neutral è un MODIFICATORE nuovo dichiarato qui, non una ridefinizione di .badge.
*/

/* ── Chrome di pagina ─────────────────────────────────────────────────────── */
.page-container[b-9q7v0pb29n] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-9q7v0pb29n] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.page-header-left[b-9q7v0pb29n] {
    flex: 1;
}

/* Tiene l'icona della guida in alto a destra: senza flex-shrink si comprime,
   con la testata di .page-header mancante cadeva sotto il titolo. */
.page-header-right[b-9q7v0pb29n] {
    flex-shrink: 0;
}

.page-title[b-9q7v0pb29n] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

.page-title svg[b-9q7v0pb29n] {
    flex-shrink: 0;
    color: var(--color-primary);
}

.page-subtitle[b-9q7v0pb29n] {
    margin: var(--space-1) 0 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

/* ── Barra di avviso ──────────────────────────────────────────────────────── */
/* I report vicini la scrivono con var(--color-red-50), che in design-system.css NON esiste:
   la dichiarazione è invalida e il colore non arriva. Qui si usa color-mix sulle variabili
   che esistono davvero. */
.alert-bar[b-9q7v0pb29n] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
}

.alert-bar svg[b-9q7v0pb29n] {
    flex-shrink: 0;
}

.alert-bar-danger[b-9q7v0pb29n] {
    background-color: color-mix(in srgb, var(--color-danger) 10%, transparent);
    border: var(--border-width-thin) solid color-mix(in srgb, var(--color-danger) 35%, transparent);
    color: var(--color-danger);
}

.alert-bar-warning[b-9q7v0pb29n] {
    background-color: color-mix(in srgb, var(--color-warning) 14%, transparent);
    border: var(--border-width-thin) solid color-mix(in srgb, var(--color-warning) 45%, transparent);
    color: var(--text-primary);
}

.alert-bar-close[b-9q7v0pb29n] {
    margin-left: auto;
    padding: 0;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    line-height: 1;
    color: inherit;
    opacity: .6;
    cursor: pointer;
}

.alert-bar-close:hover[b-9q7v0pb29n] {
    opacity: 1;
}

/* ── La testata della corsa ───────────────────────────────────────────────── */
/* Sta sopra ai numeri perché una previsione senza origine è un numero senza provenienza. */
.run-banner[b-9q7v0pb29n] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    background-color: var(--bg-secondary);
    border-left: 3px solid var(--color-primary);
}

.run-banner-main[b-9q7v0pb29n] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: var(--space-2);
    font-size: var(--font-size-base);
}

.run-label[b-9q7v0pb29n] {
    color: var(--text-secondary);
}

.run-sep[b-9q7v0pb29n] {
    color: var(--text-muted);
}

.run-chip[b-9q7v0pb29n] {
    padding: 2px var(--space-2);
    background-color: var(--color-primary);
    color: var(--color-white);
    font-size: var(--font-size-xs);
    font-weight: 600;
}

.run-banner-meta[b-9q7v0pb29n] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

/* ── KPI ──────────────────────────────────────────────────────────────────── */
.kpi-grid[b-9q7v0pb29n] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.kpi-card[b-9q7v0pb29n] {
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-top: 3px solid var(--border-color-light);
}

.kpi-card-good[b-9q7v0pb29n] {
    border-top-color: var(--color-success);
}

/* Il conteggio degli articoli con errore oltre la soglia ha il bordo di avviso:
   è il numero che dice quanta parte dell'elenco NON va usata. */
.kpi-card-warn[b-9q7v0pb29n] {
    border-top-color: var(--color-warning);
}

.kpi-label[b-9q7v0pb29n] {
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--text-secondary);
}

.kpi-value[b-9q7v0pb29n] {
    font-size: var(--font-size-2xl);
    font-weight: 600;
    line-height: 1.2;
}

.kpi-hint[b-9q7v0pb29n] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* ── Filtri ───────────────────────────────────────────────────────────────── */
.filter-bar[b-9q7v0pb29n] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-3) 0;
    margin-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.search-bar[b-9q7v0pb29n] {
    flex: 1 1 260px;
}

.search-input-wrapper[b-9q7v0pb29n] {
    position: relative;
    display: flex;
    align-items: center;
}

.search-icon[b-9q7v0pb29n] {
    position: absolute;
    left: var(--space-2);
    display: flex;
    color: var(--text-muted);
    pointer-events: none;
}

.search-input[b-9q7v0pb29n] {
    width: 100%;
    padding: var(--space-2) var(--space-6) var(--space-2) var(--space-6);
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-medium);
    font-size: var(--font-size-sm);
}

.search-clear[b-9q7v0pb29n] {
    position: absolute;
    right: var(--space-2);
    display: flex;
    padding: 0;
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
}

.filter-chips[b-9q7v0pb29n] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.filter-chips-label[b-9q7v0pb29n] {
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--text-secondary);
}

.chip[b-9q7v0pb29n] {
    padding: var(--space-1) var(--space-3);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-size: var(--font-size-xs);
    color: var(--text-primary);
    cursor: pointer;
}

.chip:hover[b-9q7v0pb29n] {
    background-color: var(--bg-tertiary);
}

.chip-active[b-9q7v0pb29n] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-white);
}

/* ── Tabella ──────────────────────────────────────────────────────────────── */
.table-wrapper[b-9q7v0pb29n] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.data-table[b-9q7v0pb29n] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}

.data-table thead th[b-9q7v0pb29n] {
    position: sticky;
    top: 0;
    padding: var(--space-2) var(--space-3);
    background-color: var(--bg-secondary);
    border-bottom: var(--border-width-thin) solid var(--border-color-medium);
    font-size: var(--font-size-xs);
    font-weight: 600;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: .03em;
    white-space: nowrap;
}

.data-table tbody td[b-9q7v0pb29n] {
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    vertical-align: middle;
}

.data-table tbody tr:hover[b-9q7v0pb29n] {
    background-color: var(--bg-secondary);
}

.col-num[b-9q7v0pb29n] {
    text-align: right;
}

/* L'INTESTAZIONE STA SOPRA AI PROPRI NUMERI.
   Non basta che la <th> porti .col-num: `.data-table thead th` è una classe più un elemento,
   quindi più specifica della sola `.col-num`, e il suo text-align:left vinceva. Risultato,
   i valori a destra e i titoli a sinistra — cioè un titolo sopra la colonna del vicino.
   Serve la regola sulla coppia. */
.data-table thead th.col-num[b-9q7v0pb29n] {
    text-align: right;
}

.col-sortable[b-9q7v0pb29n] {
    cursor: pointer;
    user-select: none;
}

.col-sortable:hover[b-9q7v0pb29n] {
    color: var(--color-primary);
}

.cell-code[b-9q7v0pb29n] {
    font-family: var(--font-mono, monospace);
    white-space: nowrap;
}

.cell-desc[b-9q7v0pb29n] {
    max-width: 22rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cell-strong[b-9q7v0pb29n] {
    font-weight: 600;
}

.cell-muted[b-9q7v0pb29n] {
    color: var(--text-secondary);
}

.cell-model[b-9q7v0pb29n] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    white-space: nowrap;
}

/* LA RIGA INAFFIDABILE SI VEDE SENZA LEGGERE I NUMERI.
   Con WAPE >= 1 il modello sbaglia più della domanda stessa: presentarla come le altre
   sarebbe il difetto più costoso di questa schermata. */
.row-unreliable[b-9q7v0pb29n] {
    background-color: color-mix(in srgb, var(--color-warning) 8%, transparent);
}

.row-unreliable:hover[b-9q7v0pb29n] {
    background-color: color-mix(in srgb, var(--color-warning) 14%, transparent);
}

/* ── L'errore, in quattro fasce ───────────────────────────────────────────── */
/* La soglia di 1 non è arbitraria: è l'errore che darebbe prevedere sempre zero. */
.wape[b-9q7v0pb29n] {
    display: inline-block;
    min-width: 3.2rem;
    padding: 1px var(--space-2);
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.wape-good[b-9q7v0pb29n] {
    background-color: color-mix(in srgb, var(--color-success) 16%, transparent);
    color: var(--color-success);
}

.wape-fair[b-9q7v0pb29n] {
    color: var(--text-primary);
}

.wape-poor[b-9q7v0pb29n] {
    color: var(--color-warning);
}

.wape-bad[b-9q7v0pb29n] {
    background-color: var(--color-warning);
    color: var(--color-white);
    font-weight: 600;
}

/* ── Ritmo previsto contro ritmo storico ──────────────────────────────────── */
/* Colorato solo quando dice qualcosa: 1× non merita un colore, 4,3× sì. */
.ratio[b-9q7v0pb29n] {
    display: inline-block;
    min-width: 3.2rem;
    padding: 1px var(--space-2);
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.ratio-normal[b-9q7v0pb29n] {
    color: var(--text-secondary);
}

.ratio-high[b-9q7v0pb29n] {
    background-color: color-mix(in srgb, var(--color-primary) 12%, transparent);
    color: var(--color-primary);
    font-weight: 600;
}

.ratio-low[b-9q7v0pb29n] {
    color: var(--text-muted);
    font-style: italic;
}

/* ── Raggruppamento per categoria ─────────────────────────────────────────── */
/* Ogni categoria è un <tbody> a sé: è ciò che tiene insieme intestazione e righe
   quando il browser spezza la tabella, e dà un aggancio per il bordo di separazione. */
.group-block + .group-block .group-header th[b-9q7v0pb29n] {
    border-top: var(--border-width-medium) solid var(--border-color-medium);
}

.group-header th[b-9q7v0pb29n] {
    padding: var(--space-2) var(--space-3);
    background-color: var(--bg-tertiary);
    border-bottom: var(--border-width-thin) solid var(--border-color-medium);
    font-size: var(--font-size-sm);
    font-weight: 600;
    text-align: left;
    vertical-align: middle;
}

.group-label[b-9q7v0pb29n] {
    white-space: nowrap;
}

.group-count[b-9q7v0pb29n] {
    margin-left: var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: 400;
    color: var(--text-secondary);
}

/* Il conteggio delle righe inutilizzabili sta sull'intestazione perché il totale di
   categoria le comprende: chi legge solo la riga di testata deve sapere che quel
   numero è inaffidabile nella stessa misura. */
.group-warn[b-9q7v0pb29n] {
    margin-left: var(--space-2);
    padding: 1px var(--space-2);
    background-color: color-mix(in srgb, var(--color-warning) 25%, transparent);
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--text-primary);
}

/* Allineato a destra come i valori che somma, e nella stessa colonna.
   La regola è sulla coppia `.group-header th.col-num`: `.group-header th` è classe più
   elemento e batterebbe la sola `.col-num`, ributtando il totale a sinistra. È lo stesso
   inciampo delle intestazioni di colonna, due volte nello stesso file. */
.group-header th.col-num[b-9q7v0pb29n] {
    text-align: right;
}

.group-total[b-9q7v0pb29n] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* ── Selettore di categoria ───────────────────────────────────────────────── */
.filter-select[b-9q7v0pb29n] {
    max-width: 22rem;
    padding: var(--space-1) var(--space-2);
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-medium);
    font-size: var(--font-size-xs);
    color: var(--text-primary);
}

/* Modificatore nuovo, non una ridefinizione di .badge (che sta nel globale). */
.badge-neutral[b-9q7v0pb29n] {
    background-color: var(--bg-tertiary);
    color: var(--text-secondary);
}

/* ── Stati ────────────────────────────────────────────────────────────────── */
.loading-state[b-9q7v0pb29n],
.empty-state[b-9q7v0pb29n] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-8) var(--space-4);
    text-align: center;
    color: var(--text-secondary);
}

.empty-state h2[b-9q7v0pb29n] {
    margin: 0;
    font-size: var(--font-size-lg);
    color: var(--text-primary);
}

.empty-state p[b-9q7v0pb29n] {
    max-width: 40rem;
    margin: 0;
}

.empty-state-hint[b-9q7v0pb29n] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.spinner[b-9q7v0pb29n] {
    width: 1.25rem;
    height: 1.25rem;
    border: 2px solid var(--border-color-medium);
    border-top-color: var(--color-primary);
    border-radius: 50%;
    animation: spin-b-9q7v0pb29n .7s linear infinite;
}

@keyframes spin-b-9q7v0pb29n {
    to { transform: rotate(360deg); }
}

.table-footer[b-9q7v0pb29n] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) 0;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.link-button[b-9q7v0pb29n] {
    padding: 0;
    background: none;
    border: none;
    color: var(--color-action);
    font-size: inherit;
    text-decoration: underline;
    cursor: pointer;
}

/* La nota che impedisce di scambiare il fabbisogno settimanale per quello giornaliero. */
.table-note[b-9q7v0pb29n] {
    margin: var(--space-2) 0 0;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}
/* /Components/Pages/Warehouse/Reports/Diagram/FlowNodeWidget.razor.rz.scp.css */
.flow-node[b-70nsbk78qn] {
    box-sizing: border-box;
    width: 158px;
    min-height: 66px;
    border-radius: 10px;
    border: 1.5px solid var(--border-color-light, #cbd5e1);
    background: var(--bg-surface, #fff);
    padding: 6px 8px;
    text-align: center;
    font-family: -apple-system, system-ui, "Segoe UI", sans-serif;
    cursor: pointer;
    user-select: none;
}

.flow-node-title[b-70nsbk78qn] { font-size: 13px; font-weight: 700; color: var(--text-primary, #1e293b); }
.flow-node-sub[b-70nsbk78qn] { font-size: 10px; color: var(--text-muted, #94a3b8); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.flow-node-detail[b-70nsbk78qn] { font-family: var(--font-mono, monospace); font-size: 10px; font-weight: 600; color: var(--text-secondary, #475569); }
.flow-node-alg[b-70nsbk78qn] { font-family: var(--font-mono, monospace); font-size: 11px; font-weight: 700; }
.flow-node-alg.pos[b-70nsbk78qn] { color: #15803d; }
.flow-node-alg.neg[b-70nsbk78qn] { color: #b91c1c; }

.flow-node-badges[b-70nsbk78qn] { display: flex; flex-direction: column; gap: 1px; margin-top: 2px; }
.flow-node-badge[b-70nsbk78qn] { font-size: 9px; font-weight: 600; color: #7c3aed; }

/* tipi nodo */
.flow-dep[b-70nsbk78qn] { background: #eef3fc; border-color: #1d4ed8; }
.flow-forn[b-70nsbk78qn] { background: #eaf5ec; border-color: #2e7d32; border-style: dashed; }
.flow-forn-other[b-70nsbk78qn] { background: #fbe8ef; border-color: #9d174d; border-style: dashed; }
.flow-forn-other .flow-node-sub[b-70nsbk78qn] { font-family: var(--font-mono, monospace); font-weight: 600; color: var(--text-secondary, #475569); }
.flow-cli[b-70nsbk78qn] { background: #fbf0e4; border-color: #b45309; border-style: dashed; }
.flow-rett[b-70nsbk78qn] { background: #f1f5f9; border-color: #475569; border-style: dashed; }
/* /Components/Pages/Warehouse/Reports/LotBalance.razor.rz.scp.css */
/* ===========================
   LotBalance (Bilancio lotto) - Scoped Styles
   Stile report MTS SaaS (allineato a WebOrderStatistic01 / ArticleStockReport)
   =========================== */

.page-container[b-70rg0nya9x] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Cursore "in caricamento" su tutta la pagina mentre i dati si caricano */
.page-container.is-loading[b-70rg0nya9x],
.page-container.is-loading *[b-70rg0nya9x] {
    cursor: progress;
}

.page-header[b-70rg0nya9x] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-70rg0nya9x] {
    flex: 1;
}

.page-title[b-70rg0nya9x] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-70rg0nya9x] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-70rg0nya9x] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Filter bar */
.filter-bar[b-70rg0nya9x] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-group[b-70rg0nya9x] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}

.filter-group-check[b-70rg0nya9x] {
    min-width: auto;
}

.filter-label[b-70rg0nya9x] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-input[b-70rg0nya9x] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-70rg0nya9x] {
    border-color: var(--color-primary);
}

/* Toggle switch (slider) — controllo booleano della filter-bar */
.switch[b-70rg0nya9x] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) 0;
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
}

.switch input[b-70rg0nya9x] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.slider[b-70rg0nya9x] {
    position: relative;
    flex-shrink: 0;
    width: 38px;
    height: 20px;
    border-radius: 10px;
    background-color: var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.slider[b-70rg0nya9x]::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--bg-primary);
    transition: transform var(--transition-fast) var(--transition-ease);
}

.switch input:checked + .slider[b-70rg0nya9x] {
    background-color: var(--color-primary);
}

.switch input:checked + .slider[b-70rg0nya9x]::before {
    transform: translateX(18px);
}

.switch input:focus-visible + .slider[b-70rg0nya9x] {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.switch-text[b-70rg0nya9x] {
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
}

/* Summary Stats */
.summary-stats[b-70rg0nya9x] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-70rg0nya9x] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-70rg0nya9x] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-70rg0nya9x] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Alert Bars */
.alert-bar[b-70rg0nya9x] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-70rg0nya9x] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-70rg0nya9x] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-70rg0nya9x] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-70rg0nya9x] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-70rg0nya9x] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-70rg0nya9x] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-70rg0nya9x] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-70rg0nya9x]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-70rg0nya9x] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-70rg0nya9x] {
    color: var(--color-primary);
}

.search-count[b-70rg0nya9x] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-70rg0nya9x],
.empty-state[b-70rg0nya9x] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-70rg0nya9x] {
    opacity: 0.4;
}

.empty-state-text[b-70rg0nya9x] {
    font-size: var(--font-size-base);
    margin: 0;
}

.btn-outline-primary[b-70rg0nya9x] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-70rg0nya9x] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.btn-outline-secondary[b-70rg0nya9x] {
    background: transparent;
    color: var(--text-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}

.btn-outline-secondary:hover[b-70rg0nya9x] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    border-color: var(--color-primary);
}

/* Report Table */
.report-table-wrapper[b-70rg0nya9x] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table-stock[b-70rg0nya9x] {
    margin-top: var(--space-5);
}

.report-table[b-70rg0nya9x] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
    table-layout: fixed;
}

/* Le celle di dettaglio possono troncare con ellissi mantenendo l'allineamento a larghezza fissa */
.report-table td[b-70rg0nya9x] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.report-table thead[b-70rg0nya9x] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-70rg0nya9x] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    text-align: left;
}

.report-table thead th.col-num[b-70rg0nya9x] {
    text-align: right;
}

.report-table thead th.col-um[b-70rg0nya9x] {
    text-align: center;
}

/* Riga di intestazione sezione (titolo natura documento + totali sezione) */
.report-table thead tr.section-head-row th[b-70rg0nya9x],
.report-table thead tr:first-child th[b-70rg0nya9x] {
    font-size: var(--font-size-sm);
    text-transform: none;
    letter-spacing: 0;
    border-bottom: var(--border-width-thin) solid rgba(255, 255, 255, 0.15);
    font-weight: var(--font-weight-bold);
}

/* Seconda riga thead = intestazioni colonna (stile standard xs uppercase) */
.report-table thead tr.col-head-row th[b-70rg0nya9x] {
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-semibold);
    border-bottom: 2px solid var(--color-primary);
}

.report-table tbody tr[b-70rg0nya9x] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-70rg0nya9x] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-70rg0nya9x] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table tbody tr:nth-child(even)[b-70rg0nya9x] {
    background-color: var(--bg-secondary);
}

.report-table tbody tr:nth-child(even):hover[b-70rg0nya9x] {
    background-color: rgba(11, 36, 62, 0.05);
}

.report-table td[b-70rg0nya9x] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.col-code[b-70rg0nya9x] {
    text-align: left;
}

.col-desc[b-70rg0nya9x] {
    text-align: left;
    min-width: 200px;
    max-width: 320px;
    white-space: normal;
}

.col-um[b-70rg0nya9x] {
    text-align: center;
}

.col-num[b-70rg0nya9x] {
    text-align: right;
}

.cell-code[b-70rg0nya9x] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.85;
}

.cell-sub[b-70rg0nya9x] {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* Group rows (sezioni per natura documento) */
.report-table tbody tr.group-row[b-70rg0nya9x] {
    background-color: transparent !important;
}

.report-table tbody tr.group-row td[b-70rg0nya9x] {
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.report-table tbody tr.group-row-year td[b-70rg0nya9x] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    font-size: var(--font-size-sm);
    padding: var(--space-2) var(--space-3);
    border-top: 2px solid var(--color-primary);
}

.report-table tbody tr.group-row-year td strong[b-70rg0nya9x] {
    color: var(--text-on-primary);
}

.report-table tbody tr.group-row-month td[b-70rg0nya9x] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.group-row-month td strong[b-70rg0nya9x] {
    color: var(--color-primary);
}

.report-table tbody tr.group-row-month .cell-sub[b-70rg0nya9x] {
    display: inline;
    margin-left: var(--space-2);
}

.report-table tbody tr.group-row:hover[b-70rg0nya9x] {
    background-color: transparent !important;
}

.group-count[b-70rg0nya9x] {
    font-weight: var(--font-weight-normal);
    text-transform: none;
    letter-spacing: 0;
    opacity: 0.75;
}

/* Rientro leggero per le righe di dettaglio del sotto-gruppo (Cod. art.) */
.report-table tbody tr.doc-detail td:first-child[b-70rg0nya9x] {
    padding-left: var(--space-5);
}

/* Altre partite entrate nel lotto (sezione Scarico lotto): riga secondaria sotto l'id_lotto */
.report-table tbody tr.lot-batches-row td[b-70rg0nya9x] {
    padding: var(--space-1) var(--space-3) var(--space-2) var(--space-5);
    background-color: var(--bg-secondary);
    border-top: none;
}

.lot-batches-label[b-70rg0nya9x] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    margin-right: var(--space-2);
}

.lot-batch-chip[b-70rg0nya9x] {
    display: inline-block;
    margin: 2px var(--space-1) 2px 0;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    line-height: 1.5;
    color: var(--color-primary);
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-sm);
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

a.lot-batch-chip:hover[b-70rg0nya9x] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Card stato lotto (solo sezione Scarico lotto): verde = omogeneo, gialla = più partite */
.lot-status-card[b-70rg0nya9x] {
    display: inline-block;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    line-height: 1.5;
    border-radius: var(--radius-sm);
    border: var(--border-width-thin) solid transparent;
    text-transform: none;
    letter-spacing: 0;
    white-space: nowrap;
}

.lot-status-card.is-homogeneous[b-70rg0nya9x] {
    background-color: var(--color-success);
    border-color: var(--color-success);
    color: #ffffff;
}

.lot-status-card.is-mixed[b-70rg0nya9x] {
    background-color: var(--color-warning);
    border-color: var(--color-warning);
    color: #212529;
}

.report-table tbody tr.worktype-row td[b-70rg0nya9x] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-1) var(--space-3) var(--space-1) var(--space-4);
    border-top: none;
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.worktype-row td strong[b-70rg0nya9x] {
    color: var(--color-primary);
}

.worktype-badge[b-70rg0nya9x] {
    display: inline-block;
    padding: 0 var(--space-2);
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-on-primary);
    background-color: var(--color-gray-700);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Sotto-gruppo Scarti: tono più tenue rispetto ai prodotti finali */
.report-table tbody tr.worktype-row-waste td[b-70rg0nya9x] {
    background-color: var(--bg-primary);
}

.worktype-badge-waste[b-70rg0nya9x] {
    background-color: var(--color-gray-500, var(--color-gray-700));
}

/* Riga master padre (master-detail Padri→Figli) — evidenziata */
.report-table tbody tr.parent-head-row td[b-70rg0nya9x] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    border-top: 2px solid var(--color-primary-dark, var(--color-primary));
}

.report-table tbody tr.parent-head-row td strong[b-70rg0nya9x] {
    color: var(--text-on-primary);
}

/* Riga principale del padre: nome + lavorazione + resa allineati */
.parent-head-main[b-70rg0nya9x] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.parent-name[b-70rg0nya9x] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--text-on-primary);
    letter-spacing: 0.2px;
}

.parent-work[b-70rg0nya9x] {
    font-size: var(--font-size-xs);
    color: var(--text-on-primary);
    opacity: 0.9;
}

.parent-work-link[b-70rg0nya9x] {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.parent-work-link:hover[b-70rg0nya9x] {
    opacity: 1;
    text-decoration-thickness: 2px;
}

.parent-head-row .cell-sub[b-70rg0nya9x] {
    display: inline-block;
    margin-top: 2px;
    color: var(--text-on-primary);
    opacity: 0.8;
}

/* Badge delle partite (id_partita) che hanno contribuito allo scarico del padre */
.partita-badges[b-70rg0nya9x] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-1);
    margin-top: 3px;
}

.partita-badges-label[b-70rg0nya9x] {
    font-size: var(--font-size-2xs, 0.65rem);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--text-on-primary);
    opacity: 0.7;
}

.partita-badge[b-70rg0nya9x] {
    display: inline-block;
    padding: 1px var(--space-2);
    font-size: var(--font-size-2xs, 0.65rem);
    font-weight: var(--font-weight-semibold);
    font-variant-numeric: tabular-nums;
    line-height: 1.5;
    color: var(--text-on-primary);
    background-color: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.35);
    white-space: nowrap;
    cursor: help;
}

/* Resa: dato chiave, in forte evidenza sulla riga scura del padre */
.resa-pill[b-70rg0nya9x] {
    display: inline-flex;
    align-items: baseline;
    gap: var(--space-1);
    margin-left: auto;
    padding: 2px var(--space-3);
    background-color: var(--color-gray-500, #6c757d);
    color: #ffffff;
    border-radius: 999px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    white-space: nowrap;
}

/* Fasce resa: <60 scarso (rosso), 60–90 buona (ambra), >90 ottima (verde) */
.resa-pill.resa-poor[b-70rg0nya9x] {
    background-color: var(--color-danger, #dc3545);
    color: #ffffff;
}

.resa-pill.resa-good[b-70rg0nya9x] {
    background-color: var(--color-warning, #ffc107);
    color: #1f2430;
}

.resa-pill.resa-great[b-70rg0nya9x] {
    background-color: var(--color-success, #28a745);
    color: #ffffff;
}

/* >100 anomala: il padre ha prodotto piu' di quanto ha consumato, quindi il lotto non e' corretto.
   Fondo scuro e non verde: senza questa fascia un lotto sbagliato compariva come «ottima». */
.resa-pill.resa-anomaly[b-70rg0nya9x] {
    background-color: #8a5a00;
    color: #ffffff;
}

.resa-label[b-70rg0nya9x] {
    font-size: var(--font-size-2xs, 0.65rem);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    opacity: 0.85;
}

.resa-value[b-70rg0nya9x] {
    font-size: var(--font-size-md, 1rem);
    font-weight: var(--font-weight-bold);
    line-height: 1;
}

.resa-tag[b-70rg0nya9x] {
    font-size: var(--font-size-2xs, 0.65rem);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.9;
    padding-left: var(--space-1);
    border-left: 1px solid currentColor;
}

.parent-badge[b-70rg0nya9x] {
    display: inline-block;
    padding: 0 var(--space-2);
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    background-color: var(--text-on-primary);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Sotto-gruppo partita contribuente (sezione Scarichi lotto) */
.report-table tbody tr.partita-row td[b-70rg0nya9x] {
    background-color: var(--bg-primary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-1) var(--space-3) var(--space-1) var(--space-4);
    border-top: none;
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.partita-row td strong[b-70rg0nya9x] {
    color: var(--color-primary);
}

.partita-badge[b-70rg0nya9x] {
    display: inline-block;
    padding: 0 var(--space-2);
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-on-primary);
    background-color: var(--color-primary);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Righe articolo sotto il sotto-gruppo partita: rientro maggiore */
.report-table tbody tr.doc-detail-partita td:first-child[b-70rg0nya9x] {
    padding-left: var(--space-6);
}

@media (max-width: 768px) {
    .page-header[b-70rg0nya9x] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-70rg0nya9x] {
        padding: var(--space-4) var(--space-2);
    }
}

/* ═══ STAMPA ═══ */
@media print {
    /* Nascondi la UI interattiva */
    .filter-bar[b-70rg0nya9x],
    .search-bar[b-70rg0nya9x],
    .alert-bar[b-70rg0nya9x],
    .page-header-right[b-70rg0nya9x] {
        display: none !important;
    }

    .page-container[b-70rg0nya9x],
    .page-container.is-loading[b-70rg0nya9x],
    .page-container.is-loading *[b-70rg0nya9x] {
        cursor: auto !important;
    }

    .page-container[b-70rg0nya9x] {
        max-width: none;
        padding: 0;
    }

    .page-title[b-70rg0nya9x] {
        font-size: 16pt;
    }

    /* Tabelle: bordi netti, intestazioni ripetute, niente scroll */
    .report-table-wrapper[b-70rg0nya9x] {
        overflow: visible;
        border: 1px solid #333;
        page-break-inside: auto;
    }

    .section-block[b-70rg0nya9x] {
        margin-bottom: 10pt;
    }

    .report-table[b-70rg0nya9x] {
        font-size: 8pt;
    }

    .report-table thead[b-70rg0nya9x] {
        display: table-header-group; /* ripeti intestazione su ogni pagina */
    }

    .report-table thead th[b-70rg0nya9x],
    .report-table tbody tr.group-row-year td[b-70rg0nya9x],
    .report-table tbody tr.group-row-month td[b-70rg0nya9x] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .report-table tbody tr[b-70rg0nya9x],
    .report-table thead tr[b-70rg0nya9x] {
        page-break-inside: avoid;
    }

    /* Le card di riepilogo restano, ma senza sfondo pesante */
    .summary-stats[b-70rg0nya9x] {
        page-break-inside: avoid;
    }

    .stat-card[b-70rg0nya9x] {
        border: 1px solid #333;
    }
}
/* /Components/Pages/Warehouse/Reports/LotPricesDaily.razor.rz.scp.css */
/* ===========================
   LotPricesDaily — Prezzi lotti giornalieri

   Il chrome di pagina (page-container, page-header, filter-bar, summary-stats, alert-bar,
   search-bar, loading/empty, report-table) e' ricopiato dalle pagine di pricing: il CSS isolato
   di Blazor vale solo sul markup dichiarato in QUESTO file, quindi non si eredita da nessuna
   parte. E' il debito trasversale gia' dichiarato in CLAUDE.md («oltre 320 copie»): non si
   consolida di slancio in una consegna che ne aggiunge una, ma non si peggiora — le regole qui
   sono quelle della gemella, senza varianti.
   =========================== */

.page-container[b-p4t0dma09w] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-container.is-loading[b-p4t0dma09w],
.page-container.is-loading *[b-p4t0dma09w] {
    cursor: progress;
}

/* ---------- testata ---------- */
.page-header[b-p4t0dma09w] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-p4t0dma09w] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.page-heading[b-p4t0dma09w] {
    min-width: 0;
}

.page-header-right[b-p4t0dma09w] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.page-title[b-p4t0dma09w] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    margin: 0;
}

.page-subtitle[b-p4t0dma09w] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* ---------- barra filtri ---------- */
.filter-bar[b-p4t0dma09w] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-group[b-p4t0dma09w] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}

.filter-label[b-p4t0dma09w] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-input[b-p4t0dma09w] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-p4t0dma09w] {
    border-color: var(--color-primary);
}

/* ===== DateField condiviso dentro la barra filtri =====
   Il controllo rende per conto suo un .form-group con la sua .form-label: gli ::deep lo
   riportano alla tipografia della barra. Stessa ricetta della pagina per lotto. */
.filter-group-date[b-p4t0dma09w] {
    min-width: 240px;
}

.filter-group-date[b-p4t0dma09w]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
    /* Il .form-group globale porta 12px di margine inferiore: serve a distanziare i campi di una
       FORM, e in una barra filtri alza il campo rispetto ai controlli accanto. */
    margin-bottom: 0;
}

.filter-group-date[b-p4t0dma09w]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-date[b-p4t0dma09w]  .date-input {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.date-stepper[b-p4t0dma09w] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-1);
}

.date-stepper[b-p4t0dma09w]  .form-group {
    flex: 1;
}

/* Alte quanto il campo che affiancano: --control-height e' il token con cui gli altri controlli
   di testata si allineano fra loro. Un'altezza scritta a mano sarebbe giusta finche' il token
   non cambia. */
.date-step[b-p4t0dma09w] {
    flex-shrink: 0;
    height: var(--control-height);
    padding: 0 var(--space-3);
    line-height: 1;
    font-size: var(--font-size-lg);
}

/* «Carica/Aggiorna» con la data cambiata ma non ancora caricata: pieno invece di contornato.
   Non e' un avviso — non c'e' niente di sbagliato — e' il pulsante che dice di essere quello
   da premere. */
.btn-outline-primary.is-stale[b-p4t0dma09w] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.btn-outline-primary[b-p4t0dma09w] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-p4t0dma09w] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* ---------- schede di riepilogo ---------- */
.summary-stats[b-p4t0dma09w] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-p4t0dma09w] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.stat-label[b-p4t0dma09w] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-p4t0dma09w] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

.stat-card-warn[b-p4t0dma09w] {
    border-color: var(--color-warning-border, #e0b050);
    background: var(--color-warning-bg, #fff6e0);
}

/* Il conteggio sta DENTRO la card che spiega, non accanto. */
.stat-note[b-p4t0dma09w] {
    display: block;
    margin-top: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: #8a6100;
    text-transform: none;
    letter-spacing: 0;
    cursor: help;
}

/* ---------- messaggi ---------- */
.alert-bar[b-p4t0dma09w] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-p4t0dma09w] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-p4t0dma09w] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-p4t0dma09w] {
    opacity: 1;
}

/* ---------- ricerca ---------- */
.search-bar[b-p4t0dma09w] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-p4t0dma09w] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-p4t0dma09w] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-p4t0dma09w] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-p4t0dma09w]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-p4t0dma09w] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-p4t0dma09w] {
    color: var(--color-primary);
}

.search-count[b-p4t0dma09w] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ---------- stati vuoti ---------- */
.loading-state[b-p4t0dma09w],
.empty-state[b-p4t0dma09w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state-text[b-p4t0dma09w] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* ---------- tabella ---------- */
.report-table-wrapper[b-p4t0dma09w] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-p4t0dma09w] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
    table-layout: fixed;
}

.report-table td[b-p4t0dma09w] {
    overflow: hidden;
    text-overflow: ellipsis;
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.report-table thead[b-p4t0dma09w] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-p4t0dma09w] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    text-align: left;
}

.report-table thead th.col-num[b-p4t0dma09w] { text-align: right; }
.report-table thead th.col-um[b-p4t0dma09w]  { text-align: center; }

.report-table tbody tr[b-p4t0dma09w] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.report-table tbody tr:last-child[b-p4t0dma09w] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-p4t0dma09w] {
    background-color: rgba(11, 36, 62, 0.03);
}

.col-code[b-p4t0dma09w] { text-align: left; }
.col-um[b-p4t0dma09w]   { text-align: center; }
.col-num[b-p4t0dma09w]  { text-align: right; }

.col-desc[b-p4t0dma09w] {
    text-align: left;
    white-space: normal;
}

.cell-code[b-p4t0dma09w] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.85;
}

/* ---------- le due bande di raggruppamento ----------
   Il GRUPPO merceologico e' la banda scura, il SOTTOGRUPPO quella chiara: due livelli con lo
   stesso peso visivo si leggerebbero come uno solo, e il report esiste proprio per distinguerli. */
.report-table tbody tr.group-row td[b-p4t0dma09w] {
    font-weight: var(--font-weight-semibold);
}

.report-table tbody tr.group-row-year td[b-p4t0dma09w] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    font-size: var(--font-size-sm);
    border-top: 2px solid var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.report-table tbody tr.group-row-year td strong[b-p4t0dma09w] {
    color: var(--text-on-primary);
}

.report-table tbody tr.group-row-year:hover td[b-p4t0dma09w] {
    background-color: var(--color-primary);
}

.report-table tbody tr.group-row-month td[b-p4t0dma09w] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

.report-table tbody tr.group-row-month td strong[b-p4t0dma09w] {
    color: var(--color-primary);
}

/* Rientro della riga articolo: e' il terzo livello, e senza rientro le tre bande si leggono
   come un elenco piatto. */
.report-table tbody tr.doc-detail td:first-child[b-p4t0dma09w] {
    padding-left: var(--space-5);
}

/* ---------- marcature di riga ---------- */

/* Finale o scarto. Lo scarto NON e' un errore — ha un prezzo assegnato come gli altri — quindi
   si distingue senza allarmare: grigio, non rosso. */
.kind-badge[b-p4t0dma09w] {
    display: inline-block;
    padding: 0 var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    line-height: 1.6;
    border-radius: var(--radius-sm);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-secondary);
    color: var(--text-secondary);
    white-space: nowrap;
}

.kind-badge-waste[b-p4t0dma09w] {
    color: #8a5a00;
    border-color: #e0b050;
    background-color: #fff6e0;
}

/* «media»: il prezzo della riga viene da piu' prezzi di origine. Non e' un difetto, e' una
   proprieta' del numero — e senza dirlo la media passa per il prezzo dell'articolo, che nessuno
   ritrova aprendo il lotto. */
.badge-avg[b-p4t0dma09w] {
    display: inline-block;
    margin-left: var(--space-1);
    padding: 0 var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    line-height: 1.6;
    border-radius: var(--radius-sm);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-secondary);
    color: var(--text-muted);
    white-space: nowrap;
    cursor: help;
}

@media (max-width: 768px) {
    .page-header[b-p4t0dma09w] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-p4t0dma09w] {
        padding: var(--space-4) var(--space-2);
    }
}

/* ═══ STAMPA ═══ */
@media print {
    .filter-bar[b-p4t0dma09w],
    .search-bar[b-p4t0dma09w],
    .alert-bar[b-p4t0dma09w],
    .page-header-right[b-p4t0dma09w] {
        display: none !important;
    }

    .page-container[b-p4t0dma09w],
    .page-container.is-loading[b-p4t0dma09w],
    .page-container.is-loading *[b-p4t0dma09w] {
        cursor: auto !important;
    }

    .page-container[b-p4t0dma09w] {
        max-width: none;
        padding: 0;
    }

    .page-title[b-p4t0dma09w] {
        font-size: 16pt;
    }

    .report-table-wrapper[b-p4t0dma09w] {
        overflow: visible;
        border: 1px solid #333;
        page-break-inside: auto;
    }

    .report-table[b-p4t0dma09w] {
        font-size: 8pt;
    }

    .report-table thead[b-p4t0dma09w] {
        display: table-header-group; /* ripeti intestazione su ogni pagina */
    }

    .report-table thead th[b-p4t0dma09w],
    .report-table tbody tr.group-row-year td[b-p4t0dma09w],
    .report-table tbody tr.group-row-month td[b-p4t0dma09w] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .report-table tbody tr[b-p4t0dma09w],
    .report-table thead tr[b-p4t0dma09w] {
        page-break-inside: avoid;
    }

    .summary-stats[b-p4t0dma09w] {
        page-break-inside: avoid;
    }

    .stat-card[b-p4t0dma09w] {
        border: 1px solid #333;
    }
}
/* /Components/Pages/Warehouse/Reports/LotPricing.razor.rz.scp.css */
/* ===========================
   Pricing lotto — chrome di PAGINA
   Stile report MTS SaaS (allineato a WebOrderStatistic01 / ArticleStockReport)

   La tabella padri→figli non sta piu' qui: e' un componente condiviso con
   «Pricing lotti del giorno», e le sue regole vivono in
   Shared/LotPricingBlock.razor.css. Il CSS isolato di Blazor vale solo sul
   markup dichiarato nel proprio file, quindi le due cose devono restare
   separate — e le regole della tabella non vanno ricopiate qui.
   =========================== */

.page-container[b-y6h7rcndx3] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}/* Cursore "in caricamento" su tutta la pagina mentre i dati si caricano */
.page-container.is-loading[b-y6h7rcndx3],
.page-container.is-loading *[b-y6h7rcndx3] {
    cursor: progress;
}.page-header[b-y6h7rcndx3] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}.page-header-left[b-y6h7rcndx3] {
    flex: 1;
}.page-title[b-y6h7rcndx3] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}.page-title svg[b-y6h7rcndx3] {
    color: var(--color-primary);
    flex-shrink: 0;
}.page-subtitle[b-y6h7rcndx3] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}/* Filter bar */
.filter-bar[b-y6h7rcndx3] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}.filter-group[b-y6h7rcndx3] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}.filter-group-check[b-y6h7rcndx3] {
    min-width: auto;
}.filter-label[b-y6h7rcndx3] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}.filter-input[b-y6h7rcndx3] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}.filter-input:focus[b-y6h7rcndx3] {
    border-color: var(--color-primary);
}/* Toggle switch (slider) — controllo booleano della filter-bar */
.switch[b-y6h7rcndx3] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) 0;
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
}.switch input[b-y6h7rcndx3] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}.slider[b-y6h7rcndx3] {
    position: relative;
    flex-shrink: 0;
    width: 38px;
    height: 20px;
    border-radius: 10px;
    background-color: var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}.slider[b-y6h7rcndx3]::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--bg-primary);
    transition: transform var(--transition-fast) var(--transition-ease);
}.switch input:checked + .slider[b-y6h7rcndx3] {
    background-color: var(--color-primary);
}.switch input:checked + .slider[b-y6h7rcndx3]::before {
    transform: translateX(18px);
}.switch input:focus-visible + .slider[b-y6h7rcndx3] {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}.switch-text[b-y6h7rcndx3] {
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
}/* Summary Stats */
.summary-stats[b-y6h7rcndx3] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}.stat-card[b-y6h7rcndx3] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}.stat-label[b-y6h7rcndx3] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}.stat-value[b-y6h7rcndx3] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}/* Alert Bars */
.alert-bar[b-y6h7rcndx3] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}.alert-bar-danger[b-y6h7rcndx3] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}.alert-bar-close[b-y6h7rcndx3] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}.alert-bar-close:hover[b-y6h7rcndx3] {
    opacity: 1;
}/* Search Bar */
.search-bar[b-y6h7rcndx3] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}.search-input-wrapper[b-y6h7rcndx3] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}.search-icon[b-y6h7rcndx3] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}.search-input[b-y6h7rcndx3] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}.search-input[b-y6h7rcndx3]::placeholder {
    color: var(--text-muted);
}.search-clear[b-y6h7rcndx3] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}.search-clear:hover[b-y6h7rcndx3] {
    color: var(--color-primary);
}.search-count[b-y6h7rcndx3] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}/* Loading / Empty States */
.loading-state[b-y6h7rcndx3],
.empty-state[b-y6h7rcndx3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}.empty-state svg[b-y6h7rcndx3] {
    opacity: 0.4;
}.empty-state-text[b-y6h7rcndx3] {
    font-size: var(--font-size-base);
    margin: 0;
}.btn-outline-primary[b-y6h7rcndx3] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}.btn-outline-primary:hover[b-y6h7rcndx3] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}.btn-outline-secondary[b-y6h7rcndx3] {
    background: transparent;
    color: var(--text-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}.btn-outline-secondary:hover[b-y6h7rcndx3] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    border-color: var(--color-primary);
}

@media (max-width: 768px) {
    .page-header[b-y6h7rcndx3] {
        flex-direction: column;
        gap: var(--space-3);
    }    .page-container[b-y6h7rcndx3] {
        padding: var(--space-4) var(--space-2);
    }}

/* ═══ STAMPA ═══ */
@media print {
    /* Nascondi la UI interattiva */
    .filter-bar[b-y6h7rcndx3],
    .search-bar[b-y6h7rcndx3],
    .alert-bar[b-y6h7rcndx3],
    .page-header-right[b-y6h7rcndx3] {
        display: none !important;
    }    .page-container[b-y6h7rcndx3],
    .page-container.is-loading[b-y6h7rcndx3],
    .page-container.is-loading *[b-y6h7rcndx3] {
        cursor: auto !important;
    }    .page-container[b-y6h7rcndx3] {
        max-width: none;
        padding: 0;
    }    .page-title[b-y6h7rcndx3] {
        font-size: 16pt;
    }    /* La stampa della TABELLA — bordi netti, intestazione ripetuta, niente
       scroll — sta in Shared/LotPricingBlock.razor.css insieme alla tabella:
       il CSS isolato non attraversa il confine del componente, quindi tenerla
       qui vorrebbe dire scriverla e non vederla mai applicata. */
    /* Le card di riepilogo restano, ma senza sfondo pesante */
    .summary-stats[b-y6h7rcndx3] {
        page-break-inside: avoid;
    }    .stat-card[b-y6h7rcndx3] {
        border: 1px solid #333;
    }}

/* =============================================================================
   PRICING — evidenze proprie di questo report
   ========================================================================== */

/* Scarto di ripartizione oltre l'arrotondamento atteso. */
.stat-card-warn[b-y6h7rcndx3] {
    border-color: var(--color-warning-border, #e0b050);
    background: var(--color-warning-bg, #fff6e0);
}

/* Il conteggio delle righe senza costo di gestione sta DENTRO la card «Valore + gestione», non
   accanto: e' cio' che spiega perche' quel totale e' piu' basso del reale. */
.stat-note[b-y6h7rcndx3] {
    display: block;
    margin-top: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: #8a6100;
    text-transform: none;
    letter-spacing: 0;
    cursor: help;
}
/* =============================================================================
   ELABORAZIONE PRICING — comando, conferma, esito
   La chrome di conferma vive in copie scoped (CLAUDE.md §«CSS di componente»):
   qui si porta quella che serve a questa pagina, la stessa della lista lotti.
   ========================================================================== */

/* Il comando che SCRIVE, accanto a «Carica» che legge: pieno contro contornato,
   perché la differenza fra i due va vista prima di leggerne l'etichetta. */
.btn-action[b-y6h7rcndx3] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    border: var(--border-width-thin) solid var(--color-primary);
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}.btn-action:disabled[b-y6h7rcndx3] {
    opacity: 0.5;
    cursor: not-allowed;
}.overlay[b-y6h7rcndx3] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
}.confirm-dialog[b-y6h7rcndx3] {
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    padding: var(--space-6);
    max-width: 480px;
    width: calc(100% - var(--space-8));
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}.confirm-dialog h3[b-y6h7rcndx3] {
    margin: 0;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}.confirm-dialog p[b-y6h7rcndx3] {
    margin: 0;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
}.confirm-icon[b-y6h7rcndx3] {
    color: var(--color-primary);
}/* Nota, non avviso: l'elaborazione non è distruttiva e non tocca i costi.
   Un riquadro rosso qui direbbe una cosa falsa. */
.confirm-note[b-y6h7rcndx3] {
    padding: var(--space-2) var(--space-3);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--color-primary);
}.confirm-actions[b-y6h7rcndx3] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-3);
    margin-top: var(--space-2);
}/* Esito. Verde quando la corsa ha chiuso pulita, ambra quando ha lasciato righe
   senza prezzo: sono due esiti diversi e portano a due conclusioni diverse. */
.alert-bar-success[b-y6h7rcndx3] {
    background-color: #edf7ed;
    border-left-color: var(--color-success, #2e7d32);
    color: #1e4620;
}.alert-bar-warning[b-y6h7rcndx3] {
    background-color: var(--color-warning-bg, #fff6e0);
    border-left-color: var(--color-warning, #e0b050);
    color: var(--color-warning-text, #8a5a00);
}
/* /Components/Pages/Warehouse/Reports/LotPricingDaily.razor.rz.scp.css */
/* ===========================
   Pricing lotti del giorno — chrome di PAGINA, elenco e pannello del lotto

   Il chrome (page-container, filter-bar, stat-card, alert-bar, search-bar,
   overlay/confirm-dialog) e' la copia standard che ogni pagina di questo
   repository porta con se': CLAUDE.md dice di non consolidarlo di slancio —
   sono oltre 320 copie — ma di non peggiorare il conto. Qui non lo si peggiora
   e non lo si migliora: si fa come le altre.

   La tabella padri->figli NON sta qui: e' il componente condiviso
   Shared/LotPricingBlock.razor.css. Il CSS isolato di Blazor non attraversa il
   confine del componente, quindi ricopiarne le regole qui vorrebbe dire
   scriverle e non vederle mai applicate.
   =========================== */

.page-container[b-tlbh690dad] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}/* Cursore "in caricamento" su tutta la pagina mentre i dati si caricano */
.page-container.is-loading[b-tlbh690dad],
.page-container.is-loading *[b-tlbh690dad] {
    cursor: progress;
}.page-header[b-tlbh690dad] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}.page-header-left[b-tlbh690dad] {
    flex: 1;
}.page-title[b-tlbh690dad] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}.page-title svg[b-tlbh690dad] {
    color: var(--color-primary);
    flex-shrink: 0;
}.page-subtitle[b-tlbh690dad] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}/* Filter bar */
.filter-bar[b-tlbh690dad] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}.filter-group[b-tlbh690dad] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}.filter-group-check[b-tlbh690dad] {
    min-width: auto;
}.filter-label[b-tlbh690dad] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}.filter-input[b-tlbh690dad] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}.filter-input:focus[b-tlbh690dad] {
    border-color: var(--color-primary);
}/* Toggle switch (slider) — controllo booleano della filter-bar */
.switch[b-tlbh690dad] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) 0;
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
}.switch input[b-tlbh690dad] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}.slider[b-tlbh690dad] {
    position: relative;
    flex-shrink: 0;
    width: 38px;
    height: 20px;
    border-radius: 10px;
    background-color: var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}.slider[b-tlbh690dad]::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--bg-primary);
    transition: transform var(--transition-fast) var(--transition-ease);
}.switch input:checked + .slider[b-tlbh690dad] {
    background-color: var(--color-primary);
}.switch input:checked + .slider[b-tlbh690dad]::before {
    transform: translateX(18px);
}.switch input:focus-visible + .slider[b-tlbh690dad] {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}.switch-text[b-tlbh690dad] {
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
}/* Summary Stats
   GRIGLIA e non flex, diversamente dalle altre pagine: qui le schede sono NOVE, e
   con `flex: 1` quella che va a capo da sola si stira per tutta la riga — una
   scheda larga 1200 px accanto a otto larghe 140. Con auto-fit tutte hanno la
   stessa misura e il ritorno a capo non si nota. */
.summary-stats[b-tlbh690dad] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}.stat-card[b-tlbh690dad] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}.stat-label[b-tlbh690dad] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}.stat-value[b-tlbh690dad] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}/* Alert Bars */
.alert-bar[b-tlbh690dad] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}.alert-bar-danger[b-tlbh690dad] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}.alert-bar-close[b-tlbh690dad] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}.alert-bar-close:hover[b-tlbh690dad] {
    opacity: 1;
}/* Search Bar */
.search-bar[b-tlbh690dad] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}.search-input-wrapper[b-tlbh690dad] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}.search-icon[b-tlbh690dad] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}.search-input[b-tlbh690dad] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}.search-input[b-tlbh690dad]::placeholder {
    color: var(--text-muted);
}.search-clear[b-tlbh690dad] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}.search-clear:hover[b-tlbh690dad] {
    color: var(--color-primary);
}.search-count[b-tlbh690dad] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}/* Loading / Empty States */
.loading-state[b-tlbh690dad],
.empty-state[b-tlbh690dad] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}.empty-state svg[b-tlbh690dad] {
    opacity: 0.4;
}.empty-state-text[b-tlbh690dad] {
    font-size: var(--font-size-base);
    margin: 0;
}
/* Riga sotto lo stato vuoto: dice che cosa il report NON sta elencando. Più
   piccola del messaggio, perché è una precisazione e non la notizia. */
.empty-state-note[b-tlbh690dad] {
    margin: 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    max-width: 52ch;
    text-align: center;
}.btn-outline-primary[b-tlbh690dad] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}.btn-outline-primary:hover[b-tlbh690dad] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}.btn-outline-secondary[b-tlbh690dad] {
    background: transparent;
    color: var(--text-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}.btn-outline-secondary:hover[b-tlbh690dad] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    border-color: var(--color-primary);
}

@media (max-width: 768px) {
    .page-header[b-tlbh690dad] {
        flex-direction: column;
        gap: var(--space-3);
    }    .page-container[b-tlbh690dad] {
        padding: var(--space-4) var(--space-2);
    }}

/* ═══ STAMPA ═══ */
@media print {
    /* Nascondi la UI interattiva */
    .filter-bar[b-tlbh690dad],
    .search-bar[b-tlbh690dad],
    .alert-bar[b-tlbh690dad],
    .page-header-right[b-tlbh690dad] {
        display: none !important;
    }    .page-container[b-tlbh690dad],
    .page-container.is-loading[b-tlbh690dad],
    .page-container.is-loading *[b-tlbh690dad] {
        cursor: auto !important;
    }    .page-container[b-tlbh690dad] {
        max-width: none;
        padding: 0;
    }    .page-title[b-tlbh690dad] {
        font-size: 16pt;
    }    /* La stampa della TABELLA — bordi netti, intestazione ripetuta, niente
       scroll — sta in Shared/LotPricingBlock.razor.css insieme alla tabella:
       il CSS isolato non attraversa il confine del componente, quindi tenerla
       qui vorrebbe dire scriverla e non vederla mai applicata. */
    /* Le card di riepilogo restano, ma senza sfondo pesante */
    .summary-stats[b-tlbh690dad] {
        page-break-inside: avoid;
    }    .stat-card[b-tlbh690dad] {
        border: 1px solid #333;
    }}

/* =============================================================================
   PRICING — evidenze proprie di questo report
   ========================================================================== */

/* Scarto di ripartizione oltre l'arrotondamento atteso. */
.stat-card-warn[b-tlbh690dad] {
    border-color: var(--color-warning-border, #e0b050);
    background: var(--color-warning-bg, #fff6e0);
}
/* =============================================================================
   ELABORAZIONE PRICING — comando, conferma, esito
   La chrome di conferma vive in copie scoped (CLAUDE.md §«CSS di componente»):
   qui si porta quella che serve a questa pagina, la stessa della lista lotti.
   ========================================================================== */

/* Il comando che SCRIVE, accanto a «Carica» che legge: pieno contro contornato,
   perché la differenza fra i due va vista prima di leggerne l'etichetta. */
.btn-action[b-tlbh690dad] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    border: var(--border-width-thin) solid var(--color-primary);
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}.btn-action:disabled[b-tlbh690dad] {
    opacity: 0.5;
    cursor: not-allowed;
}.overlay[b-tlbh690dad] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
}.confirm-dialog[b-tlbh690dad] {
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    padding: var(--space-6);
    max-width: 480px;
    width: calc(100% - var(--space-8));
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}.confirm-dialog h3[b-tlbh690dad] {
    margin: 0;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}.confirm-dialog p[b-tlbh690dad] {
    margin: 0;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
}.confirm-icon[b-tlbh690dad] {
    color: var(--color-primary);
}/* Nota, non avviso: l'elaborazione non è distruttiva e non tocca i costi.
   Un riquadro rosso qui direbbe una cosa falsa. */
.confirm-note[b-tlbh690dad] {
    padding: var(--space-2) var(--space-3);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--color-primary);
}.confirm-actions[b-tlbh690dad] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-3);
    margin-top: var(--space-2);
}/* Esito. Verde quando la corsa ha chiuso pulita, ambra quando ha lasciato righe
   senza prezzo: sono due esiti diversi e portano a due conclusioni diverse. */
.alert-bar-success[b-tlbh690dad] {
    background-color: #edf7ed;
    border-left-color: var(--color-success, #2e7d32);
    color: #1e4620;
}.alert-bar-warning[b-tlbh690dad] {
    background-color: var(--color-warning-bg, #fff6e0);
    border-left-color: var(--color-warning, #e0b050);
    color: var(--color-warning-text, #8a5a00);
}

/* =============================================================================
   INTESTAZIONE E FILTRI PROPRI DELLA GIORNATA
   ========================================================================== */

/* Header con il pulsante «indietro»: pastiglia, separatore, titolo
   (CLAUDE.md, «Header di pagina»). */
.page-header-left[b-tlbh690dad] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.page-heading[b-tlbh690dad] {
    min-width: 0;
}

/* ===== DateField condiviso dentro la barra filtri =====
   Il controllo rende per conto suo un .form-group con la sua .form-label: gli
   ::deep lo riportano alla tipografia della barra, così non risulta un campo di
   form capitato in mezzo ai filtri. È la stessa ricetta di
   DocumentCostsByItem.razor.css — la barra filtri con le date esiste già in
   questo repository, e non ne serviva una seconda versione. */
.filter-group-date[b-tlbh690dad] {
    min-width: 240px;
}

.filter-group-date[b-tlbh690dad]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
    /* Il .form-group globale porta 12px di margine inferiore: serve a distanziare
       i campi di una FORM, e in una barra filtri alza il campo di 12px rispetto
       ai controlli accanto. Con `align-items: flex-end` sulla barra il difetto
       non si vede sui bordi del gruppo — che restano allineati — ma solo su
       quelli del campo, che è ciò che l'occhio segue. */
    margin-bottom: 0;
}

.filter-group-date[b-tlbh690dad]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-date[b-tlbh690dad]  .date-input {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Le frecce ai lati del selettore: la lettura tipica è «ieri, e poi il giorno
   prima», e con il solo selettore ogni passo indietro costa tre clic.
   `align-items: flex-end` le allinea al CAMPO e non all'etichetta, che il
   DateField rende sopra il campo. */
.date-stepper[b-tlbh690dad] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-1);
}

.date-stepper[b-tlbh690dad]  .form-group {
    flex: 1;
}

/* Alte quanto il campo che affiancano: --control-height è la stessa misura che il
   DateField dà al proprio input, ed è il token con cui MenuBackLink, HelpLink e
   RefreshButton si allineano fra loro. Un'altezza scritta a mano qui sarebbe
   giusta finché il token non cambia. */
.date-step[b-tlbh690dad] {
    flex-shrink: 0;
    height: var(--control-height);
    padding: 0 var(--space-3);
    line-height: 1;
    font-size: var(--font-size-lg);
}

/* «Carica/Aggiorna» con la data cambiata ma non ancora caricata: pieno invece di
   contornato. Non è un avviso — non c'è niente di sbagliato — è il pulsante che
   dice di essere quello da premere. */
.btn-outline-primary.is-stale[b-tlbh690dad] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.filter-spacer[b-tlbh690dad] {
    flex: 1;
}

/* «5 lotti · 2 mostrati»: il totale è della giornata, l'elenco è filtrato, e
   dirlo qui evita di far credere che i numeri accanto siano quelli del filtro. */
.stat-note[b-tlbh690dad] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-normal);
    color: var(--text-muted);
    margin-left: var(--space-1);
}

/* =============================================================================
   PASTIGLIE DI STATO

   Le stesse pastiglie compaiono su DUE FONDI: bianco nell'elenco di sinistra,
   navy sulla riga selezionata e sulla banda del pannello. La palette base e'
   quella per fondo chiaro; le varianti chiare sono dichiarate dove il fondo e'
   scuro. Una sola palette per entrambi e' esattamente il difetto gia' pagato una
   volta su questa famiglia di pagine — testo navy su fondo navy.
   ========================================================================== */
.chip[b-tlbh690dad] {
    display: inline-block;
    padding: 1px var(--space-2);
    font-size: var(--font-size-2xs, 0.65rem);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 1px solid;
    white-space: nowrap;
    flex-shrink: 0;
}

/* su fondo CHIARO */
.chip-ok[b-tlbh690dad]      { color: var(--color-success); border-color: var(--color-success); background-color: rgba(40, 167, 69, 0.10); }
.chip-todo[b-tlbh690dad]    { color: var(--color-action, #B22222); border-color: var(--color-action, #B22222); background-color: rgba(178, 34, 34, 0.08); }
.chip-partial[b-tlbh690dad],
.chip-coef[b-tlbh690dad]    { color: #8a5a00; border-color: #e0b000; background-color: rgba(255, 193, 7, 0.18); }
.chip-empty[b-tlbh690dad]   { color: var(--text-muted); border-color: var(--color-gray-300); background-color: var(--bg-secondary); }

/* su fondo NAVY: riga selezionata e banda del pannello */
.lot-item.is-selected .chip-ok[b-tlbh690dad],
.lot-band .chip-ok[b-tlbh690dad]      { color: #7ee2a0; border-color: #7ee2a0; background-color: rgba(126, 226, 160, 0.12); }
.lot-item.is-selected .chip-todo[b-tlbh690dad],
.lot-band .chip-todo[b-tlbh690dad]    { color: #ff9d9d; border-color: #ff9d9d; background-color: rgba(255, 157, 157, 0.12); }
.lot-item.is-selected .chip-partial[b-tlbh690dad],
.lot-item.is-selected .chip-coef[b-tlbh690dad],
.lot-band .chip-partial[b-tlbh690dad],
.lot-band .chip-coef[b-tlbh690dad]    { color: var(--color-warning); border-color: var(--color-warning); background-color: rgba(255, 193, 7, 0.14); }
.lot-item.is-selected .chip-empty[b-tlbh690dad],
.lot-band .chip-empty[b-tlbh690dad]   { color: var(--color-gray-400); border-color: var(--color-gray-400); background-color: rgba(173, 181, 189, 0.12); }

/* =============================================================================
   ELENCO A SINISTRA, LOTTO A DESTRA

   L'elenco e' la checklist della giornata; il pannello e' il lotto su cui si sta
   lavorando. I pannelli ci sono TUTTI e se ne mostra uno: e' cio' che permette
   alla stampa di uscire come sequenza continua (vedi in fondo).
   ========================================================================== */
.split[b-tlbh690dad] {
    display: flex;
    gap: var(--space-4);
    align-items: flex-start;
}

.split-list[b-tlbh690dad] {
    width: 320px;
    flex-shrink: 0;
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    /* Con quaranta lotti la colonna non deve allungare la pagina: scorre da se'
       e resta accanto al pannello invece che sopra di esso. */
    max-height: calc(100vh - 220px);
    overflow-y: auto;
}

.split-detail[b-tlbh690dad] {
    flex: 1;
    min-width: 0;   /* senza, una tabella larga sfonda il contenitore invece di scorrere */
}

/* ---------- voce dell'elenco ---------- */
.lot-item[b-tlbh690dad] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: var(--space-3) var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    cursor: pointer;
    user-select: none;
}

.lot-item:last-child[b-tlbh690dad] {
    border-bottom: none;
}

.lot-item:hover[b-tlbh690dad] {
    background-color: var(--bg-secondary);
}

.lot-item.is-selected[b-tlbh690dad] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.lot-item-top[b-tlbh690dad] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    justify-content: space-between;
}

.lot-item-id[b-tlbh690dad] {
    font-weight: var(--font-weight-bold);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lot-item-sub[b-tlbh690dad] {
    display: flex;
    gap: var(--space-3);
    font-size: var(--font-size-xs);
    font-variant-numeric: tabular-nums;
    color: var(--text-muted);
}

.lot-item.is-selected .lot-item-sub[b-tlbh690dad] {
    /* --text-muted e' il grigio del secondario SU FONDO CHIARO: sulla riga
       selezionata scenderebbe sotto 2,5:1. */
    color: var(--color-gray-400);
}

.lot-item-flags[b-tlbh690dad] {
    display: flex;
    gap: var(--space-1);
}

/* Fasce di resa: due palette, perche' la voce cambia fondo quando e' selezionata.
   resa-anomaly (>100%) non e' «meglio di ottima»: e' un lotto che ha prodotto piu' di quanto ha
   consumato, quindi non e' corretto. Tono di avviso, non di successo. */
.lot-item-sub .resa-poor[b-tlbh690dad]  { color: var(--color-danger); }
.lot-item-sub .resa-good[b-tlbh690dad]  { color: var(--color-gray-600); }
.lot-item-sub .resa-great[b-tlbh690dad] { color: var(--color-success); }
.lot-item-sub .resa-anomaly[b-tlbh690dad] { color: #8a5a00; font-weight: var(--font-weight-semibold); }

.lot-item.is-selected .lot-item-sub .resa-poor[b-tlbh690dad]  { color: #ff9d9d; }
.lot-item.is-selected .lot-item-sub .resa-good[b-tlbh690dad]  { color: var(--text-on-primary); }
.lot-item.is-selected .lot-item-sub .resa-great[b-tlbh690dad] { color: #7ee2a0; }
.lot-item.is-selected .lot-item-sub .resa-anomaly[b-tlbh690dad] { color: var(--color-warning); }

/* ---------- pannello del lotto ---------- */
.lot-panel[b-tlbh690dad] {
    display: none;
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    margin-bottom: var(--space-4);
}

.lot-panel.is-current[b-tlbh690dad] {
    display: block;
}

/* `flex-wrap: wrap` SEMPRE, non solo sotto una soglia. La banda porta numero,
   pastiglie, quattro metriche e il comando: con l'elenco che si prende 320 px,
   al pannello ne restano ~890 e il pulsante «Elabora» finiva FUORI dal riquadro
   — non tagliato da uno scroll, proprio disegnato oltre il bordo, perché i figli
   hanno flex-shrink: 0 e il contenitore non scorre. Con il ritorno a capo la
   banda diventa alta due righe invece di perdere un comando. */
.lot-band[b-tlbh690dad] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Il numero di lotto e' un collegamento al report per singolo lotto: la vista di
   giornata serve a TROVARE il lotto da guardare, quello per lotto e' dove lo si
   guarda. Si apre in una scheda nuova perche' la giornata resta il punto di
   riferimento. */
.lot-id[b-tlbh690dad] {
    font-weight: var(--font-weight-bold);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    color: var(--text-on-primary);
    text-decoration: none;
    border-bottom: 1px solid transparent;
}

.lot-id:hover[b-tlbh690dad] {
    color: var(--text-on-primary);
    border-bottom-color: var(--text-on-primary);
}

.lot-metrics[b-tlbh690dad] {
    margin-left: auto;
    display: flex;
    align-items: flex-start;
    gap: var(--space-4);
    text-align: right;
    flex-shrink: 0;
}

.lot-metric[b-tlbh690dad] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.lot-metric-label[b-tlbh690dad] {
    font-size: var(--font-size-xs);
    color: var(--color-gray-400);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.lot-metric-value[b-tlbh690dad] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* Il prezzo e' l'unico dato DERIVATO — valore diviso quantita' — e il filo
   verticale lo dice senza scriverlo. */
.lot-metric-derived[b-tlbh690dad] {
    padding-left: var(--space-4);
    border-left: var(--border-width-thin) solid rgba(255, 255, 255, 0.25);
}

.lot-metric-value.resa-poor[b-tlbh690dad]  { color: #ff9d9d; }
.lot-metric-value.resa-good[b-tlbh690dad]  { color: var(--text-on-primary); }
.lot-metric-value.resa-great[b-tlbh690dad] { color: #7ee2a0; }
.lot-metric-value.resa-anomaly[b-tlbh690dad] { color: var(--color-warning); }

/* Il conteggio dei lotti non corretti sta DENTRO la card «Quantità scarico/carico», non accanto:
   è ciò che spiega quel rapporto, e staccarlo lo farebbe leggere come un dato a sé. */
.stat-note[b-tlbh690dad] {
    display: block;
    margin-top: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: #8a6100;
    text-transform: none;
    letter-spacing: 0;
    cursor: help;
}

/* Il comando che SCRIVE sta sulla banda del pannello: contornato sul navy, pieno
   e rosso al passaggio — la differenza fra leggere e scrivere va vista prima di
   leggerne l'etichetta. */
.lot-run[b-tlbh690dad] {
    flex-shrink: 0;
    background-color: transparent;
    border-color: rgba(255, 255, 255, 0.45);
    color: var(--text-on-primary);
}

.lot-run:hover:not(:disabled)[b-tlbh690dad] {
    background-color: var(--color-action, #B22222);
    border-color: var(--color-action, #B22222);
}

.lot-body[b-tlbh690dad] {
    padding: var(--space-3);
}

.lot-empty[b-tlbh690dad] {
    margin: 0;
    padding: var(--space-3);
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

/* ---------- schermi stretti ----------
   La colonna va SOPRA il pannello: e' il limite dichiarato di questa
   impaginazione, e su schermo stretto non c'e' modo di tenerle affiancate senza
   comprimere la tabella fino a renderla illeggibile. */
@media (max-width: 1100px) {
    .split[b-tlbh690dad] {
        flex-direction: column;
    }

    .split-list[b-tlbh690dad] {
        width: 100%;
        max-height: 320px;
    }

    .lot-band[b-tlbh690dad] {
        flex-wrap: wrap;
    }

    .lot-metrics[b-tlbh690dad] {
        margin-left: 0;
        width: 100%;
        justify-content: flex-start;
        text-align: left;
        gap: var(--space-4);
    }
}

/* =============================================================================
   STAMPA — LA GIORNATA INTERA

   A video si vede un lotto per volta; su carta escono TUTTI, uno per riquadro,
   in sequenza continua. E' il limite noto di questa impaginazione, ed e' anche
   la ragione per cui i pannelli restano nel DOM: stampare il solo lotto
   selezionato darebbe un foglio che non e' la giornata.
   ========================================================================== */
@media print {
    .split[b-tlbh690dad] {
        display: block;
    }

    .split-list[b-tlbh690dad],
    .lot-run[b-tlbh690dad] {
        display: none !important;
    }

    .lot-panel[b-tlbh690dad] {
        display: block !important;
        break-inside: avoid;
        page-break-inside: avoid;
        border: 1px solid #333;
        margin-bottom: 8pt;
    }

    .lot-band[b-tlbh690dad] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}
/* /Components/Pages/Warehouse/Reports/LotTraceability.razor.rz.scp.css */
/* ═══ PAGE LAYOUT ═══ */
.page-container[b-cn909z6pn1] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-4) var(--space-6);
}

.page-header[b-cn909z6pn1] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-5);
}

.page-header-left[b-cn909z6pn1] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.page-title[b-cn909z6pn1] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--text-primary);
    margin: 0;
    line-height: 1.2;
}

.page-title svg[b-cn909z6pn1] { color: var(--color-primary); }

.page-subtitle[b-cn909z6pn1] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    margin: 0;
}

/* ═══ INPUT LOTTO ═══ */
.round-input-bar[b-cn909z6pn1] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-3);
    background: var(--bg-surface, #fff);
    border: var(--border-width-thin, 1px) solid var(--border-color-light, #e2e8f0);
    border-radius: var(--radius-lg, 12px);
    padding: var(--space-4) var(--space-5);
    margin-bottom: var(--space-5);
    flex-wrap: wrap;
}

.round-input-label[b-cn909z6pn1] {
    display: block;
    font-size: 0.675rem;
    font-weight: 600;
    color: var(--text-tertiary, #94a3b8);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: var(--space-1);
}

.round-input-wrapper[b-cn909z6pn1] {
    display: flex;
    align-items: center;
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-md);
    background: var(--bg-surface);
    padding: 0 var(--space-3);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.round-input-wrapper:focus-within[b-cn909z6pn1] {
    border-color: var(--color-primary);
}

.round-input-prefix[b-cn909z6pn1] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-bold);
    color: var(--text-muted);
}

.round-input[b-cn909z6pn1] {
    border: none;
    outline: none;
    background: transparent;
    padding: var(--space-2) var(--space-2);
    font-size: var(--font-size-md);
    font-family: var(--font-mono);
    width: 140px;
    color: var(--text-primary);
}

.btn-load[b-cn909z6pn1] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    border: none;
    border-radius: var(--radius-md);
    background: var(--color-primary);
    color: #fff;
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-sm);
    cursor: pointer;
    transition: opacity var(--transition-fast) var(--transition-ease);
    height: 38px;
}

.btn-load:hover:not(:disabled)[b-cn909z6pn1] { opacity: 0.9; }
.btn-load:disabled[b-cn909z6pn1] { opacity: 0.5; cursor: not-allowed; }

/* ═══ ALERT ═══ */
.alert-bar[b-cn909z6pn1] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-md);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
}

.alert-bar-danger[b-cn909z6pn1] {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}

.alert-bar-close[b-cn909z6pn1] {
    margin-left: auto;
    border: none;
    background: transparent;
    color: inherit;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
}

/* ═══ KPI STRIP ═══ */
.kpi-strip[b-cn909z6pn1] {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.kpi-card[b-cn909z6pn1] {
    background: var(--bg-surface);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-lg);
    padding: var(--space-4);
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.kpi-label[b-cn909z6pn1] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.kpi-value[b-cn909z6pn1] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--text-primary);
}

/* ═══ TABLE ═══ */
.table-container[b-cn909z6pn1] {
    background: var(--bg-surface);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-lg);
    overflow-x: auto;
}

.trace-table[b-cn909z6pn1] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
}

.trace-table thead[b-cn909z6pn1] {
    background-color: var(--bg-secondary);
}

.trace-table thead th[b-cn909z6pn1] {
    padding: var(--space-3) var(--space-4);
    font-weight: var(--font-weight-semibold);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--text-muted);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    text-align: left;
    position: sticky;
    top: 0;
}

.trace-table thead th.col-right[b-cn909z6pn1] { text-align: right; }
.trace-table thead th.col-center[b-cn909z6pn1] { text-align: center; }

.trace-table td[b-cn909z6pn1] {
    padding: var(--space-2) var(--space-4);
    color: var(--text-secondary);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.trace-table tbody tr:hover:not(.group-header-row):not(.group-subtotal-row)[b-cn909z6pn1] {
    background-color: rgba(11, 36, 62, 0.03);
}

.col-right[b-cn909z6pn1] { text-align: right; }
.col-center[b-cn909z6pn1] { text-align: center; }

.cell-code[b-cn909z6pn1] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
}

.cell-date[b-cn909z6pn1] { color: var(--text-muted); }

.cell-desc[b-cn909z6pn1] {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    white-space: normal;
    max-width: 280px;
}

.mono[b-cn909z6pn1] { font-family: var(--font-mono); }

/* ═══ BARCODE LINK ═══ */
.barcode-link[b-cn909z6pn1] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    font-family: var(--font-mono);
    color: var(--color-primary);
    text-decoration: none;
    border-bottom: 1px dashed var(--color-primary-300, #93c5fd);
    transition: color var(--transition-fast) var(--transition-ease),
                border-color var(--transition-fast) var(--transition-ease);
}

.barcode-link svg[b-cn909z6pn1] {
    color: var(--text-muted);
    flex-shrink: 0;
    transition: color var(--transition-fast) var(--transition-ease);
}

.barcode-link:hover[b-cn909z6pn1] {
    color: var(--color-primary-700, #1d4ed8);
    border-bottom-color: var(--color-primary-700, #1d4ed8);
}

.barcode-link:hover svg[b-cn909z6pn1] { color: var(--color-primary-700, #1d4ed8); }

/* ═══ PARTITA LINK ═══ */
.partita-link[b-cn909z6pn1] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    text-decoration: none;
    border-bottom: 1px dashed var(--color-primary-300, #93c5fd);
    transition: color var(--transition-fast) var(--transition-ease),
                border-color var(--transition-fast) var(--transition-ease);
}

.partita-link:hover[b-cn909z6pn1] {
    color: var(--color-primary-700, #1d4ed8);
    border-bottom-color: var(--color-primary-700, #1d4ed8);
}

/* ═══ GROUP HEADER ROW ═══ */
.group-header-row td[b-cn909z6pn1] {
    background: var(--color-primary-50, #eff6ff);
    padding: var(--space-2) var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--color-primary-200, #bfdbfe);
}

.group-level[b-cn909z6pn1] {
    display: inline-block;
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-sm);
    color: #fff;
    background: var(--color-primary, #0b243e);
    border-radius: var(--radius-sm, 4px);
    padding: 2px 10px;
    margin-right: var(--space-2);
}

.group-badge[b-cn909z6pn1] {
    display: inline-block;
    font-family: var(--font-mono);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-sm);
    color: var(--color-primary-700, #1d4ed8);
    background: var(--color-primary-100, #dbeafe);
    border-radius: var(--radius-sm, 4px);
    padding: 2px 10px;
    margin-right: var(--space-3);
}

.group-meta[b-cn909z6pn1] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* ═══ SUBTOTAL ROW ═══ */
.group-subtotal-row td[b-cn909z6pn1] {
    background: var(--bg-secondary, #f8fafc);
    font-weight: var(--font-weight-semibold);
    color: var(--text-primary);
    border-bottom: 2px solid var(--border-color-light);
}

.subtotal-label[b-cn909z6pn1] {
    text-align: right;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.3px;
    color: var(--text-muted);
}

/* ═══ GRAND TOTAL ═══ */
.grand-total-row td[b-cn909z6pn1] {
    background: var(--color-primary, #0b243e);
    color: #fff;
    font-weight: var(--font-weight-bold);
    padding: var(--space-3) var(--space-4);
}

.grand-total-row .subtotal-label[b-cn909z6pn1] { color: rgba(255, 255, 255, 0.75); }

/* ═══ STATES ═══ */
.loading-container[b-cn909z6pn1],
.empty-container[b-cn909z6pn1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    padding: var(--space-10);
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    text-align: center;
}

.loading-spinner[b-cn909z6pn1] {
    width: 24px;
    height: 24px;
    border: 2px solid var(--border-color-light);
    border-top-color: var(--color-primary);
    border-radius: 50%;
    animation: spin-b-cn909z6pn1 0.8s linear infinite;
}

@keyframes spin-b-cn909z6pn1 {
    to { transform: rotate(360deg); }
}

/* ═══ RESPONSIVE ═══ */
@media (max-width: 1024px) {
    .kpi-strip[b-cn909z6pn1] { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 640px) {
    .kpi-strip[b-cn909z6pn1] { grid-template-columns: repeat(2, 1fr); }
}
/* /Components/Pages/Warehouse/Reports/PriceMultiplierCoverage.razor.rz.scp.css */
/* ===========================
   LotBalance (Bilancio lotto) - Scoped Styles
   Stile report MTS SaaS (allineato a WebOrderStatistic01 / ArticleStockReport)
   =========================== */

.page-container[b-geqibsw1qz] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Cursore "in caricamento" su tutta la pagina mentre i dati si caricano */
.page-container.is-loading[b-geqibsw1qz],
.page-container.is-loading *[b-geqibsw1qz] {
    cursor: progress;
}

.page-header[b-geqibsw1qz] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-geqibsw1qz] {
    flex: 1;
}

.page-title[b-geqibsw1qz] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-geqibsw1qz] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-geqibsw1qz] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Filter bar */
.filter-bar[b-geqibsw1qz] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-group[b-geqibsw1qz] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}

.filter-group-check[b-geqibsw1qz] {
    min-width: auto;
}

.filter-label[b-geqibsw1qz] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-input[b-geqibsw1qz] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-geqibsw1qz] {
    border-color: var(--color-primary);
}

/* Toggle switch (slider) — controllo booleano della filter-bar */
.switch[b-geqibsw1qz] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) 0;
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
}

.switch input[b-geqibsw1qz] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.slider[b-geqibsw1qz] {
    position: relative;
    flex-shrink: 0;
    width: 38px;
    height: 20px;
    border-radius: 10px;
    background-color: var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.slider[b-geqibsw1qz]::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--bg-primary);
    transition: transform var(--transition-fast) var(--transition-ease);
}

.switch input:checked + .slider[b-geqibsw1qz] {
    background-color: var(--color-primary);
}

.switch input:checked + .slider[b-geqibsw1qz]::before {
    transform: translateX(18px);
}

.switch input:focus-visible + .slider[b-geqibsw1qz] {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.switch-text[b-geqibsw1qz] {
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
}

/* Summary Stats */
.summary-stats[b-geqibsw1qz] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-geqibsw1qz] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-geqibsw1qz] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-geqibsw1qz] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Alert Bars */
.alert-bar[b-geqibsw1qz] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-geqibsw1qz] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-geqibsw1qz] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-geqibsw1qz] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-geqibsw1qz] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-geqibsw1qz] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-geqibsw1qz] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-geqibsw1qz] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-geqibsw1qz]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-geqibsw1qz] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-geqibsw1qz] {
    color: var(--color-primary);
}

.search-count[b-geqibsw1qz] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-geqibsw1qz],
.empty-state[b-geqibsw1qz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-geqibsw1qz] {
    opacity: 0.4;
}

.empty-state-text[b-geqibsw1qz] {
    font-size: var(--font-size-base);
    margin: 0;
}

.btn-outline-primary[b-geqibsw1qz] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-geqibsw1qz] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.btn-outline-secondary[b-geqibsw1qz] {
    background: transparent;
    color: var(--text-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}

.btn-outline-secondary:hover[b-geqibsw1qz] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    border-color: var(--color-primary);
}

/* Report Table */
.report-table-wrapper[b-geqibsw1qz] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table-stock[b-geqibsw1qz] {
    margin-top: var(--space-5);
}

.report-table[b-geqibsw1qz] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
    table-layout: fixed;
}

/* Le celle di dettaglio possono troncare con ellissi mantenendo l'allineamento a larghezza fissa */
.report-table td[b-geqibsw1qz] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.report-table thead[b-geqibsw1qz] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-geqibsw1qz] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    text-align: left;
}

.report-table thead th.col-num[b-geqibsw1qz] {
    text-align: right;
}

.report-table thead th.col-um[b-geqibsw1qz] {
    text-align: center;
}

/* Riga di intestazione sezione (titolo natura documento + totali sezione) */
.report-table thead tr.section-head-row th[b-geqibsw1qz],
.report-table thead tr:first-child th[b-geqibsw1qz] {
    font-size: var(--font-size-sm);
    text-transform: none;
    letter-spacing: 0;
    border-bottom: var(--border-width-thin) solid rgba(255, 255, 255, 0.15);
    font-weight: var(--font-weight-bold);
}

/* Seconda riga thead = intestazioni colonna (stile standard xs uppercase) */
.report-table thead tr.col-head-row th[b-geqibsw1qz] {
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-semibold);
    border-bottom: 2px solid var(--color-primary);
}

.report-table tbody tr[b-geqibsw1qz] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-geqibsw1qz] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-geqibsw1qz] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table tbody tr:nth-child(even)[b-geqibsw1qz] {
    background-color: var(--bg-secondary);
}

.report-table tbody tr:nth-child(even):hover[b-geqibsw1qz] {
    background-color: rgba(11, 36, 62, 0.05);
}

.report-table td[b-geqibsw1qz] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.col-code[b-geqibsw1qz] {
    text-align: left;
}

.col-desc[b-geqibsw1qz] {
    text-align: left;
    min-width: 200px;
    max-width: 320px;
    white-space: normal;
}

.col-um[b-geqibsw1qz] {
    text-align: center;
}

.col-num[b-geqibsw1qz] {
    text-align: right;
}

.cell-code[b-geqibsw1qz] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.85;
}

.cell-sub[b-geqibsw1qz] {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* Group rows (sezioni per natura documento) */
.report-table tbody tr.group-row[b-geqibsw1qz] {
    background-color: transparent !important;
}

.report-table tbody tr.group-row td[b-geqibsw1qz] {
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.report-table tbody tr.group-row-year td[b-geqibsw1qz] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    font-size: var(--font-size-sm);
    padding: var(--space-2) var(--space-3);
    border-top: 2px solid var(--color-primary);
}

.report-table tbody tr.group-row-year td strong[b-geqibsw1qz] {
    color: var(--text-on-primary);
}

.report-table tbody tr.group-row-month td[b-geqibsw1qz] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.group-row-month td strong[b-geqibsw1qz] {
    color: var(--color-primary);
}

.report-table tbody tr.group-row-month .cell-sub[b-geqibsw1qz] {
    display: inline;
    margin-left: var(--space-2);
}

.report-table tbody tr.group-row:hover[b-geqibsw1qz] {
    background-color: transparent !important;
}

.group-count[b-geqibsw1qz] {
    font-weight: var(--font-weight-normal);
    text-transform: none;
    letter-spacing: 0;
    opacity: 0.75;
}

/* Rientro leggero per le righe di dettaglio del sotto-gruppo (Cod. art.) */
.report-table tbody tr.doc-detail td:first-child[b-geqibsw1qz] {
    padding-left: var(--space-5);
}

/* Altre partite entrate nel lotto (sezione Scarico lotto): riga secondaria sotto l'id_lotto */
.report-table tbody tr.lot-batches-row td[b-geqibsw1qz] {
    padding: var(--space-1) var(--space-3) var(--space-2) var(--space-5);
    background-color: var(--bg-secondary);
    border-top: none;
}

.lot-batches-label[b-geqibsw1qz] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    margin-right: var(--space-2);
}

.lot-batch-chip[b-geqibsw1qz] {
    display: inline-block;
    margin: 2px var(--space-1) 2px 0;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    line-height: 1.5;
    color: var(--color-primary);
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-sm);
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

a.lot-batch-chip:hover[b-geqibsw1qz] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Card stato lotto (solo sezione Scarico lotto): verde = omogeneo, gialla = più partite */
.lot-status-card[b-geqibsw1qz] {
    display: inline-block;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    line-height: 1.5;
    border-radius: var(--radius-sm);
    border: var(--border-width-thin) solid transparent;
    text-transform: none;
    letter-spacing: 0;
    white-space: nowrap;
}

.lot-status-card.is-homogeneous[b-geqibsw1qz] {
    background-color: var(--color-success);
    border-color: var(--color-success);
    color: #ffffff;
}

.lot-status-card.is-mixed[b-geqibsw1qz] {
    background-color: var(--color-warning);
    border-color: var(--color-warning);
    color: #212529;
}

.report-table tbody tr.worktype-row td[b-geqibsw1qz] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-1) var(--space-3) var(--space-1) var(--space-4);
    border-top: none;
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.worktype-row td strong[b-geqibsw1qz] {
    color: var(--color-primary);
}

.worktype-badge[b-geqibsw1qz] {
    display: inline-block;
    padding: 0 var(--space-2);
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-on-primary);
    background-color: var(--color-gray-700);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Sotto-gruppo Scarti: tono più tenue rispetto ai prodotti finali */
.report-table tbody tr.worktype-row-waste td[b-geqibsw1qz] {
    background-color: var(--bg-primary);
}

.worktype-badge-waste[b-geqibsw1qz] {
    background-color: var(--color-gray-500, var(--color-gray-700));
}

/* Riga master padre (master-detail Padri→Figli) — evidenziata */
.report-table tbody tr.parent-head-row td[b-geqibsw1qz] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    border-top: 2px solid var(--color-primary-dark, var(--color-primary));
}

.report-table tbody tr.parent-head-row td strong[b-geqibsw1qz] {
    color: var(--text-on-primary);
}

/* Riga principale del padre: nome + lavorazione + resa allineati */
.parent-head-main[b-geqibsw1qz] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.parent-name[b-geqibsw1qz] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--text-on-primary);
    letter-spacing: 0.2px;
}

.parent-work[b-geqibsw1qz] {
    font-size: var(--font-size-xs);
    color: var(--text-on-primary);
    opacity: 0.9;
}

.parent-work-link[b-geqibsw1qz] {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.parent-work-link:hover[b-geqibsw1qz] {
    opacity: 1;
    text-decoration-thickness: 2px;
}

.parent-head-row .cell-sub[b-geqibsw1qz] {
    display: inline-block;
    margin-top: 2px;
    color: var(--text-on-primary);
    opacity: 0.8;
}

/* Badge delle partite (id_partita) che hanno contribuito allo scarico del padre */
.partita-badges[b-geqibsw1qz] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-1);
    margin-top: 3px;
}

.partita-badges-label[b-geqibsw1qz] {
    font-size: var(--font-size-2xs, 0.65rem);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--text-on-primary);
    opacity: 0.7;
}

.partita-badge[b-geqibsw1qz] {
    display: inline-block;
    padding: 1px var(--space-2);
    font-size: var(--font-size-2xs, 0.65rem);
    font-weight: var(--font-weight-semibold);
    font-variant-numeric: tabular-nums;
    line-height: 1.5;
    color: var(--text-on-primary);
    background-color: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.35);
    white-space: nowrap;
    cursor: help;
}

/* Resa: dato chiave, in forte evidenza sulla riga scura del padre */
.resa-pill[b-geqibsw1qz] {
    display: inline-flex;
    align-items: baseline;
    gap: var(--space-1);
    margin-left: auto;
    padding: 2px var(--space-3);
    background-color: var(--color-gray-500, #6c757d);
    color: #ffffff;
    border-radius: 999px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    white-space: nowrap;
}

/* Fasce resa: <60 scarso (rosso), 60–90 buona (ambra), >90 ottima (verde) */
.resa-pill.resa-poor[b-geqibsw1qz] {
    background-color: var(--color-danger, #dc3545);
    color: #ffffff;
}

.resa-pill.resa-good[b-geqibsw1qz] {
    background-color: var(--color-warning, #ffc107);
    color: #1f2430;
}

.resa-pill.resa-great[b-geqibsw1qz] {
    background-color: var(--color-success, #28a745);
    color: #ffffff;
}

.resa-label[b-geqibsw1qz] {
    font-size: var(--font-size-2xs, 0.65rem);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    opacity: 0.85;
}

.resa-value[b-geqibsw1qz] {
    font-size: var(--font-size-md, 1rem);
    font-weight: var(--font-weight-bold);
    line-height: 1;
}

.resa-tag[b-geqibsw1qz] {
    font-size: var(--font-size-2xs, 0.65rem);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.9;
    padding-left: var(--space-1);
    border-left: 1px solid currentColor;
}

.parent-badge[b-geqibsw1qz] {
    display: inline-block;
    padding: 0 var(--space-2);
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    background-color: var(--text-on-primary);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Sotto-gruppo partita contribuente (sezione Scarichi lotto) */
.report-table tbody tr.partita-row td[b-geqibsw1qz] {
    background-color: var(--bg-primary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-1) var(--space-3) var(--space-1) var(--space-4);
    border-top: none;
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.partita-row td strong[b-geqibsw1qz] {
    color: var(--color-primary);
}

.partita-badge[b-geqibsw1qz] {
    display: inline-block;
    padding: 0 var(--space-2);
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-on-primary);
    background-color: var(--color-primary);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Righe articolo sotto il sotto-gruppo partita: rientro maggiore */
.report-table tbody tr.doc-detail-partita td:first-child[b-geqibsw1qz] {
    padding-left: var(--space-6);
}

@media (max-width: 768px) {
    .page-header[b-geqibsw1qz] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-geqibsw1qz] {
        padding: var(--space-4) var(--space-2);
    }
}

/* ═══ STAMPA ═══ */
@media print {
    /* Nascondi la UI interattiva */
    .filter-bar[b-geqibsw1qz],
    .search-bar[b-geqibsw1qz],
    .alert-bar[b-geqibsw1qz],
    .page-header-right[b-geqibsw1qz] {
        display: none !important;
    }

    .page-container[b-geqibsw1qz],
    .page-container.is-loading[b-geqibsw1qz],
    .page-container.is-loading *[b-geqibsw1qz] {
        cursor: auto !important;
    }

    .page-container[b-geqibsw1qz] {
        max-width: none;
        padding: 0;
    }

    .page-title[b-geqibsw1qz] {
        font-size: 16pt;
    }

    /* Tabelle: bordi netti, intestazioni ripetute, niente scroll */
    .report-table-wrapper[b-geqibsw1qz] {
        overflow: visible;
        border: 1px solid #333;
        page-break-inside: auto;
    }

    .section-block[b-geqibsw1qz] {
        margin-bottom: 10pt;
    }

    .report-table[b-geqibsw1qz] {
        font-size: 8pt;
    }

    .report-table thead[b-geqibsw1qz] {
        display: table-header-group; /* ripeti intestazione su ogni pagina */
    }

    .report-table thead th[b-geqibsw1qz],
    .report-table tbody tr.group-row-year td[b-geqibsw1qz],
    .report-table tbody tr.group-row-month td[b-geqibsw1qz] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .report-table tbody tr[b-geqibsw1qz],
    .report-table thead tr[b-geqibsw1qz] {
        page-break-inside: avoid;
    }

    /* Le card di riepilogo restano, ma senza sfondo pesante */
    .summary-stats[b-geqibsw1qz] {
        page-break-inside: avoid;
    }

    .stat-card[b-geqibsw1qz] {
        border: 1px solid #333;
    }
}


/* =============================================================================
   COPERTURA MOLTIPLICATORE PREZZO — regole proprie di questa pagina
   ========================================================================== */

/* Riga scoperta: coefficiente a zero, quindi il figlio non partecipa alla
   ripartizione e i fratelli assorbono anche la sua quota. Non e' un errore di
   per se' — puo' essere uno scarto voluto — ma e' la riga su cui va presa una
   decisione, quindi si vede. */
.row-missing td[b-geqibsw1qz] {
    background-color: var(--color-warning-bg, #fff6e0);
}

.multiplier-missing[b-geqibsw1qz] {
    color: var(--color-warning-text, #8a5a00);
    font-weight: var(--font-weight-semibold, 600);
}

.stat-card-warn[b-geqibsw1qz] {
    border-color: var(--color-warning, #e0b050);
    background-color: var(--color-warning-bg, #fff6e0);
}

/* Riga «indietro, separatore, titolo» (CLAUDE.md §«Header di pagina»): la pastiglia
   e il separatore li rende MenuBackLink, alla pagina resta l'impaginazione. */
.page-header-left[b-geqibsw1qz] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.page-heading[b-geqibsw1qz] {
    min-width: 0;
}

/* Avviso informativo: la variante danger e' gia' nel foglio ereditato dal report gemello. */
.alert-bar-info[b-geqibsw1qz] {
    background-color: var(--bg-secondary);
    border-left-color: var(--color-primary);
    color: var(--color-gray-700);
    align-items: flex-start;
}

.alert-bar-info svg[b-geqibsw1qz] {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--color-primary);
}
/* /Components/Pages/Warehouse/Reports/RoundBalanceGroupDetailReport.razor.rz.scp.css */
/* ═══ PAGE LAYOUT ═══ */
.page-container[b-g2q8hnkxse] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-4) var(--space-6);
}

/* ═══ BATCH HEADER ═══ */
.batch-header[b-g2q8hnkxse] {
    display: flex;
    align-items: center;
    gap: var(--space-6);
    background: var(--bg-surface, #fff);
    border: var(--border-width-thin, 1px) solid var(--border-color-light, #e2e8f0);
    border-radius: var(--radius-lg, 12px);
    padding: var(--space-4) var(--space-5);
    margin-bottom: var(--space-5);
    flex-wrap: wrap;
}

.batch-id-badge[b-g2q8hnkxse] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    background: var(--color-primary-50, #eff6ff);
    border: 1px solid var(--color-primary-200, #bfdbfe);
    border-radius: var(--radius-md, 8px);
    padding: var(--space-2) var(--space-3);
    flex-shrink: 0;
}

.batch-id-badge svg[b-g2q8hnkxse] {
    color: var(--color-primary-600, #2563eb);
}

.batch-id-label[b-g2q8hnkxse] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--color-primary-600, #2563eb);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.batch-id-value[b-g2q8hnkxse] {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--color-primary-700, #1d4ed8);
}

.batch-details[b-g2q8hnkxse] {
    display: flex;
    align-items: center;
    gap: var(--space-5);
    flex-wrap: wrap;
    flex: 1;
}

.batch-detail-item[b-g2q8hnkxse] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.batch-detail-label[b-g2q8hnkxse] {
    font-size: 0.675rem;
    font-weight: 500;
    color: var(--text-tertiary, #94a3b8);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.batch-detail-value[b-g2q8hnkxse] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-primary, #1e293b);
}

.batch-status[b-g2q8hnkxse] {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.status-open[b-g2q8hnkxse] {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}

.status-closed[b-g2q8hnkxse] {
    background: #f0fdf4;
    color: #15803d;
    border: 1px solid #bbf7d0;
}

.status-unknown[b-g2q8hnkxse] {
    background: #f8fafc;
    color: #64748b;
    border: 1px solid #e2e8f0;
}

.page-header[b-g2q8hnkxse] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.header-left[b-g2q8hnkxse] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.btn-back[b-g2q8hnkxse] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-md);
    background: var(--bg-surface);
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-back:hover[b-g2q8hnkxse] {
    background: var(--bg-secondary);
    color: var(--color-primary);
}

.page-title[b-g2q8hnkxse] {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--text-primary);
    margin: 0;
    line-height: 1.2;
}

.page-subtitle[b-g2q8hnkxse] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

/* ═══ TABLE ═══ */
.table-container[b-g2q8hnkxse] {
    background: var(--bg-surface);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-lg);
    overflow-x: auto;
}

.detail-table[b-g2q8hnkxse] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
}

.detail-table thead[b-g2q8hnkxse] {
    background-color: var(--bg-secondary);
}

.detail-table thead th[b-g2q8hnkxse] {
    padding: var(--space-3) var(--space-4);
    font-weight: var(--font-weight-semibold);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--text-muted);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    text-align: left;
}

.detail-table thead th.col-right[b-g2q8hnkxse] { text-align: right; }

.detail-table tbody tr[b-g2q8hnkxse] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.detail-table tbody tr:last-child[b-g2q8hnkxse] { border-bottom: none; }
.detail-table tbody tr:hover[b-g2q8hnkxse] { background-color: rgba(11, 36, 62, 0.03); }

.detail-table td[b-g2q8hnkxse] {
    padding: var(--space-3) var(--space-4);
    color: var(--text-secondary);
}

.col-right[b-g2q8hnkxse] { text-align: right; }
.col-separator[b-g2q8hnkxse] { border-left: var(--border-width-thin) solid var(--border-color-light); }

.cell-code[b-g2q8hnkxse] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
}

.cell-desc-col[b-g2q8hnkxse] {
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mono[b-g2q8hnkxse] { font-family: var(--font-mono); }

/* ═══ TOTALS ═══ */
.totals-row[b-g2q8hnkxse] {
    background: var(--color-surface-alt, #f0f4f8);
    font-weight: 600;
    border-top: 2px solid var(--color-border, #d0d5dd);
}

.totals-row td[b-g2q8hnkxse] {
    padding: var(--space-2) var(--space-3);
}

.totals-label[b-g2q8hnkxse] {
    text-align: right;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    color: var(--color-text-secondary, #64748b);
}

/* ═══ STATES ═══ */
.loading-container[b-g2q8hnkxse],
.error-container[b-g2q8hnkxse],
.empty-container[b-g2q8hnkxse] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    padding: var(--space-10);
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.error-container[b-g2q8hnkxse] { color: #b22222; }

.loading-spinner[b-g2q8hnkxse] {
    width: 24px;
    height: 24px;
    border: 2px solid var(--border-color-light);
    border-top-color: var(--color-primary);
    border-radius: 50%;
    animation: spin-b-g2q8hnkxse 0.8s linear infinite;
}

@keyframes spin-b-g2q8hnkxse {
    to { transform: rotate(360deg); }
}
/* /Components/Pages/Warehouse/Reports/RoundBalanceGroupReport.razor.rz.scp.css */
/* ═══ PAGE LAYOUT ═══ */
.page-container[b-3oxoeuqwlv] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-4) var(--space-6);
}

/* ═══ BATCH HEADER ═══ */
.batch-header[b-3oxoeuqwlv] {
    display: flex;
    align-items: center;
    gap: var(--space-6);
    background: var(--bg-surface, #fff);
    border: var(--border-width-thin, 1px) solid var(--border-color-light, #e2e8f0);
    border-radius: var(--radius-lg, 12px);
    padding: var(--space-4) var(--space-5);
    margin-bottom: var(--space-5);
    flex-wrap: wrap;
}

.batch-id-badge[b-3oxoeuqwlv] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    background: var(--color-primary-50, #eff6ff);
    border: 1px solid var(--color-primary-200, #bfdbfe);
    border-radius: var(--radius-md, 8px);
    padding: var(--space-2) var(--space-3);
    flex-shrink: 0;
}

.batch-id-badge svg[b-3oxoeuqwlv] {
    color: var(--color-primary-600, #2563eb);
}

.batch-id-label[b-3oxoeuqwlv] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--color-primary-600, #2563eb);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.batch-id-value[b-3oxoeuqwlv] {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--color-primary-700, #1d4ed8);
}

.batch-details[b-3oxoeuqwlv] {
    display: flex;
    align-items: center;
    gap: var(--space-5);
    flex-wrap: wrap;
    flex: 1;
}

.batch-detail-item[b-3oxoeuqwlv] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.batch-detail-label[b-3oxoeuqwlv] {
    font-size: 0.675rem;
    font-weight: 500;
    color: var(--text-tertiary, #94a3b8);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.batch-detail-value[b-3oxoeuqwlv] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-primary, #1e293b);
}

.batch-status[b-3oxoeuqwlv] {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.status-open[b-3oxoeuqwlv] {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}

.status-closed[b-3oxoeuqwlv] {
    background: #f0fdf4;
    color: #15803d;
    border: 1px solid #bbf7d0;
}

.status-unknown[b-3oxoeuqwlv] {
    background: #f8fafc;
    color: #64748b;
    border: 1px solid #e2e8f0;
}

.page-header[b-3oxoeuqwlv] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.header-left[b-3oxoeuqwlv] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.btn-back[b-3oxoeuqwlv] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-md);
    background: var(--bg-surface);
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-back:hover[b-3oxoeuqwlv] {
    background: var(--bg-secondary);
    color: var(--color-primary);
}

.page-title[b-3oxoeuqwlv] {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--text-primary);
    margin: 0;
    line-height: 1.2;
}

.page-subtitle[b-3oxoeuqwlv] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

/* ═══ KPI STRIP ═══ */
.kpi-strip[b-3oxoeuqwlv] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.kpi-card[b-3oxoeuqwlv] {
    background: var(--bg-surface);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-lg);
    padding: var(--space-4);
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.kpi-card-hero[b-3oxoeuqwlv] {
    border-width: 2px;
}

.kpi-card-hero.margin-positive[b-3oxoeuqwlv] { border-color: #2e7d32; }
.kpi-card-hero.margin-negative[b-3oxoeuqwlv] { border-color: #b22222; }
.kpi-card-hero.margin-zero[b-3oxoeuqwlv] { border-color: var(--border-color-light); }

.kpi-label[b-3oxoeuqwlv] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.kpi-value[b-3oxoeuqwlv] {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--text-primary);
}

.kpi-card-hero.margin-positive .kpi-value[b-3oxoeuqwlv] { color: #2e7d32; }
.kpi-card-hero.margin-negative .kpi-value[b-3oxoeuqwlv] { color: #b22222; }

/* ═══ TABLE ═══ */
.table-container[b-3oxoeuqwlv] {
    background: var(--bg-surface);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-lg);
    overflow-x: auto;
}

.group-table[b-3oxoeuqwlv] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
}

.group-table thead[b-3oxoeuqwlv] {
    background-color: var(--bg-secondary);
}

.group-table thead th[b-3oxoeuqwlv] {
    padding: var(--space-3) var(--space-4);
    font-weight: var(--font-weight-semibold);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--text-muted);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    text-align: left;
}

.group-table tbody tr[b-3oxoeuqwlv] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.group-table tbody tr:last-child[b-3oxoeuqwlv] { border-bottom: none; }
.group-table tbody tr:hover[b-3oxoeuqwlv] { background-color: rgba(11, 36, 62, 0.03); }

.group-table td[b-3oxoeuqwlv] {
    padding: var(--space-3) var(--space-4);
    color: var(--text-secondary);
}

.col-right[b-3oxoeuqwlv] { text-align: right; }
.col-separator[b-3oxoeuqwlv] { border-left: var(--border-width-thin) solid var(--border-color-light); }
.group-table thead th.col-right[b-3oxoeuqwlv] { text-align: right; }

.cell-code[b-3oxoeuqwlv] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
}

.cell-link[b-3oxoeuqwlv] {
    text-align: center;
}

.cell-link a[b-3oxoeuqwlv] {
    color: var(--text-muted);
    opacity: 0.5;
    transition: opacity var(--transition-fast) var(--transition-ease);
}

.cell-link a:hover[b-3oxoeuqwlv] {
    opacity: 1;
    color: var(--color-primary);
}

.cell-desc[b-3oxoeuqwlv] {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.mono[b-3oxoeuqwlv] { font-family: var(--font-mono); }

.not-homogeneous[b-3oxoeuqwlv] { color: #b22222; }

.margin-positive[b-3oxoeuqwlv] { color: #2e7d32; }
.margin-negative[b-3oxoeuqwlv] { color: #b22222; }
.margin-zero[b-3oxoeuqwlv] { color: var(--text-muted); }

/* ═══ STATES ═══ */
.loading-container[b-3oxoeuqwlv],
.error-container[b-3oxoeuqwlv],
.empty-container[b-3oxoeuqwlv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    padding: var(--space-10);
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.error-container[b-3oxoeuqwlv] { color: #b22222; }

.loading-spinner[b-3oxoeuqwlv] {
    width: 24px;
    height: 24px;
    border: 2px solid var(--border-color-light);
    border-top-color: var(--color-primary);
    border-radius: 50%;
    animation: spin-b-3oxoeuqwlv 0.8s linear infinite;
}

@keyframes spin-b-3oxoeuqwlv {
    to { transform: rotate(360deg); }
}

/* ═══ RESPONSIVE ═══ */
@media (max-width: 768px) {
    .kpi-strip[b-3oxoeuqwlv] {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* /Components/Pages/Warehouse/Reports/RoundBalanceReport.razor.rz.scp.css */
/* ===========================
   RoundBalanceReport - Financial Dashboard
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-sm3o1rdo53] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Header */
.page-header[b-sm3o1rdo53] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-sm3o1rdo53] { flex: 1; }
.page-header-right[b-sm3o1rdo53] { flex-shrink: 0; }

.page-title[b-sm3o1rdo53] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-sm3o1rdo53] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-sm3o1rdo53] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

.btn-back[b-sm3o1rdo53] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                color var(--transition-fast) var(--transition-ease);
}

.btn-back:hover[b-sm3o1rdo53] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* ═══ KPI STRIP ═══ */
.kpi-strip[b-sm3o1rdo53] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.kpi-card[b-sm3o1rdo53] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-4) var(--space-5);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-top: 3px solid var(--border-color-light);
}

.kpi-card-hero[b-sm3o1rdo53] {
    border-top-color: var(--color-primary);
    background-color: var(--bg-primary);
}

.kpi-card-hero.margin-positive[b-sm3o1rdo53] {
    border-top-color: #2e7d32;
}

.kpi-card-hero.margin-negative[b-sm3o1rdo53] {
    border-top-color: #b22222;
}

.kpi-icon[b-sm3o1rdo53] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    background: rgba(11, 36, 62, 0.06);
    color: var(--color-primary);
}

.kpi-icon-in[b-sm3o1rdo53] { color: #1565c0; background: rgba(21, 101, 192, 0.08); }
.kpi-icon-out[b-sm3o1rdo53] { color: #e65100; background: rgba(230, 81, 0, 0.08); }
.kpi-icon-margin[b-sm3o1rdo53] { color: var(--color-primary); }

.kpi-card-hero.margin-positive .kpi-icon-margin[b-sm3o1rdo53] {
    color: #2e7d32;
    background: rgba(46, 125, 50, 0.08);
}

.kpi-card-hero.margin-negative .kpi-icon-margin[b-sm3o1rdo53] {
    color: #b22222;
    background: rgba(178, 34, 34, 0.08);
}

.kpi-body[b-sm3o1rdo53] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.kpi-label[b-sm3o1rdo53] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.kpi-value[b-sm3o1rdo53] {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    line-height: 1.2;
}

.kpi-card-hero.margin-positive .kpi-value[b-sm3o1rdo53] { color: #2e7d32; }
.kpi-card-hero.margin-negative .kpi-value[b-sm3o1rdo53] { color: #b22222; }

.kpi-detail[b-sm3o1rdo53] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: 2px;
}

.kpi-detail-muted[b-sm3o1rdo53] {
    color: var(--text-muted);
    opacity: 0.7;
}

.kpi-tag[b-sm3o1rdo53] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 1px 8px;
    font-size: 11px;
    font-weight: var(--font-weight-medium);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.kpi-tag-open[b-sm3o1rdo53] { color: #b22222; border-color: rgba(178, 34, 34, 0.3); }
.kpi-tag-closed[b-sm3o1rdo53] { color: #2e7d32; border-color: rgba(46, 125, 50, 0.3); }

.kpi-pct[b-sm3o1rdo53] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-sm);
}

.kpi-ratio[b-sm3o1rdo53] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--text-muted);
}

/* ═══ ALERT ═══ */
.alert-bar[b-sm3o1rdo53] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-sm3o1rdo53] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-sm3o1rdo53] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-sm3o1rdo53] { opacity: 1; }

/* ═══ TOOLBAR ═══ */
.toolbar[b-sm3o1rdo53] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin-bottom: var(--space-5);
}

.search-bar[b-sm3o1rdo53] {
    display: flex;
    align-items: center;
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-sm3o1rdo53] {
    display: flex;
    align-items: center;
    flex: 1;
}

.search-icon[b-sm3o1rdo53] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-sm3o1rdo53] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-sm3o1rdo53]::placeholder { color: var(--text-muted); }

.search-clear[b-sm3o1rdo53] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-sm3o1rdo53] { color: var(--color-primary); }

.toolbar-actions[b-sm3o1rdo53] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    flex-wrap: wrap;
}

.filter-group[b-sm3o1rdo53],
.sort-group[b-sm3o1rdo53] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.filter-btn[b-sm3o1rdo53],
.sort-btn[b-sm3o1rdo53] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
    user-select: none;
}

.filter-btn:hover[b-sm3o1rdo53],
.sort-btn:hover[b-sm3o1rdo53] {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.filter-btn.active[b-sm3o1rdo53],
.sort-btn.active[b-sm3o1rdo53] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary);
}

.toolbar-count[b-sm3o1rdo53] {
    margin-left: auto;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Status dots */
.status-dot[b-sm3o1rdo53] {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.status-open[b-sm3o1rdo53] { background-color: #b22222; }
.status-closed[b-sm3o1rdo53] { background-color: #2e7d32; }

.filter-btn.active .status-dot[b-sm3o1rdo53] {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4);
}

/* ═══ LOADING / EMPTY ═══ */
.loading-state[b-sm3o1rdo53],
.empty-state[b-sm3o1rdo53] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-sm3o1rdo53] { opacity: 0.4; }
.empty-state-text[b-sm3o1rdo53] { font-size: var(--font-size-base); margin: 0; }

.btn-outline-primary[b-sm3o1rdo53] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-sm3o1rdo53] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* ═══ BATCH GRID ═══ */
.batch-grid[b-sm3o1rdo53] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
    gap: var(--space-4);
}

/* ═══ BATCH CARD ═══ */
.batch-card[b-sm3o1rdo53] {
    display: flex;
    flex-direction: column;
    background: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-left: 4px solid var(--border-color-light);
    cursor: pointer;
    transition: box-shadow var(--transition-fast) var(--transition-ease),
                border-color var(--transition-fast) var(--transition-ease);
}

.batch-card:hover[b-sm3o1rdo53] {
    box-shadow: var(--shadow-sm);
}

.batch-card.batch-open[b-sm3o1rdo53] {
    border-left-color: #b22222;
}

.batch-card.batch-closed[b-sm3o1rdo53] {
    border-left-color: #2e7d32;
}

/* Card top */
.card-top[b-sm3o1rdo53] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-3) var(--space-4) 0;
}

.card-id[b-sm3o1rdo53] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    min-width: 0;
}

.batch-number[b-sm3o1rdo53] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    font-family: var(--font-mono);
    flex-shrink: 0;
}

.card-separator[b-sm3o1rdo53] {
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    flex-shrink: 0;
}

.card-desc[b-sm3o1rdo53] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.card-date[b-sm3o1rdo53] {
    font-size: 11px;
    color: var(--text-muted);
    font-family: var(--font-mono);
    flex-shrink: 0;
}

.card-company[b-sm3o1rdo53] {
    padding: var(--space-1) var(--space-4) 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── MARGIN HERO ── */
.margin-hero[b-sm3o1rdo53] {
    display: flex;
    align-items: baseline;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
}

.margin-amount[b-sm3o1rdo53] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    line-height: 1;
}

.margin-pct[b-sm3o1rdo53] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    opacity: 0.7;
}

.margin-hero.margin-positive .margin-amount[b-sm3o1rdo53],
.margin-hero.margin-positive .margin-pct[b-sm3o1rdo53] { color: #2e7d32; }

.margin-hero.margin-negative .margin-amount[b-sm3o1rdo53],
.margin-hero.margin-negative .margin-pct[b-sm3o1rdo53] { color: #b22222; }

.margin-hero.margin-zero .margin-amount[b-sm3o1rdo53],
.margin-hero.margin-zero .margin-pct[b-sm3o1rdo53] { color: var(--text-muted); }

/* ── COMPARISON BAR ── */
.comparison-bar[b-sm3o1rdo53] {
    display: flex;
    height: 6px;
    margin: 0 var(--space-4);
    overflow: hidden;
    gap: 2px;
}

.comparison-fill-in[b-sm3o1rdo53] {
    background-color: #1565c0;
    opacity: 0.5;
    transition: width var(--transition-normal) var(--transition-ease);
}

.comparison-fill-out[b-sm3o1rdo53] {
    background-color: #e65100;
    opacity: 0.5;
    transition: width var(--transition-normal) var(--transition-ease);
}

/* ── BREAKDOWN ── */
.card-breakdown[b-sm3o1rdo53] {
    display: flex;
    padding: var(--space-3) var(--space-4);
    gap: var(--space-3);
}

.breakdown-col[b-sm3o1rdo53] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.breakdown-divider[b-sm3o1rdo53] {
    width: 1px;
    background: var(--border-color-light);
    align-self: stretch;
}

.breakdown-label[b-sm3o1rdo53] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.breakdown-label svg[b-sm3o1rdo53] { opacity: 0.6; }

.breakdown-value[b-sm3o1rdo53] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--text-primary);
}

.breakdown-qty[b-sm3o1rdo53] {
    font-size: 11px;
    color: var(--text-muted);
}

/* Not homogeneous: highlight venduto in red */
.breakdown-col.not-homogeneous .breakdown-value[b-sm3o1rdo53] {
    color: #b22222;
}

.breakdown-col.not-homogeneous .breakdown-label[b-sm3o1rdo53] {
    color: #b22222;
}

.breakdown-col.not-homogeneous .breakdown-label svg[b-sm3o1rdo53] {
    stroke: #b22222;
    opacity: 1;
}

.mono[b-sm3o1rdo53] { font-family: var(--font-mono); }

/* ═══ CARD ACTIONS ═══ */
.card-actions[b-sm3o1rdo53] {
    padding: var(--space-2) var(--space-4) var(--space-3);
    text-align: right;
}

.card-link[b-sm3o1rdo53] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    text-decoration: none;
    opacity: 0.7;
    transition: opacity var(--transition-fast) var(--transition-ease);
}

.card-link:hover[b-sm3o1rdo53] {
    opacity: 1;
    text-decoration: underline;
}

/* ═══ MARGIN UTILITY CLASSES ═══ */
.margin-positive[b-sm3o1rdo53] { }
.margin-negative[b-sm3o1rdo53] { }
.margin-zero[b-sm3o1rdo53] { }

/* ═══ RESPONSIVE ═══ */
@media (max-width: 1200px) {
    .kpi-strip[b-sm3o1rdo53] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .page-header[b-sm3o1rdo53] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-sm3o1rdo53] {
        padding: var(--space-4) var(--space-2);
    }

    .kpi-strip[b-sm3o1rdo53] {
        grid-template-columns: 1fr;
    }

    .batch-grid[b-sm3o1rdo53] {
        grid-template-columns: 1fr;
    }

    .toolbar-actions[b-sm3o1rdo53] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* /Components/Pages/Warehouse/Reports/RoundCostBalance.razor.rz.scp.css */
/* QUESTO FILE NON CONTIENE PIU' STILI.

   Il markup del report non e' piu' dichiarato qui: sta in
   Components/Pages/Warehouse/Reports/Shared/RoundBalanceView.razor, condiviso con «Bilancio
   partita acquistato - venduto» e «Bilancio partita al prezzo».

   Uno scoped raggiunge SOLO il markup del proprio componente (CLAUDE.md, «lo scoped non si
   condivide»), quindi qualunque regola scritta qui non arriverebbe a nulla — silenziosamente.
   Le regole vivono in Shared/RoundBalanceView.razor.css.

   Il file resta al suo posto, vuoto, invece di essere cancellato: e' il posto dove qualcuno
   andrebbe a cercare, e trovarlo con questa nota costa meno che non trovarlo affatto. */
/* /Components/Pages/Warehouse/Reports/RoundDocumentTraceability.razor.rz.scp.css */
/* QUESTO FILE NON CONTIENE PIU' STILI.

   Il markup del report non e' piu' dichiarato qui: sta in
   Components/Pages/Warehouse/Reports/Shared/RoundBalanceView.razor, condiviso con «Bilancio
   partita al costo» e «Bilancio partita al prezzo».

   Uno scoped raggiunge SOLO il markup del proprio componente (CLAUDE.md, «lo scoped non si
   condivide»), quindi qualunque regola scritta qui non arriverebbe a nulla — silenziosamente.
   Le regole vivono in Shared/RoundBalanceView.razor.css.

   Il file resta al suo posto, vuoto, invece di essere cancellato: e' il posto dove qualcuno
   andrebbe a cercare, e trovarlo con questa nota costa meno che non trovarlo affatto. */
/* /Components/Pages/Warehouse/Reports/RoundMargin.razor.rz.scp.css */
/* ===========================
   LotBalance (Bilancio lotto) - Scoped Styles
   Stile report MTS SaaS (allineato a WebOrderStatistic01 / ArticleStockReport)
   =========================== */

.page-container[b-yo1noxcgjr] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Cursore "in caricamento" su tutta la pagina mentre i dati si caricano */
.page-container.is-loading[b-yo1noxcgjr],
.page-container.is-loading *[b-yo1noxcgjr] {
    cursor: progress;
}

.page-header[b-yo1noxcgjr] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-yo1noxcgjr] {
    flex: 1;
}

.page-title[b-yo1noxcgjr] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-yo1noxcgjr] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-yo1noxcgjr] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Filter bar */
.filter-bar[b-yo1noxcgjr] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-group[b-yo1noxcgjr] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}

.filter-group-check[b-yo1noxcgjr] {
    min-width: auto;
}

.filter-label[b-yo1noxcgjr] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-input[b-yo1noxcgjr] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-yo1noxcgjr] {
    border-color: var(--color-primary);
}

/* Toggle switch (slider) — controllo booleano della filter-bar */
.switch[b-yo1noxcgjr] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) 0;
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
}

.switch input[b-yo1noxcgjr] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.slider[b-yo1noxcgjr] {
    position: relative;
    flex-shrink: 0;
    width: 38px;
    height: 20px;
    border-radius: 10px;
    background-color: var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.slider[b-yo1noxcgjr]::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--bg-primary);
    transition: transform var(--transition-fast) var(--transition-ease);
}

.switch input:checked + .slider[b-yo1noxcgjr] {
    background-color: var(--color-primary);
}

.switch input:checked + .slider[b-yo1noxcgjr]::before {
    transform: translateX(18px);
}

.switch input:focus-visible + .slider[b-yo1noxcgjr] {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.switch-text[b-yo1noxcgjr] {
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
}

/* Summary Stats */
.summary-stats[b-yo1noxcgjr] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-yo1noxcgjr] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-yo1noxcgjr] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-yo1noxcgjr] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Alert Bars */
.alert-bar[b-yo1noxcgjr] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-yo1noxcgjr] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-warning[b-yo1noxcgjr] {
    background-color: #fff4e5;
    border-left-color: var(--color-warning, #ffc107);
    color: #663c00;
}

.alert-bar-close[b-yo1noxcgjr] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-yo1noxcgjr] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-yo1noxcgjr] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-yo1noxcgjr] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-yo1noxcgjr] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-yo1noxcgjr] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-yo1noxcgjr]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-yo1noxcgjr] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-yo1noxcgjr] {
    color: var(--color-primary);
}

.search-count[b-yo1noxcgjr] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-yo1noxcgjr],
.empty-state[b-yo1noxcgjr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-yo1noxcgjr] {
    opacity: 0.4;
}

.empty-state-text[b-yo1noxcgjr] {
    font-size: var(--font-size-base);
    margin: 0;
}

.btn-outline-primary[b-yo1noxcgjr] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-yo1noxcgjr] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.btn-outline-secondary[b-yo1noxcgjr] {
    background: transparent;
    color: var(--text-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}

.btn-outline-secondary:hover[b-yo1noxcgjr] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    border-color: var(--color-primary);
}

/* Report Table */
.report-table-wrapper[b-yo1noxcgjr] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table-stock[b-yo1noxcgjr] {
    margin-top: var(--space-5);
}

.report-table[b-yo1noxcgjr] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
    table-layout: fixed;
}

/* Le celle di dettaglio possono troncare con ellissi mantenendo l'allineamento a larghezza fissa */
.report-table td[b-yo1noxcgjr] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.report-table thead[b-yo1noxcgjr] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-yo1noxcgjr] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    text-align: left;
}

.report-table thead th.col-num[b-yo1noxcgjr] {
    text-align: right;
}

.report-table thead th.col-um[b-yo1noxcgjr] {
    text-align: center;
}

/* Riga di intestazione sezione (titolo natura documento + totali sezione) */
.report-table thead tr.section-head-row th[b-yo1noxcgjr],
.report-table thead tr:first-child th[b-yo1noxcgjr] {
    font-size: var(--font-size-sm);
    text-transform: none;
    letter-spacing: 0;
    border-bottom: var(--border-width-thin) solid rgba(255, 255, 255, 0.15);
    font-weight: var(--font-weight-bold);
}

/* Il totale di sezione vive sulla testata: senza uno sfondo proprio si confonde
   con le intestazioni di colonna appena sotto. */
.report-table thead tr.section-head-row th[b-yo1noxcgjr] {
    background-color: rgba(0, 0, 0, 0.22);
    border-bottom-color: rgba(255, 255, 255, 0.28);
}

/* Seconda riga thead = intestazioni colonna (stile standard xs uppercase) */
.report-table thead tr.col-head-row th[b-yo1noxcgjr] {
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-semibold);
    border-bottom: 2px solid var(--color-primary);
}

.report-table tbody tr[b-yo1noxcgjr] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-yo1noxcgjr] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-yo1noxcgjr] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table tbody tr:nth-child(even)[b-yo1noxcgjr] {
    background-color: var(--bg-secondary);
}

.report-table tbody tr:nth-child(even):hover[b-yo1noxcgjr] {
    background-color: rgba(11, 36, 62, 0.05);
}

.report-table td[b-yo1noxcgjr] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.col-code[b-yo1noxcgjr] {
    text-align: left;
}

.col-desc[b-yo1noxcgjr] {
    text-align: left;
    min-width: 200px;
    max-width: 320px;
    white-space: normal;
}

.col-um[b-yo1noxcgjr] {
    text-align: center;
}

.col-num[b-yo1noxcgjr] {
    text-align: right;
}

.cell-code[b-yo1noxcgjr] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.85;
}

.cell-sub[b-yo1noxcgjr] {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* Group rows (sezioni per natura documento) */
.report-table tbody tr.group-row[b-yo1noxcgjr] {
    background-color: transparent !important;
}

.report-table tbody tr.group-row td[b-yo1noxcgjr] {
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.report-table tbody tr.group-row-year td[b-yo1noxcgjr] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    font-size: var(--font-size-sm);
    padding: var(--space-2) var(--space-3);
    border-top: 2px solid var(--color-primary);
}

.report-table tbody tr.group-row-year td strong[b-yo1noxcgjr] {
    color: var(--text-on-primary);
}

.report-table tbody tr.group-row-month td[b-yo1noxcgjr] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.group-row-month td strong[b-yo1noxcgjr] {
    color: var(--color-primary);
}

.report-table tbody tr.group-row-month .cell-sub[b-yo1noxcgjr] {
    display: inline;
    margin-left: var(--space-2);
}

.report-table tbody tr.group-row:hover[b-yo1noxcgjr] {
    background-color: transparent !important;
}

.group-count[b-yo1noxcgjr] {
    font-weight: var(--font-weight-normal);
    text-transform: none;
    letter-spacing: 0;
    opacity: 0.75;
}

/* Rientro leggero per le righe di dettaglio del sotto-gruppo (Cod. art.) */
.report-table tbody tr.doc-detail td:first-child[b-yo1noxcgjr] {
    padding-left: var(--space-5);
}

/* Altre partite entrate nel lotto (sezione Scarico lotto): riga secondaria sotto l'id_lotto */
.report-table tbody tr.lot-batches-row td[b-yo1noxcgjr] {
    padding: var(--space-1) var(--space-3) var(--space-2) var(--space-5);
    background-color: var(--bg-secondary);
    border-top: none;
}

.lot-batches-label[b-yo1noxcgjr] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    margin-right: var(--space-2);
}

.lot-batch-chip[b-yo1noxcgjr] {
    display: inline-block;
    margin: 2px var(--space-1) 2px 0;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    line-height: 1.5;
    color: var(--color-primary);
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-sm);
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

a.lot-batch-chip:hover[b-yo1noxcgjr] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Card stato lotto (solo sezione Scarico lotto): verde = omogeneo, gialla = più partite */
.lot-status-card[b-yo1noxcgjr] {
    display: inline-block;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    line-height: 1.5;
    border-radius: var(--radius-sm);
    border: var(--border-width-thin) solid transparent;
    text-transform: none;
    letter-spacing: 0;
    white-space: nowrap;
}

.lot-status-card.is-homogeneous[b-yo1noxcgjr] {
    background-color: var(--color-success);
    border-color: var(--color-success);
    color: #ffffff;
}

.lot-status-card.is-mixed[b-yo1noxcgjr] {
    background-color: var(--color-warning);
    border-color: var(--color-warning);
    color: #212529;
}

.report-table tbody tr.worktype-row td[b-yo1noxcgjr] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-1) var(--space-3) var(--space-1) var(--space-4);
    border-top: none;
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.worktype-row td strong[b-yo1noxcgjr] {
    color: var(--color-primary);
}

.worktype-badge[b-yo1noxcgjr] {
    display: inline-block;
    padding: 0 var(--space-2);
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-on-primary);
    background-color: var(--color-gray-700);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Sotto-gruppo Scarti: tono più tenue rispetto ai prodotti finali */
.report-table tbody tr.worktype-row-waste td[b-yo1noxcgjr] {
    background-color: var(--bg-primary);
}

.worktype-badge-waste[b-yo1noxcgjr] {
    background-color: var(--color-gray-500, var(--color-gray-700));
}

/* Riga master padre (master-detail Padri→Figli) — evidenziata */
.report-table tbody tr.parent-head-row td[b-yo1noxcgjr] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    border-top: 2px solid var(--color-primary-dark, var(--color-primary));
}

.report-table tbody tr.parent-head-row td strong[b-yo1noxcgjr] {
    color: var(--text-on-primary);
}

/* Riga principale del padre: nome + lavorazione + resa allineati */
.parent-head-main[b-yo1noxcgjr] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.parent-name[b-yo1noxcgjr] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--text-on-primary);
    letter-spacing: 0.2px;
}

.parent-work[b-yo1noxcgjr] {
    font-size: var(--font-size-xs);
    color: var(--text-on-primary);
    opacity: 0.9;
}

.parent-head-row .cell-sub[b-yo1noxcgjr] {
    display: inline-block;
    margin-top: 2px;
    color: var(--text-on-primary);
    opacity: 0.8;
}

/* Resa: dato chiave, in forte evidenza sulla riga scura del padre */
.resa-pill[b-yo1noxcgjr] {
    display: inline-flex;
    align-items: baseline;
    gap: var(--space-1);
    margin-left: auto;
    padding: 2px var(--space-3);
    background-color: var(--color-gray-500, #6c757d);
    color: #ffffff;
    border-radius: 999px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    white-space: nowrap;
}

/* Fasce resa: <60 scarso (rosso), 60–90 buona (ambra), >90 ottima (verde) */
.resa-pill.resa-poor[b-yo1noxcgjr] {
    background-color: var(--color-danger, #dc3545);
    color: #ffffff;
}

.resa-pill.resa-good[b-yo1noxcgjr] {
    background-color: var(--color-warning, #ffc107);
    color: #1f2430;
}

.resa-pill.resa-great[b-yo1noxcgjr] {
    background-color: var(--color-success, #28a745);
    color: #ffffff;
}

.resa-label[b-yo1noxcgjr] {
    font-size: var(--font-size-2xs, 0.65rem);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    opacity: 0.85;
}

.resa-value[b-yo1noxcgjr] {
    font-size: var(--font-size-md, 1rem);
    font-weight: var(--font-weight-bold);
    line-height: 1;
}

.resa-tag[b-yo1noxcgjr] {
    font-size: var(--font-size-2xs, 0.65rem);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.9;
    padding-left: var(--space-1);
    border-left: 1px solid currentColor;
}

.parent-badge[b-yo1noxcgjr] {
    display: inline-block;
    padding: 0 var(--space-2);
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    background-color: var(--text-on-primary);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Sotto-gruppo partita contribuente (sezione Scarichi lotto) */
.report-table tbody tr.partita-row td[b-yo1noxcgjr] {
    background-color: var(--bg-primary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-1) var(--space-3) var(--space-1) var(--space-4);
    border-top: none;
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.partita-row td strong[b-yo1noxcgjr] {
    color: var(--color-primary);
}

.partita-badge[b-yo1noxcgjr] {
    display: inline-block;
    padding: 0 var(--space-2);
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-on-primary);
    background-color: var(--color-primary);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Righe articolo sotto il sotto-gruppo partita: rientro maggiore */
.report-table tbody tr.doc-detail-partita td:first-child[b-yo1noxcgjr] {
    padding-left: var(--space-6);
}

@media (max-width: 768px) {
    .page-header[b-yo1noxcgjr] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-yo1noxcgjr] {
        padding: var(--space-4) var(--space-2);
    }
}

/* ═══ STAMPA ═══ */
@media print {
    /* Nascondi la UI interattiva */
    .filter-bar[b-yo1noxcgjr],
    .search-bar[b-yo1noxcgjr],
    .alert-bar[b-yo1noxcgjr],
    .page-header-right[b-yo1noxcgjr] {
        display: none !important;
    }

    .page-container[b-yo1noxcgjr],
    .page-container.is-loading[b-yo1noxcgjr],
    .page-container.is-loading *[b-yo1noxcgjr] {
        cursor: auto !important;
    }

    .page-container[b-yo1noxcgjr] {
        max-width: none;
        padding: 0;
    }

    .page-title[b-yo1noxcgjr] {
        font-size: 16pt;
    }

    /* Tabelle: bordi netti, intestazioni ripetute, niente scroll */
    .report-table-wrapper[b-yo1noxcgjr] {
        overflow: visible;
        border: 1px solid #333;
        page-break-inside: auto;
    }

    .section-block[b-yo1noxcgjr] {
        margin-bottom: 10pt;
    }

    /* Il riepilogo resta un blocco a sé anche in stampa */
    .summary-block[b-yo1noxcgjr] {
        margin-top: 16pt;
        border: 2pt solid #333;
        page-break-inside: avoid;
    }

    .report-table[b-yo1noxcgjr] {
        font-size: 8pt;
    }

    .report-table thead[b-yo1noxcgjr] {
        display: table-header-group; /* ripeti intestazione su ogni pagina */
    }

    .report-table thead th[b-yo1noxcgjr],
    .report-table tbody tr.group-row-year td[b-yo1noxcgjr],
    .report-table tbody tr.group-row-month td[b-yo1noxcgjr] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .report-table tbody tr[b-yo1noxcgjr],
    .report-table thead tr[b-yo1noxcgjr] {
        page-break-inside: avoid;
    }

    /* Le card di riepilogo restano, ma senza sfondo pesante */
    .summary-stats[b-yo1noxcgjr] {
        page-break-inside: avoid;
    }

    .stat-card[b-yo1noxcgjr] {
        border: 1px solid #333;
    }
}

/* ============================================================
   Marginalità partita — stili dedicati
   ============================================================ */

.stat-card-margin[b-yo1noxcgjr] {
    background-color: var(--bg-secondary);
    border-color: var(--color-primary);
}

.stat-sub[b-yo1noxcgjr] {
    display: block;
    margin-top: 2px;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* Pill del margine %, colorata per fascia */
.margin-pill[b-yo1noxcgjr] {
    display: inline-block;
    padding: 2px var(--space-3);
    font-size: var(--font-size-md, 1rem);
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
    border-radius: 999px;
    color: #ffffff;
    background-color: var(--color-gray-500, #6c757d);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.margin-pill.margin-poor[b-yo1noxcgjr] {
    background-color: var(--color-danger, #dc3545);
    color: #ffffff;
}

.margin-pill.margin-mid[b-yo1noxcgjr] {
    background-color: var(--color-warning, #ffc107);
    color: #1f2430;
}

.margin-pill.margin-good[b-yo1noxcgjr] {
    background-color: var(--color-success, #28a745);
    color: #ffffff;
}

.margin-pill.margin-neutral[b-yo1noxcgjr] {
    background-color: var(--color-gray-500, #6c757d);
    color: #ffffff;
}

/* Badge di classificazione riga (blocchi Costi / Vendite) */
.class-badge[b-yo1noxcgjr] {
    display: inline-block;
    padding: 0 var(--space-2);
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-on-primary);
    background-color: var(--color-gray-700);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.class-badge.badge-cost[b-yo1noxcgjr] {
    background-color: var(--color-danger, #dc3545);
}

.class-badge.badge-sale[b-yo1noxcgjr] {
    background-color: var(--color-success, #28a745);
}

.class-badge.badge-lot[b-yo1noxcgjr] {
    background-color: var(--color-primary);
}

/* Origine del prezzo sulle righe di costo (PriceSource).
   «n.v.» = non valorizzata e non recuperabile; «coll.» = prezzo dalla fattura collegata. */
.price-badge[b-yo1noxcgjr] {
    display: inline-block;
    margin-left: var(--space-1);
    padding: 0 var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    line-height: 1.6;
    border-radius: var(--radius-sm);
    cursor: help;
}

.price-badge-missing[b-yo1noxcgjr] {
    background-color: var(--color-warning, #ffc107);
    color: #663c00;
}

.price-badge-linked[b-yo1noxcgjr] {
    background-color: var(--color-gray-200, #e9ecef);
    color: var(--color-gray-700, #495057);
}

/* Riepilogo marginalità — staccato nettamente dalle sezioni di dettaglio */
.summary-block[b-yo1noxcgjr] {
    margin-top: var(--space-8);
    padding-top: var(--space-4);
    border: var(--border-width-thick) solid var(--color-primary);
    background-color: var(--bg-primary);
}

.report-table thead tr.summary-head-row th[b-yo1noxcgjr] {
    font-size: var(--font-size-base);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Riepilogo marginalità */
.report-table tbody tr.summary-row td[b-yo1noxcgjr] {
    border-top: var(--border-width-thin) solid var(--border-color-light);
    font-weight: var(--font-weight-semibold);
}

.report-table tbody tr.summary-row-total td[b-yo1noxcgjr] {
    border-top: 2px solid var(--color-primary);
    font-size: var(--font-size-sm);
}

.summary-note[b-yo1noxcgjr] {
    margin: var(--space-2) 0 0;
    padding: 0 var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-style: italic;
}
/* /Components/Pages/Warehouse/Reports/RoundTraceability.razor.rz.scp.css */
/* ═══ PAGE LAYOUT ═══ */
.page-container[b-kt4wnc45bw] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-4) var(--space-6);
}

.page-header[b-kt4wnc45bw] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-5);
}

.page-header-left[b-kt4wnc45bw] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.page-title[b-kt4wnc45bw] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--text-primary);
    margin: 0;
    line-height: 1.2;
}

.page-title svg[b-kt4wnc45bw] { color: var(--color-primary); }

.page-subtitle[b-kt4wnc45bw] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    margin: 0;
}

/* ═══ INPUT PARTITA ═══ */
.round-input-bar[b-kt4wnc45bw] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-3);
    background: var(--bg-surface, #fff);
    border: var(--border-width-thin, 1px) solid var(--border-color-light, #e2e8f0);
    border-radius: var(--radius-lg, 12px);
    padding: var(--space-4) var(--space-5);
    margin-bottom: var(--space-5);
    flex-wrap: wrap;
}

.round-input-label[b-kt4wnc45bw] {
    display: block;
    font-size: 0.675rem;
    font-weight: 600;
    color: var(--text-tertiary, #94a3b8);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: var(--space-1);
}

.round-input-wrapper[b-kt4wnc45bw] {
    display: flex;
    align-items: center;
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-md);
    background: var(--bg-surface);
    padding: 0 var(--space-3);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.round-input-wrapper:focus-within[b-kt4wnc45bw] {
    border-color: var(--color-primary);
}

.round-input-prefix[b-kt4wnc45bw] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-bold);
    color: var(--text-muted);
}

.round-input[b-kt4wnc45bw] {
    border: none;
    outline: none;
    background: transparent;
    padding: var(--space-2) var(--space-2);
    font-size: var(--font-size-md);
    font-family: var(--font-mono);
    width: 140px;
    color: var(--text-primary);
}

.btn-load[b-kt4wnc45bw] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    border: none;
    border-radius: var(--radius-md);
    background: var(--color-primary);
    color: #fff;
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-sm);
    cursor: pointer;
    transition: opacity var(--transition-fast) var(--transition-ease);
    height: 38px;
}

.btn-load:hover:not(:disabled)[b-kt4wnc45bw] { opacity: 0.9; }
.btn-load:disabled[b-kt4wnc45bw] { opacity: 0.5; cursor: not-allowed; }

.btn-graph-link[b-kt4wnc45bw] {
    align-self: center;
    display: inline-flex; align-items: center; gap: var(--space-2);
    font-size: var(--font-size-sm); color: var(--color-primary); text-decoration: none;
    border: var(--border-width-thin) solid var(--color-primary-200, #bfdbfe);
    border-radius: var(--radius-md); padding: var(--space-2) var(--space-3); height: 38px;
}
.btn-graph-link:hover[b-kt4wnc45bw] { background: var(--color-primary-50, #eff6ff); }

/* ═══ ALERT ═══ */
.alert-bar[b-kt4wnc45bw] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-md);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
}

.alert-bar-danger[b-kt4wnc45bw] {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}

.alert-bar-close[b-kt4wnc45bw] {
    margin-left: auto;
    border: none;
    background: transparent;
    color: inherit;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
}

/* ═══ KPI STRIP ═══ */
.kpi-strip[b-kt4wnc45bw] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.kpi-card[b-kt4wnc45bw] {
    background: var(--bg-surface);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-lg);
    padding: var(--space-4);
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.kpi-label[b-kt4wnc45bw] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.kpi-value[b-kt4wnc45bw] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--text-primary);
}

/* ═══ TABLE ═══ */
.table-container[b-kt4wnc45bw] {
    background: var(--bg-surface);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-lg);
    overflow-x: auto;
}

.trace-table[b-kt4wnc45bw] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
}

.trace-table thead[b-kt4wnc45bw] {
    background-color: var(--bg-secondary);
}

.trace-table thead th[b-kt4wnc45bw] {
    padding: var(--space-3) var(--space-4);
    font-weight: var(--font-weight-semibold);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--text-muted);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    text-align: left;
    position: sticky;
    top: 0;
}

.trace-table thead th.col-right[b-kt4wnc45bw] { text-align: right; }
.trace-table thead th.col-center[b-kt4wnc45bw] { text-align: center; }

.trace-table td[b-kt4wnc45bw] {
    padding: var(--space-2) var(--space-4);
    color: var(--text-secondary);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.trace-table tbody tr:hover:not(.group-header-row):not(.group-subtotal-row)[b-kt4wnc45bw] {
    background-color: rgba(11, 36, 62, 0.03);
}

.col-right[b-kt4wnc45bw] { text-align: right; }
.col-center[b-kt4wnc45bw] { text-align: center; }

.cell-code[b-kt4wnc45bw] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
}

.cell-date[b-kt4wnc45bw] { color: var(--text-muted); }

.cell-desc[b-kt4wnc45bw] {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    white-space: normal;
    max-width: 280px;
}

.mono[b-kt4wnc45bw] { font-family: var(--font-mono); }

/* ═══ INDICATORE ESISTENZA (ind_qta_esistenza) ═══ */
.esist-badge[b-kt4wnc45bw] {
    display: inline-block;
    min-width: 22px;
    text-align: center;
    font-family: var(--font-mono);
    font-weight: var(--font-weight-bold);
    border-radius: var(--radius-sm, 4px);
    padding: 1px 6px;
}

.esist-plus[b-kt4wnc45bw] {
    color: #15803d;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
}

.esist-minus[b-kt4wnc45bw] {
    color: #b91c1c;
    background: #fef2f2;
    border: 1px solid #fecaca;
}

.esist-equal[b-kt4wnc45bw] {
    color: var(--text-muted);
    background: var(--bg-secondary, #f8fafc);
    border: 1px solid var(--border-color-light, #e2e8f0);
}

/* ═══ BARCODE LINK ═══ */
.barcode-link[b-kt4wnc45bw] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    font-family: var(--font-mono);
    color: var(--color-primary);
    text-decoration: none;
    border-bottom: 1px dashed var(--color-primary-300, #93c5fd);
    transition: color var(--transition-fast) var(--transition-ease),
                border-color var(--transition-fast) var(--transition-ease);
}

.barcode-link svg[b-kt4wnc45bw] {
    color: var(--text-muted);
    flex-shrink: 0;
    transition: color var(--transition-fast) var(--transition-ease);
}

.barcode-link:hover[b-kt4wnc45bw] {
    color: var(--color-primary-700, #1d4ed8);
    border-bottom-color: var(--color-primary-700, #1d4ed8);
}

.barcode-link:hover svg[b-kt4wnc45bw] { color: var(--color-primary-700, #1d4ed8); }

/* variante solo-icona: nessuna sottolineatura, icona in colore primario */
.barcode-link-icon[b-kt4wnc45bw] {
    border-bottom: none;
    padding: 2px;
}

.barcode-link-icon svg[b-kt4wnc45bw] { color: var(--color-primary); }
.barcode-link-icon:hover svg[b-kt4wnc45bw] { color: var(--color-primary-700, #1d4ed8); }

/* ═══ LOTTO LINK ═══ */
.lotto-link[b-kt4wnc45bw] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    text-decoration: none;
    border-bottom: 1px dashed var(--color-primary-300, #93c5fd);
    transition: color var(--transition-fast) var(--transition-ease),
                border-color var(--transition-fast) var(--transition-ease);
}

.lotto-link:hover[b-kt4wnc45bw] {
    color: var(--color-primary-700, #1d4ed8);
    border-bottom-color: var(--color-primary-700, #1d4ed8);
}

/* ═══ DEPOSITO HEADER ROW (raggruppamento di 1° livello) ═══ */
.deposito-header-row td[b-kt4wnc45bw] {
    background: var(--color-primary, #0b243e);
    padding: var(--space-3) var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.deposito-badge[b-kt4wnc45bw] {
    display: inline-block;
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-sm);
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-right: var(--space-3);
}

.deposito-desc[b-kt4wnc45bw] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: rgba(255, 255, 255, 0.85);
    margin-right: var(--space-3);
}

.deposito-header-row .group-meta[b-kt4wnc45bw] {
    color: rgba(255, 255, 255, 0.6);
}

/* ═══ DEPOSITO SUBTOTAL ROW (somma algebrica) ═══ */
.deposito-subtotal-row td[b-kt4wnc45bw] {
    background: var(--color-primary-100, #dbeafe);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary-700, #1d4ed8);
    border-top: 2px solid var(--color-primary-300, #93c5fd);
    border-bottom: 2px solid var(--color-primary-300, #93c5fd);
}

.deposito-subtotal-row .subtotal-label[b-kt4wnc45bw] {
    color: var(--color-primary-700, #1d4ed8);
}

/* ═══ GROUP HEADER ROW ═══ */
.group-header-row td[b-kt4wnc45bw] {
    background: var(--color-primary-50, #eff6ff);
    padding: var(--space-2) var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--color-primary-200, #bfdbfe);
}

.group-level[b-kt4wnc45bw] {
    display: inline-block;
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-sm);
    color: #fff;
    background: var(--color-primary, #0b243e);
    border-radius: var(--radius-sm, 4px);
    padding: 2px 10px;
    margin-right: var(--space-2);
}

.group-badge[b-kt4wnc45bw] {
    display: inline-block;
    font-family: var(--font-mono);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-sm);
    color: var(--color-primary-700, #1d4ed8);
    background: var(--color-primary-100, #dbeafe);
    border-radius: var(--radius-sm, 4px);
    padding: 2px 10px;
    margin-right: var(--space-3);
}

.group-desc[b-kt4wnc45bw] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    margin-right: var(--space-3);
}

.group-meta[b-kt4wnc45bw] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* ═══ SUBTOTAL ROW ═══ */
.group-subtotal-row td[b-kt4wnc45bw] {
    background: var(--bg-secondary, #f8fafc);
    font-weight: var(--font-weight-semibold);
    color: var(--text-primary);
    border-bottom: 2px solid var(--border-color-light);
}

.subtotal-label[b-kt4wnc45bw] {
    text-align: right;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.3px;
    color: var(--text-muted);
}

/* ═══ GRAND TOTAL ═══ */
.grand-total-row td[b-kt4wnc45bw] {
    background: var(--color-primary, #0b243e);
    color: #fff;
    font-weight: var(--font-weight-bold);
    padding: var(--space-3) var(--space-4);
}

.grand-total-row .subtotal-label[b-kt4wnc45bw] { color: rgba(255, 255, 255, 0.75); }

/* ═══ STATES ═══ */
.loading-container[b-kt4wnc45bw],
.empty-container[b-kt4wnc45bw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    padding: var(--space-10);
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    text-align: center;
}

.loading-spinner[b-kt4wnc45bw] {
    width: 24px;
    height: 24px;
    border: 2px solid var(--border-color-light);
    border-top-color: var(--color-primary);
    border-radius: 50%;
    animation: spin-b-kt4wnc45bw 0.8s linear infinite;
}

@keyframes spin-b-kt4wnc45bw {
    to { transform: rotate(360deg); }
}

/* ═══ RESPONSIVE ═══ */
@media (max-width: 1024px) {
    .kpi-strip[b-kt4wnc45bw] { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 640px) {
    .kpi-strip[b-kt4wnc45bw] { grid-template-columns: repeat(2, 1fr); }
}
/* /Components/Pages/Warehouse/Reports/RoundTraceabilityGraph.razor.rz.scp.css */
/* ═══ PAGE LAYOUT ═══ */
.page-container[b-3jtip376zj] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-4) var(--space-6);
}

.page-header[b-3jtip376zj] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-5); }
.page-header-left[b-3jtip376zj] { display: flex; flex-direction: column; gap: 2px; }
.page-header-right[b-3jtip376zj] { margin-left: auto; display: flex; align-items: center; }
.page-title[b-3jtip376zj] {
    display: flex; align-items: center; gap: var(--space-3);
    font-size: var(--font-size-xl); font-weight: var(--font-weight-bold);
    color: var(--text-primary); margin: 0; line-height: 1.2;
}
.page-title svg[b-3jtip376zj] { color: var(--color-primary); }
.page-subtitle[b-3jtip376zj] { font-size: var(--font-size-sm); color: var(--text-muted); margin: 0; }

/* ═══ INPUT BAR ═══ */
.round-input-bar[b-3jtip376zj] {
    display: flex; align-items: flex-end; gap: var(--space-3);
    background: var(--bg-surface, #fff);
    border: var(--border-width-thin, 1px) solid var(--border-color-light, #e2e8f0);
    border-radius: var(--radius-lg, 12px);
    padding: var(--space-4) var(--space-5); margin-bottom: var(--space-5); flex-wrap: wrap;
}
.round-input-label[b-3jtip376zj] {
    display: block; font-size: 0.675rem; font-weight: 600; color: var(--text-tertiary, #94a3b8);
    text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: var(--space-1);
}
.round-input-wrapper[b-3jtip376zj] {
    display: flex; align-items: center;
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-md); background: var(--bg-surface); padding: 0 var(--space-3);
    transition: border-color var(--transition-fast) var(--transition-ease);
}
.round-input-wrapper:focus-within[b-3jtip376zj] { border-color: var(--color-primary); }
.round-input-prefix[b-3jtip376zj] { font-family: var(--font-mono); font-weight: var(--font-weight-bold); color: var(--text-muted); }
.round-input[b-3jtip376zj] {
    border: none; outline: none; background: transparent; padding: var(--space-2);
    font-size: var(--font-size-md); font-family: var(--font-mono); width: 140px; color: var(--text-primary);
}
.btn-load[b-3jtip376zj] {
    display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4);
    border: none; border-radius: var(--radius-md); background: var(--color-primary); color: #fff;
    font-weight: var(--font-weight-semibold); font-size: var(--font-size-sm); cursor: pointer; height: 38px;
    transition: opacity var(--transition-fast) var(--transition-ease);
}
.btn-load:hover:not(:disabled)[b-3jtip376zj] { opacity: 0.9; }
.btn-load:disabled[b-3jtip376zj] { opacity: 0.5; cursor: not-allowed; }
.btn-link[b-3jtip376zj] {
    align-self: center; font-size: var(--font-size-sm); color: var(--color-primary);
    text-decoration: none; border-bottom: 1px dashed var(--color-primary-300, #93c5fd);
}
.btn-link:hover[b-3jtip376zj] { color: var(--color-primary-700, #1d4ed8); }

/* ═══ ALERT / STATES ═══ */
.alert-bar[b-3jtip376zj] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); margin-bottom: var(--space-4); font-size: var(--font-size-sm); }
.alert-bar-danger[b-3jtip376zj] { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.alert-bar-close[b-3jtip376zj] { margin-left: auto; border: none; background: transparent; color: inherit; font-size: 1.1rem; line-height: 1; cursor: pointer; }
.loading-container[b-3jtip376zj], .empty-container[b-3jtip376zj] {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: var(--space-3); padding: var(--space-10); color: var(--text-muted); font-size: var(--font-size-sm); text-align: center;
}
.loading-spinner[b-3jtip376zj] { width: 24px; height: 24px; border: 2px solid var(--border-color-light); border-top-color: var(--color-primary); border-radius: 50%; animation: spin-b-3jtip376zj 0.8s linear infinite; }
@keyframes spin-b-3jtip376zj { to { transform: rotate(360deg); } }

/* ═══ META + LEGEND ═══ */
.graph-meta[b-3jtip376zj] {
    display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap;
    font-size: var(--font-size-sm); color: var(--text-secondary); margin-bottom: var(--space-2);
}
.meta-sep[b-3jtip376zj] { color: var(--text-muted); }
.meta-in[b-3jtip376zj] { color: #2e7d32; font-weight: 600; }
.meta-inother[b-3jtip376zj] { color: #0d9488; font-weight: 600; }
.meta-transfer[b-3jtip376zj] { color: #1d4ed8; font-weight: 600; }
.meta-self[b-3jtip376zj] { color: #7c3aed; font-weight: 600; }
.meta-selfmcl[b-3jtip376zj] { color: #db2777; font-weight: 600; }
.meta-mclother[b-3jtip376zj] { color: #9d174d; font-weight: 600; }
.meta-rett[b-3jtip376zj] { color: #475569; font-weight: 600; }
.meta-out[b-3jtip376zj] { color: #b45309; font-weight: 600; }
.graph-hint[b-3jtip376zj] { color: var(--text-muted); font-size: var(--font-size-xs); }
.legend[b-3jtip376zj] { display: flex; gap: var(--space-5); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-muted); margin-bottom: var(--space-3); }
.legend .dot[b-3jtip376zj] { display: inline-block; width: 16px; height: 5px; border-radius: 2px; margin-right: 6px; vertical-align: middle; }
.dot-in[b-3jtip376zj] { background: #2e7d32; }
.dot-inother[b-3jtip376zj] { background: #0d9488; }
.dot-transfer[b-3jtip376zj] { background: #1d4ed8; }
.dot-self[b-3jtip376zj] { background: #7c3aed; }
.dot-selfmcl[b-3jtip376zj] { background: #db2777; }
.dot-mclother[b-3jtip376zj] { background: #9d174d; }
.dot-rett[b-3jtip376zj] { background: #475569; }
.dot-out[b-3jtip376zj] { background: #b45309; }

/* ═══ GRAPH ═══ */
.graph-viewport[b-3jtip376zj] {
    background: var(--bg-surface, #fff);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-lg); overflow: hidden; height: 70vh; min-height: 460px;
    position: relative;
}
/* Z.Blazor.Diagrams: il canvas riempie il contenitore (::deep per raggiungere il componente figlio) */
.graph-viewport[b-3jtip376zj]  .diagram-canvas { width: 100%; height: 100%; }

.trace-edge[b-3jtip376zj] { fill: none; transition: opacity 0.15s ease; }
.edge-in[b-3jtip376zj] { stroke: #2e7d32; }
.edge-inother[b-3jtip376zj] { stroke: #0d9488; }
.edge-transfer[b-3jtip376zj] { stroke: #1d4ed8; }
.edge-self[b-3jtip376zj] { stroke: #7c3aed; }
.edge-selfmcl[b-3jtip376zj] { stroke: #db2777; }
.edge-mclother[b-3jtip376zj] { stroke: #9d174d; }
.edge-out[b-3jtip376zj] { stroke: #b45309; }

.edge-label[b-3jtip376zj] {
    font-family: var(--font-mono); font-size: 11px; font-weight: 700; fill: var(--text-secondary, #334155);
    paint-order: stroke; stroke: var(--bg-surface, #fff); stroke-width: 3px; stroke-linejoin: round;
    pointer-events: none;
}

.node-box[b-3jtip376zj] { fill: var(--bg-surface, #fff); stroke: var(--border-color-light, #cbd5e1); stroke-width: 1.5; }
.node-title[b-3jtip376zj] { font-size: 13px; font-weight: 700; fill: var(--text-primary, #1e293b); }
.node-sub[b-3jtip376zj] { font-size: 10px; fill: var(--text-muted, #94a3b8); }
.node-detail[b-3jtip376zj] { font-family: var(--font-mono); font-size: 10px; font-weight: 600; fill: var(--text-secondary, #475569); }
.node-algebraic[b-3jtip376zj] { font-family: var(--font-mono); font-size: 11px; font-weight: 700; }
.node-algebraic.alg-pos[b-3jtip376zj] { fill: #15803d; }
.node-algebraic.alg-neg[b-3jtip376zj] { fill: #b91c1c; }
.trace-node[b-3jtip376zj] { cursor: pointer; }

.node-dep .node-box[b-3jtip376zj] { fill: #eef3fc; stroke: #1d4ed8; }
.node-forn .node-box[b-3jtip376zj] { fill: #eaf5ec; stroke: #2e7d32; stroke-dasharray: 5 3; }
.node-forn-other .node-box[b-3jtip376zj] { fill: #fbe8ef; stroke: #9d174d; stroke-dasharray: 5 3; }
.node-forn-other .node-sub[b-3jtip376zj] { font-family: var(--font-mono); font-weight: 600; fill: var(--text-secondary, #475569); }
.node-cli .node-box[b-3jtip376zj] { fill: #fbf0e4; stroke: #b45309; stroke-dasharray: 5 3; }

/* selezione (classi aggiunte da traceability-graph.js) */
.flow-graph.has-selection .trace-edge[b-3jtip376zj] { opacity: 0.12; }
.flow-graph.has-selection .trace-node[b-3jtip376zj] { opacity: 0.35; }
.trace-edge.edge-active[b-3jtip376zj] { opacity: 1; }
.trace-node.selected[b-3jtip376zj], .trace-node.neighbor[b-3jtip376zj] { opacity: 1; }
.trace-node.selected .node-box[b-3jtip376zj] { stroke-width: 3; }
.trace-node.neighbor .node-box[b-3jtip376zj] { stroke-width: 2.5; }
/* /Components/Pages/Warehouse/Reports/SectioningBalance.razor.rz.scp.css */
/* ===========================
   SectioningBalance (Bilancio sezionamento) - Scoped Styles
   Stile report MTS SaaS (allineato a WebOrderStatistic01 / ArticleStockReport)
   =========================== */

.page-container[b-2dchvuq06a] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Cursore "in caricamento" su tutta la pagina mentre i dati si caricano */
.page-container.is-loading[b-2dchvuq06a],
.page-container.is-loading *[b-2dchvuq06a] {
    cursor: progress;
}

.page-header[b-2dchvuq06a] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-2dchvuq06a] {
    flex: 1;
}

.page-title[b-2dchvuq06a] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-2dchvuq06a] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-2dchvuq06a] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Filter bar */
.filter-bar[b-2dchvuq06a] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-group[b-2dchvuq06a] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}

.filter-group-check[b-2dchvuq06a] {
    min-width: auto;
}

.filter-label[b-2dchvuq06a] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-input[b-2dchvuq06a] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-2dchvuq06a] {
    border-color: var(--color-primary);
}

/* Toggle switch (slider) — controllo booleano della filter-bar */
.switch[b-2dchvuq06a] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) 0;
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
}

.switch input[b-2dchvuq06a] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.slider[b-2dchvuq06a] {
    position: relative;
    flex-shrink: 0;
    width: 38px;
    height: 20px;
    border-radius: 10px;
    background-color: var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.slider[b-2dchvuq06a]::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--bg-primary);
    transition: transform var(--transition-fast) var(--transition-ease);
}

.switch input:checked + .slider[b-2dchvuq06a] {
    background-color: var(--color-primary);
}

.switch input:checked + .slider[b-2dchvuq06a]::before {
    transform: translateX(18px);
}

.switch input:focus-visible + .slider[b-2dchvuq06a] {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.switch-text[b-2dchvuq06a] {
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
}

/* Summary Stats */
.summary-stats[b-2dchvuq06a] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-2dchvuq06a] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-2dchvuq06a] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-2dchvuq06a] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Alert Bars */
.alert-bar[b-2dchvuq06a] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-2dchvuq06a] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-2dchvuq06a] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-2dchvuq06a] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-2dchvuq06a] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-2dchvuq06a] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-2dchvuq06a] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-2dchvuq06a] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-2dchvuq06a]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-2dchvuq06a] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-2dchvuq06a] {
    color: var(--color-primary);
}

.search-count[b-2dchvuq06a] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-2dchvuq06a],
.empty-state[b-2dchvuq06a] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-2dchvuq06a] {
    opacity: 0.4;
}

.empty-state-text[b-2dchvuq06a] {
    font-size: var(--font-size-base);
    margin: 0;
}

.btn-outline-primary[b-2dchvuq06a] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-2dchvuq06a] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.btn-outline-secondary[b-2dchvuq06a] {
    background: transparent;
    color: var(--text-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}

.btn-outline-secondary:hover[b-2dchvuq06a] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    border-color: var(--color-primary);
}

/* Report Table */
.report-table-wrapper[b-2dchvuq06a] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table-stock[b-2dchvuq06a] {
    margin-top: var(--space-5);
}

.report-table[b-2dchvuq06a] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
    table-layout: fixed;
}

/* Le celle di dettaglio possono troncare con ellissi mantenendo l'allineamento a larghezza fissa */
.report-table td[b-2dchvuq06a] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.report-table thead[b-2dchvuq06a] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-2dchvuq06a] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    text-align: left;
}

.report-table thead th.col-num[b-2dchvuq06a] {
    text-align: right;
}

.report-table thead th.col-um[b-2dchvuq06a] {
    text-align: center;
}

/* Riga di intestazione sezione (titolo natura documento + totali sezione) */
.report-table thead tr.section-head-row th[b-2dchvuq06a],
.report-table thead tr:first-child th[b-2dchvuq06a] {
    font-size: var(--font-size-sm);
    text-transform: none;
    letter-spacing: 0;
    border-bottom: var(--border-width-thin) solid rgba(255, 255, 255, 0.15);
    font-weight: var(--font-weight-bold);
}

/* Seconda riga thead = intestazioni colonna (stile standard xs uppercase) */
.report-table thead tr.col-head-row th[b-2dchvuq06a] {
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-semibold);
    border-bottom: 2px solid var(--color-primary);
}

.report-table tbody tr[b-2dchvuq06a] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-2dchvuq06a] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-2dchvuq06a] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table tbody tr:nth-child(even)[b-2dchvuq06a] {
    background-color: var(--bg-secondary);
}

.report-table tbody tr:nth-child(even):hover[b-2dchvuq06a] {
    background-color: rgba(11, 36, 62, 0.05);
}

.report-table td[b-2dchvuq06a] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.col-code[b-2dchvuq06a] {
    text-align: left;
}

.col-desc[b-2dchvuq06a] {
    text-align: left;
    min-width: 200px;
    max-width: 320px;
    white-space: normal;
}

.col-um[b-2dchvuq06a] {
    text-align: center;
}

.col-num[b-2dchvuq06a] {
    text-align: right;
}

.cell-code[b-2dchvuq06a] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.85;
}

.cell-sub[b-2dchvuq06a] {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* Group rows (sezioni per natura documento) */
.report-table tbody tr.group-row[b-2dchvuq06a] {
    background-color: transparent !important;
}

.report-table tbody tr.group-row td[b-2dchvuq06a] {
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.report-table tbody tr.group-row-year td[b-2dchvuq06a] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    font-size: var(--font-size-sm);
    padding: var(--space-2) var(--space-3);
    border-top: 2px solid var(--color-primary);
}

.report-table tbody tr.group-row-year td strong[b-2dchvuq06a] {
    color: var(--text-on-primary);
}

.report-table tbody tr.group-row-month td[b-2dchvuq06a] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.group-row-month td strong[b-2dchvuq06a] {
    color: var(--color-primary);
}

.report-table tbody tr.group-row-month .cell-sub[b-2dchvuq06a] {
    display: inline;
    margin-left: var(--space-2);
}

.report-table tbody tr.group-row:hover[b-2dchvuq06a] {
    background-color: transparent !important;
}

.group-count[b-2dchvuq06a] {
    font-weight: var(--font-weight-normal);
    text-transform: none;
    letter-spacing: 0;
    opacity: 0.75;
}

/* Rientro leggero per le righe di dettaglio del sotto-gruppo (Cod. art.) */
.report-table tbody tr.doc-detail td:first-child[b-2dchvuq06a] {
    padding-left: var(--space-5);
}

/* Altre partite entrate nel lotto (sezione Scarico lotto): riga secondaria sotto l'id_lotto */
.report-table tbody tr.lot-batches-row td[b-2dchvuq06a] {
    padding: var(--space-1) var(--space-3) var(--space-2) var(--space-5);
    background-color: var(--bg-secondary);
    border-top: none;
}

.lot-batches-label[b-2dchvuq06a] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    margin-right: var(--space-2);
}

.lot-batch-chip[b-2dchvuq06a] {
    display: inline-block;
    margin: 2px var(--space-1) 2px 0;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    line-height: 1.5;
    color: var(--color-primary);
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-sm);
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

a.lot-batch-chip:hover[b-2dchvuq06a] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Card stato lotto (solo sezione Scarico lotto): verde = omogeneo, gialla = più partite */
.lot-status-card[b-2dchvuq06a] {
    display: inline-block;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    line-height: 1.5;
    border-radius: var(--radius-sm);
    border: var(--border-width-thin) solid transparent;
    text-transform: none;
    letter-spacing: 0;
    white-space: nowrap;
}

.lot-status-card.is-homogeneous[b-2dchvuq06a] {
    background-color: var(--color-success);
    border-color: var(--color-success);
    color: #ffffff;
}

.lot-status-card.is-mixed[b-2dchvuq06a] {
    background-color: var(--color-warning);
    border-color: var(--color-warning);
    color: #212529;
}

.report-table tbody tr.worktype-row td[b-2dchvuq06a] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-1) var(--space-3) var(--space-1) var(--space-4);
    border-top: none;
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.worktype-row td strong[b-2dchvuq06a] {
    color: var(--color-primary);
}

.worktype-badge[b-2dchvuq06a] {
    display: inline-block;
    padding: 0 var(--space-2);
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-on-primary);
    background-color: var(--color-gray-700);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Sotto-gruppo Scarti: tono più tenue rispetto ai prodotti finali */
.report-table tbody tr.worktype-row-waste td[b-2dchvuq06a] {
    background-color: var(--bg-primary);
}

.worktype-badge-waste[b-2dchvuq06a] {
    background-color: var(--color-gray-500, var(--color-gray-700));
}

/* Riga master padre (master-detail Padri→Figli) — evidenziata */
.report-table tbody tr.parent-head-row td[b-2dchvuq06a] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    border-top: 2px solid var(--color-primary-dark, var(--color-primary));
}

.report-table tbody tr.parent-head-row td strong[b-2dchvuq06a] {
    color: var(--text-on-primary);
}

/* Riga principale del padre: nome + lavorazione + resa allineati */
.parent-head-main[b-2dchvuq06a] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.parent-name[b-2dchvuq06a] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--text-on-primary);
    letter-spacing: 0.2px;
}

.parent-work[b-2dchvuq06a] {
    font-size: var(--font-size-xs);
    color: var(--text-on-primary);
    opacity: 0.9;
}

.parent-head-row .cell-sub[b-2dchvuq06a] {
    display: inline-block;
    margin-top: 2px;
    color: var(--text-on-primary);
    opacity: 0.8;
}

/* Resa: dato chiave, in forte evidenza sulla riga scura del padre */
.resa-pill[b-2dchvuq06a] {
    display: inline-flex;
    align-items: baseline;
    gap: var(--space-1);
    margin-left: auto;
    padding: 2px var(--space-3);
    background-color: var(--color-gray-500, #6c757d);
    color: #ffffff;
    border-radius: 999px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    white-space: nowrap;
}

/* Fasce resa: <60 scarso (rosso), 60–90 buona (ambra), >90 ottima (verde) */
.resa-pill.resa-poor[b-2dchvuq06a] {
    background-color: var(--color-danger, #dc3545);
    color: #ffffff;
}

.resa-pill.resa-good[b-2dchvuq06a] {
    background-color: var(--color-warning, #ffc107);
    color: #1f2430;
}

.resa-pill.resa-great[b-2dchvuq06a] {
    background-color: var(--color-success, #28a745);
    color: #ffffff;
}

/* >100 anomala: il padre ha prodotto piu' di quanto ha consumato. Il tier esisteva gia' nel
   code-behind ma non aveva una regola qui, quindi la pastiglia restava senza fondo. */
.resa-pill.resa-anomaly[b-2dchvuq06a] {
    background-color: #8a5a00;
    color: #ffffff;
}

.resa-label[b-2dchvuq06a] {
    font-size: var(--font-size-2xs, 0.65rem);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    opacity: 0.85;
}

.resa-value[b-2dchvuq06a] {
    font-size: var(--font-size-md, 1rem);
    font-weight: var(--font-weight-bold);
    line-height: 1;
}

.resa-tag[b-2dchvuq06a] {
    font-size: var(--font-size-2xs, 0.65rem);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.9;
    padding-left: var(--space-1);
    border-left: 1px solid currentColor;
}

.parent-badge[b-2dchvuq06a] {
    display: inline-block;
    padding: 0 var(--space-2);
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    background-color: var(--text-on-primary);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Sotto-gruppo partita contribuente (sezione Scarichi lotto) */
.report-table tbody tr.partita-row td[b-2dchvuq06a] {
    background-color: var(--bg-primary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-1) var(--space-3) var(--space-1) var(--space-4);
    border-top: none;
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.partita-row td strong[b-2dchvuq06a] {
    color: var(--color-primary);
}

.partita-badge[b-2dchvuq06a] {
    display: inline-block;
    padding: 0 var(--space-2);
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-on-primary);
    background-color: var(--color-primary);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Righe articolo sotto il sotto-gruppo partita: rientro maggiore */
.report-table tbody tr.doc-detail-partita td:first-child[b-2dchvuq06a] {
    padding-left: var(--space-6);
}

@media (max-width: 768px) {
    .page-header[b-2dchvuq06a] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-2dchvuq06a] {
        padding: var(--space-4) var(--space-2);
    }
}

/* ═══ STAMPA ═══ */
@media print {
    /* Nascondi la UI interattiva */
    .filter-bar[b-2dchvuq06a],
    .search-bar[b-2dchvuq06a],
    .alert-bar[b-2dchvuq06a],
    .page-header-right[b-2dchvuq06a] {
        display: none !important;
    }

    .page-container[b-2dchvuq06a],
    .page-container.is-loading[b-2dchvuq06a],
    .page-container.is-loading *[b-2dchvuq06a] {
        cursor: auto !important;
    }

    .page-container[b-2dchvuq06a] {
        max-width: none;
        padding: 0;
    }

    .page-title[b-2dchvuq06a] {
        font-size: 16pt;
    }

    /* Tabelle: bordi netti, intestazioni ripetute, niente scroll */
    .report-table-wrapper[b-2dchvuq06a] {
        overflow: visible;
        border: 1px solid #333;
        page-break-inside: auto;
    }

    .section-block[b-2dchvuq06a] {
        margin-bottom: 10pt;
    }

    .report-table[b-2dchvuq06a] {
        font-size: 8pt;
    }

    .report-table thead[b-2dchvuq06a] {
        display: table-header-group; /* ripeti intestazione su ogni pagina */
    }

    .report-table thead th[b-2dchvuq06a],
    .report-table tbody tr.group-row-year td[b-2dchvuq06a],
    .report-table tbody tr.group-row-month td[b-2dchvuq06a] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .report-table tbody tr[b-2dchvuq06a],
    .report-table thead tr[b-2dchvuq06a] {
        page-break-inside: avoid;
    }

    /* Le card di riepilogo restano, ma senza sfondo pesante */
    .summary-stats[b-2dchvuq06a] {
        page-break-inside: avoid;
    }

    .stat-card[b-2dchvuq06a] {
        border: 1px solid #333;
    }
}
/* /Components/Pages/Warehouse/Reports/SectioningPricing.razor.rz.scp.css */
/* ===========================
   Pricing sezionamento — chrome di PAGINA
   Stile report MTS SaaS

   La tabella padri→tagli non sta piu' qui: e' il componente condiviso con
   «Pricing sezionamenti del giorno», e le sue regole vivono in
   Shared/SectioningPricingBlock.razor.css. Il CSS isolato di Blazor vale solo
   sul markup dichiarato nel proprio file, quindi le due cose devono restare
   separate — e le regole della tabella non vanno ricopiate qui.
   =========================== */

.page-container[b-5t5vj9fr5g] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Cursore "in caricamento" su tutta la pagina mentre i dati si caricano */
.page-container.is-loading[b-5t5vj9fr5g],
.page-container.is-loading *[b-5t5vj9fr5g] {
    cursor: progress;
}

.page-header[b-5t5vj9fr5g] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-5t5vj9fr5g] {
    flex: 1;
}

.page-title[b-5t5vj9fr5g] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-5t5vj9fr5g] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-5t5vj9fr5g] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Filter bar */
.filter-bar[b-5t5vj9fr5g] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-group[b-5t5vj9fr5g] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}

.filter-group-check[b-5t5vj9fr5g] {
    min-width: auto;
}

.filter-label[b-5t5vj9fr5g] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-input[b-5t5vj9fr5g] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-5t5vj9fr5g] {
    border-color: var(--color-primary);
}

/* Toggle switch (slider) — controllo booleano della filter-bar */
.switch[b-5t5vj9fr5g] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) 0;
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
}

.switch input[b-5t5vj9fr5g] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.slider[b-5t5vj9fr5g] {
    position: relative;
    flex-shrink: 0;
    width: 38px;
    height: 20px;
    border-radius: 10px;
    background-color: var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.slider[b-5t5vj9fr5g]::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--bg-primary);
    transition: transform var(--transition-fast) var(--transition-ease);
}

.switch input:checked + .slider[b-5t5vj9fr5g] {
    background-color: var(--color-primary);
}

.switch input:checked + .slider[b-5t5vj9fr5g]::before {
    transform: translateX(18px);
}

.switch input:focus-visible + .slider[b-5t5vj9fr5g] {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.switch-text[b-5t5vj9fr5g] {
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
}

/* Summary Stats */
.summary-stats[b-5t5vj9fr5g] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-5t5vj9fr5g] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-5t5vj9fr5g] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-5t5vj9fr5g] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Alert Bars */
.alert-bar[b-5t5vj9fr5g] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-5t5vj9fr5g] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-5t5vj9fr5g] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-5t5vj9fr5g] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-5t5vj9fr5g] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-5t5vj9fr5g] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-5t5vj9fr5g] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-5t5vj9fr5g] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-5t5vj9fr5g]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-5t5vj9fr5g] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-5t5vj9fr5g] {
    color: var(--color-primary);
}

.search-count[b-5t5vj9fr5g] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-5t5vj9fr5g],
.empty-state[b-5t5vj9fr5g] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-5t5vj9fr5g] {
    opacity: 0.4;
}

.empty-state-text[b-5t5vj9fr5g] {
    font-size: var(--font-size-base);
    margin: 0;
}

.btn-outline-primary[b-5t5vj9fr5g] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-5t5vj9fr5g] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.btn-outline-secondary[b-5t5vj9fr5g] {
    background: transparent;
    color: var(--text-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}

.btn-outline-secondary:hover[b-5t5vj9fr5g] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    border-color: var(--color-primary);
}

@media (max-width: 768px) {
    .page-header[b-5t5vj9fr5g] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-5t5vj9fr5g] {
        padding: var(--space-4) var(--space-2);
    }
}

/* ═══ STAMPA ═══ */
@media print {
    /* Nascondi la UI interattiva */
    .filter-bar[b-5t5vj9fr5g],
    .search-bar[b-5t5vj9fr5g],
    .alert-bar[b-5t5vj9fr5g],
    .page-header-right[b-5t5vj9fr5g] {
        display: none !important;
    }

    .page-container[b-5t5vj9fr5g],
    .page-container.is-loading[b-5t5vj9fr5g],
    .page-container.is-loading *[b-5t5vj9fr5g] {
        cursor: auto !important;
    }

    .page-container[b-5t5vj9fr5g] {
        max-width: none;
        padding: 0;
    }

    .page-title[b-5t5vj9fr5g] {
        font-size: 16pt;
    }

    /* La stampa della TABELLA — bordi netti, intestazione ripetuta, niente
       scroll — sta in Shared/SectioningPricingBlock.razor.css insieme alla
       tabella: il CSS isolato non attraversa il confine del componente, quindi
       tenerla qui vorrebbe dire scriverla e non vederla mai applicata. */

    /* Le card di riepilogo restano, ma senza sfondo pesante */
    .summary-stats[b-5t5vj9fr5g] {
        page-break-inside: avoid;
    }

    .stat-card[b-5t5vj9fr5g] {
        border: 1px solid #333;
    }
}

/* Scarto di ripartizione oltre l'arrotondamento atteso. */
.stat-card-warn[b-5t5vj9fr5g] {
    border-color: var(--color-warning-border, #e0b050);
    background: var(--color-warning-bg, #fff6e0);
}

/* Il conteggio delle righe senza costo di gestione sta DENTRO la card «Valore + gestione», non
   accanto: e' cio' che spiega perche' quel totale e' piu' basso del reale. */
.stat-note[b-5t5vj9fr5g] {
    display: block;
    margin-top: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: #8a6100;
    text-transform: none;
    letter-spacing: 0;
    cursor: help;
}

/* =============================================================================
   ELABORAZIONE PRICING — comando, conferma, esito
   La chrome di conferma vive in copie scoped (CLAUDE.md §«CSS di componente»):
   qui si porta quella che serve a questa pagina, la stessa della lista lotti.
   ========================================================================== */

/* Il comando che SCRIVE, accanto a «Carica» che legge: pieno contro contornato,
   perché la differenza fra i due va vista prima di leggerne l'etichetta. */
.btn-action[b-5t5vj9fr5g] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    border: var(--border-width-thin) solid var(--color-primary);
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}.btn-action:disabled[b-5t5vj9fr5g] {
    opacity: 0.5;
    cursor: not-allowed;
}.overlay[b-5t5vj9fr5g] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
}.confirm-dialog[b-5t5vj9fr5g] {
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    padding: var(--space-6);
    max-width: 480px;
    width: calc(100% - var(--space-8));
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}.confirm-dialog h3[b-5t5vj9fr5g] {
    margin: 0;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}.confirm-dialog p[b-5t5vj9fr5g] {
    margin: 0;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
}.confirm-icon[b-5t5vj9fr5g] {
    color: var(--color-primary);
}/* Nota, non avviso: l'elaborazione non è distruttiva e non tocca i costi.
   Un riquadro rosso qui direbbe una cosa falsa. */
.confirm-note[b-5t5vj9fr5g] {
    padding: var(--space-2) var(--space-3);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--color-primary);
}.confirm-actions[b-5t5vj9fr5g] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-3);
    margin-top: var(--space-2);
}/* Esito. Verde quando la corsa ha chiuso pulita, ambra quando ha lasciato righe
   senza prezzo: sono due esiti diversi e portano a due conclusioni diverse. */
.alert-bar-success[b-5t5vj9fr5g] {
    background-color: #edf7ed;
    border-left-color: var(--color-success, #2e7d32);
    color: #1e4620;
}.alert-bar-warning[b-5t5vj9fr5g] {
    background-color: var(--color-warning-bg, #fff6e0);
    border-left-color: var(--color-warning, #e0b050);
    color: var(--color-warning-text, #8a5a00);
}
/* /Components/Pages/Warehouse/Reports/SectioningPricingDaily.razor.rz.scp.css */
/* ===========================
   Pricing sezionamenti del giorno — chrome di PAGINA, elenco e pannello

   Gemella di LotPricingDaily.razor.css: stesse classi, stessa impaginazione.
   Sono due file e non uno perché il CSS isolato di Blazor vale sul markup
   dichiarato dentro UNA pagina — un foglio condiviso non raggiungerebbe né
   l'una né l'altra.

   La differenza rispetto alla gemella e' una sola: la fascia di resa ANOMALA,
   che nel sezionamento esiste e nel lotto no. Il pulsante di elaborazione c'e'
   in entrambe dal 01/09/2026.

   La tabella padri→tagli NON sta qui: è il componente
   Shared/SectioningPricingBlock.razor.css.
   =========================== */

.page-container[b-nb7pp27h6k] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}/* Cursore "in caricamento" su tutta la pagina mentre i dati si caricano */
.page-container.is-loading[b-nb7pp27h6k],
.page-container.is-loading *[b-nb7pp27h6k] {
    cursor: progress;
}.page-header[b-nb7pp27h6k] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}.page-header-left[b-nb7pp27h6k] {
    flex: 1;
}.page-title[b-nb7pp27h6k] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}.page-title svg[b-nb7pp27h6k] {
    color: var(--color-primary);
    flex-shrink: 0;
}.page-subtitle[b-nb7pp27h6k] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}/* Filter bar */
.filter-bar[b-nb7pp27h6k] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}.filter-group[b-nb7pp27h6k] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}.filter-group-check[b-nb7pp27h6k] {
    min-width: auto;
}.filter-label[b-nb7pp27h6k] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}.filter-input[b-nb7pp27h6k] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}.filter-input:focus[b-nb7pp27h6k] {
    border-color: var(--color-primary);
}/* Toggle switch (slider) — controllo booleano della filter-bar */
.switch[b-nb7pp27h6k] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) 0;
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
}.switch input[b-nb7pp27h6k] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}.slider[b-nb7pp27h6k] {
    position: relative;
    flex-shrink: 0;
    width: 38px;
    height: 20px;
    border-radius: 10px;
    background-color: var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}.slider[b-nb7pp27h6k]::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--bg-primary);
    transition: transform var(--transition-fast) var(--transition-ease);
}.switch input:checked + .slider[b-nb7pp27h6k] {
    background-color: var(--color-primary);
}.switch input:checked + .slider[b-nb7pp27h6k]::before {
    transform: translateX(18px);
}.switch input:focus-visible + .slider[b-nb7pp27h6k] {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}.switch-text[b-nb7pp27h6k] {
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
}/* Summary Stats
   GRIGLIA e non flex, diversamente dalle altre pagine: qui le schede sono NOVE, e
   con `flex: 1` quella che va a capo da sola si stira per tutta la riga — una
   scheda larga 1200 px accanto a otto larghe 140. Con auto-fit tutte hanno la
   stessa misura e il ritorno a capo non si nota. */
.summary-stats[b-nb7pp27h6k] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}.stat-card[b-nb7pp27h6k] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}.stat-label[b-nb7pp27h6k] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}.stat-value[b-nb7pp27h6k] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}/* Alert Bars */
.alert-bar[b-nb7pp27h6k] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}.alert-bar-danger[b-nb7pp27h6k] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}.alert-bar-close[b-nb7pp27h6k] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}.alert-bar-close:hover[b-nb7pp27h6k] {
    opacity: 1;
}/* Search Bar */
.search-bar[b-nb7pp27h6k] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}.search-input-wrapper[b-nb7pp27h6k] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}.search-icon[b-nb7pp27h6k] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}.search-input[b-nb7pp27h6k] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}.search-input[b-nb7pp27h6k]::placeholder {
    color: var(--text-muted);
}.search-clear[b-nb7pp27h6k] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}.search-clear:hover[b-nb7pp27h6k] {
    color: var(--color-primary);
}.search-count[b-nb7pp27h6k] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}/* Loading / Empty States */
.loading-state[b-nb7pp27h6k],
.empty-state[b-nb7pp27h6k] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}.empty-state svg[b-nb7pp27h6k] {
    opacity: 0.4;
}.empty-state-text[b-nb7pp27h6k] {
    font-size: var(--font-size-base);
    margin: 0;
}
/* Riga sotto lo stato vuoto: dice che cosa il report NON sta elencando. Più
   piccola del messaggio, perché è una precisazione e non la notizia. */
.empty-state-note[b-nb7pp27h6k] {
    margin: 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    max-width: 52ch;
    text-align: center;
}.btn-outline-primary[b-nb7pp27h6k] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}.btn-outline-primary:hover[b-nb7pp27h6k] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}.btn-outline-secondary[b-nb7pp27h6k] {
    background: transparent;
    color: var(--text-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}.btn-outline-secondary:hover[b-nb7pp27h6k] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    border-color: var(--color-primary);
}

@media (max-width: 768px) {
    .page-header[b-nb7pp27h6k] {
        flex-direction: column;
        gap: var(--space-3);
    }    .page-container[b-nb7pp27h6k] {
        padding: var(--space-4) var(--space-2);
    }}

/* ═══ STAMPA ═══ */
@media print {
    /* Nascondi la UI interattiva */
    .filter-bar[b-nb7pp27h6k],
    .search-bar[b-nb7pp27h6k],
    .alert-bar[b-nb7pp27h6k],
    .page-header-right[b-nb7pp27h6k] {
        display: none !important;
    }    .page-container[b-nb7pp27h6k],
    .page-container.is-loading[b-nb7pp27h6k],
    .page-container.is-loading *[b-nb7pp27h6k] {
        cursor: auto !important;
    }    .page-container[b-nb7pp27h6k] {
        max-width: none;
        padding: 0;
    }    .page-title[b-nb7pp27h6k] {
        font-size: 16pt;
    }    /* La stampa della TABELLA — bordi netti, intestazione ripetuta, niente
       scroll — sta in Shared/LotPricingBlock.razor.css insieme alla tabella:
       il CSS isolato non attraversa il confine del componente, quindi tenerla
       qui vorrebbe dire scriverla e non vederla mai applicata. */
    /* Le card di riepilogo restano, ma senza sfondo pesante */
    .summary-stats[b-nb7pp27h6k] {
        page-break-inside: avoid;
    }    .stat-card[b-nb7pp27h6k] {
        border: 1px solid #333;
    }}

/* =============================================================================
   PRICING — evidenze proprie di questo report
   ========================================================================== */

/* Scarto di ripartizione oltre l'arrotondamento atteso. */
.stat-card-warn[b-nb7pp27h6k] {
    border-color: var(--color-warning-border, #e0b050);
    background: var(--color-warning-bg, #fff6e0);
}

/* Il conteggio delle righe senza costo di gestione sta DENTRO la card «Valore + gestione», non
   accanto: e' cio' che spiega perche' quel totale e' piu' basso del reale. */
.stat-note[b-nb7pp27h6k] {
    display: block;
    margin-top: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: #8a6100;
    text-transform: none;
    letter-spacing: 0;
    cursor: help;
}
/* =============================================================================
   ELABORAZIONE PRICING — comando, conferma, esito
   La chrome di conferma vive in copie scoped (CLAUDE.md §«CSS di componente»):
   qui si porta quella che serve a questa pagina, la stessa della lista lotti.
   ========================================================================== */

/* Il comando che SCRIVE, accanto a «Carica» che legge: pieno contro contornato,
   perché la differenza fra i due va vista prima di leggerne l'etichetta. */
.btn-action[b-nb7pp27h6k] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    border: var(--border-width-thin) solid var(--color-primary);
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}.btn-action:disabled[b-nb7pp27h6k] {
    opacity: 0.5;
    cursor: not-allowed;
}.overlay[b-nb7pp27h6k] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
}.confirm-dialog[b-nb7pp27h6k] {
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    padding: var(--space-6);
    max-width: 480px;
    width: calc(100% - var(--space-8));
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}.confirm-dialog h3[b-nb7pp27h6k] {
    margin: 0;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}.confirm-dialog p[b-nb7pp27h6k] {
    margin: 0;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
}.confirm-icon[b-nb7pp27h6k] {
    color: var(--color-primary);
}/* Nota, non avviso: l'elaborazione non è distruttiva e non tocca i costi.
   Un riquadro rosso qui direbbe una cosa falsa. */
.confirm-note[b-nb7pp27h6k] {
    padding: var(--space-2) var(--space-3);
    background-color: var(--bg-secondary);
    border-left: var(--border-width-thick) solid var(--color-primary);
}.confirm-actions[b-nb7pp27h6k] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-3);
    margin-top: var(--space-2);
}/* Esito. Verde quando la corsa ha chiuso pulita, ambra quando ha lasciato righe
   senza prezzo: sono due esiti diversi e portano a due conclusioni diverse. */
.alert-bar-success[b-nb7pp27h6k] {
    background-color: #edf7ed;
    border-left-color: var(--color-success, #2e7d32);
    color: #1e4620;
}.alert-bar-warning[b-nb7pp27h6k] {
    background-color: var(--color-warning-bg, #fff6e0);
    border-left-color: var(--color-warning, #e0b050);
    color: var(--color-warning-text, #8a5a00);
}

/* =============================================================================
   INTESTAZIONE E FILTRI PROPRI DELLA GIORNATA
   ========================================================================== */

/* Header con il pulsante «indietro»: pastiglia, separatore, titolo
   (CLAUDE.md, «Header di pagina»). */
.page-header-left[b-nb7pp27h6k] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.page-heading[b-nb7pp27h6k] {
    min-width: 0;
}

/* ===== DateField condiviso dentro la barra filtri =====
   Il controllo rende per conto suo un .form-group con la sua .form-label: gli
   ::deep lo riportano alla tipografia della barra, così non risulta un campo di
   form capitato in mezzo ai filtri. È la stessa ricetta di
   DocumentCostsByItem.razor.css — la barra filtri con le date esiste già in
   questo repository, e non ne serviva una seconda versione. */
.filter-group-date[b-nb7pp27h6k] {
    min-width: 240px;
}

.filter-group-date[b-nb7pp27h6k]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
    /* Il .form-group globale porta 12px di margine inferiore: serve a distanziare
       i campi di una FORM, e in una barra filtri alza il campo di 12px rispetto
       ai controlli accanto. Con `align-items: flex-end` sulla barra il difetto
       non si vede sui bordi del gruppo — che restano allineati — ma solo su
       quelli del campo, che è ciò che l'occhio segue. */
    margin-bottom: 0;
}

.filter-group-date[b-nb7pp27h6k]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-date[b-nb7pp27h6k]  .date-input {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Le frecce ai lati del selettore: la lettura tipica è «ieri, e poi il giorno
   prima», e con il solo selettore ogni passo indietro costa tre clic.
   `align-items: flex-end` le allinea al CAMPO e non all'etichetta, che il
   DateField rende sopra il campo. */
.date-stepper[b-nb7pp27h6k] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-1);
}

.date-stepper[b-nb7pp27h6k]  .form-group {
    flex: 1;
}

/* Alte quanto il campo che affiancano: --control-height è la stessa misura che il
   DateField dà al proprio input, ed è il token con cui MenuBackLink, HelpLink e
   RefreshButton si allineano fra loro. Un'altezza scritta a mano qui sarebbe
   giusta finché il token non cambia. */
.date-step[b-nb7pp27h6k] {
    flex-shrink: 0;
    height: var(--control-height);
    padding: 0 var(--space-3);
    line-height: 1;
    font-size: var(--font-size-lg);
}

/* «Carica/Aggiorna» con la data cambiata ma non ancora caricata: pieno invece di
   contornato. Non è un avviso — non c'è niente di sbagliato — è il pulsante che
   dice di essere quello da premere. */
.btn-outline-primary.is-stale[b-nb7pp27h6k] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.filter-spacer[b-nb7pp27h6k] {
    flex: 1;
}

/* «5 lotti · 2 mostrati»: il totale è della giornata, l'elenco è filtrato, e
   dirlo qui evita di far credere che i numeri accanto siano quelli del filtro. */
.stat-note[b-nb7pp27h6k] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-normal);
    color: var(--text-muted);
    margin-left: var(--space-1);
}

/* =============================================================================
   PASTIGLIE DI STATO

   Le stesse pastiglie compaiono su DUE FONDI: bianco nell'elenco di sinistra,
   navy sulla riga selezionata e sulla banda del pannello. La palette base e'
   quella per fondo chiaro; le varianti chiare sono dichiarate dove il fondo e'
   scuro. Una sola palette per entrambi e' esattamente il difetto gia' pagato una
   volta su questa famiglia di pagine — testo navy su fondo navy.
   ========================================================================== */
.chip[b-nb7pp27h6k] {
    display: inline-block;
    padding: 1px var(--space-2);
    font-size: var(--font-size-2xs, 0.65rem);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 1px solid;
    white-space: nowrap;
    flex-shrink: 0;
}

/* su fondo CHIARO */
.chip-ok[b-nb7pp27h6k]      { color: var(--color-success); border-color: var(--color-success); background-color: rgba(40, 167, 69, 0.10); }
.chip-todo[b-nb7pp27h6k]    { color: var(--color-action, #B22222); border-color: var(--color-action, #B22222); background-color: rgba(178, 34, 34, 0.08); }
.chip-partial[b-nb7pp27h6k],
.chip-coef[b-nb7pp27h6k]    { color: #8a5a00; border-color: #e0b000; background-color: rgba(255, 193, 7, 0.18); }
.chip-empty[b-nb7pp27h6k]   { color: var(--text-muted); border-color: var(--color-gray-300); background-color: var(--bg-secondary); }

/* su fondo NAVY: riga selezionata e banda del pannello */
.lot-item.is-selected .chip-ok[b-nb7pp27h6k],
.lot-band .chip-ok[b-nb7pp27h6k]      { color: #7ee2a0; border-color: #7ee2a0; background-color: rgba(126, 226, 160, 0.12); }
.lot-item.is-selected .chip-todo[b-nb7pp27h6k],
.lot-band .chip-todo[b-nb7pp27h6k]    { color: #ff9d9d; border-color: #ff9d9d; background-color: rgba(255, 157, 157, 0.12); }
.lot-item.is-selected .chip-partial[b-nb7pp27h6k],
.lot-item.is-selected .chip-coef[b-nb7pp27h6k],
.lot-band .chip-partial[b-nb7pp27h6k],
.lot-band .chip-coef[b-nb7pp27h6k]    { color: var(--color-warning); border-color: var(--color-warning); background-color: rgba(255, 193, 7, 0.14); }
.lot-item.is-selected .chip-empty[b-nb7pp27h6k],
.lot-band .chip-empty[b-nb7pp27h6k]   { color: var(--color-gray-400); border-color: var(--color-gray-400); background-color: rgba(173, 181, 189, 0.12); }

/* =============================================================================
   ELENCO A SINISTRA, LOTTO A DESTRA

   L'elenco e' la checklist della giornata; il pannello e' il lotto su cui si sta
   lavorando. I pannelli ci sono TUTTI e se ne mostra uno: e' cio' che permette
   alla stampa di uscire come sequenza continua (vedi in fondo).
   ========================================================================== */
.split[b-nb7pp27h6k] {
    display: flex;
    gap: var(--space-4);
    align-items: flex-start;
}

.split-list[b-nb7pp27h6k] {
    width: 320px;
    flex-shrink: 0;
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    /* Con quaranta lotti la colonna non deve allungare la pagina: scorre da se'
       e resta accanto al pannello invece che sopra di esso. */
    max-height: calc(100vh - 220px);
    overflow-y: auto;
}

.split-detail[b-nb7pp27h6k] {
    flex: 1;
    min-width: 0;   /* senza, una tabella larga sfonda il contenitore invece di scorrere */
}

/* ---------- voce dell'elenco ---------- */
.lot-item[b-nb7pp27h6k] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: var(--space-3) var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    cursor: pointer;
    user-select: none;
}

.lot-item:last-child[b-nb7pp27h6k] {
    border-bottom: none;
}

.lot-item:hover[b-nb7pp27h6k] {
    background-color: var(--bg-secondary);
}

.lot-item.is-selected[b-nb7pp27h6k] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.lot-item-top[b-nb7pp27h6k] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    justify-content: space-between;
}

.lot-item-id[b-nb7pp27h6k] {
    font-weight: var(--font-weight-bold);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lot-item-sub[b-nb7pp27h6k] {
    display: flex;
    gap: var(--space-3);
    font-size: var(--font-size-xs);
    font-variant-numeric: tabular-nums;
    color: var(--text-muted);
}

.lot-item.is-selected .lot-item-sub[b-nb7pp27h6k] {
    /* --text-muted e' il grigio del secondario SU FONDO CHIARO: sulla riga
       selezionata scenderebbe sotto 2,5:1. */
    color: var(--color-gray-400);
}

.lot-item-flags[b-nb7pp27h6k] {
    display: flex;
    gap: var(--space-1);
}

/* Fasce di resa: due palette, perche' la voce cambia fondo quando e' selezionata. */
.lot-item-sub .resa-poor[b-nb7pp27h6k]  { color: var(--color-danger); }
.lot-item-sub .resa-good[b-nb7pp27h6k]  { color: var(--color-gray-600); }
.lot-item-sub .resa-great[b-nb7pp27h6k] { color: var(--color-success); }
/* LA FASCIA CHE IL LOTTO NON HA: oltre il 100% il sezionamento ha prodotto piu'
   di quanto consumato, che scartando ossa e sfridi e' impossibile. E' un difetto
   dei DATI, non una resa eccellente: ambra, perche' il verde direbbe «ottimo»
   proprio dove c'e' da guardare, e il rosso qui vuol dire «resa bassa». */
.lot-item-sub .resa-anomaly[b-nb7pp27h6k] { color: #8a5a00; }

.lot-item.is-selected .lot-item-sub .resa-poor[b-nb7pp27h6k]  { color: #ff9d9d; }
.lot-item.is-selected .lot-item-sub .resa-good[b-nb7pp27h6k]  { color: var(--text-on-primary); }
.lot-item.is-selected .lot-item-sub .resa-great[b-nb7pp27h6k] { color: #7ee2a0; }
.lot-item.is-selected .lot-item-sub .resa-anomaly[b-nb7pp27h6k] { color: var(--color-warning); }

/* ---------- pannello del lotto ---------- */
.lot-panel[b-nb7pp27h6k] {
    display: none;
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    margin-bottom: var(--space-4);
}

.lot-panel.is-current[b-nb7pp27h6k] {
    display: block;
}

/* `flex-wrap: wrap` SEMPRE, non solo sotto una soglia. La banda porta numero,
   pastiglie, quattro metriche e il comando: con l'elenco che si prende 320 px,
   al pannello ne restano ~890 e il pulsante «Elabora» finiva FUORI dal riquadro
   — non tagliato da uno scroll, proprio disegnato oltre il bordo, perché i figli
   hanno flex-shrink: 0 e il contenitore non scorre. Con il ritorno a capo la
   banda diventa alta due righe invece di perdere un comando. */
.lot-band[b-nb7pp27h6k] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Il numero di lotto e' un collegamento al report per singolo lotto: la vista di
   giornata serve a TROVARE il lotto da guardare, quello per lotto e' dove lo si
   guarda. Si apre in una scheda nuova perche' la giornata resta il punto di
   riferimento. */
.lot-id[b-nb7pp27h6k] {
    font-weight: var(--font-weight-bold);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    color: var(--text-on-primary);
    text-decoration: none;
    border-bottom: 1px solid transparent;
}

.lot-id:hover[b-nb7pp27h6k] {
    color: var(--text-on-primary);
    border-bottom-color: var(--text-on-primary);
}

.lot-metrics[b-nb7pp27h6k] {
    margin-left: auto;
    display: flex;
    align-items: flex-start;
    gap: var(--space-4);
    text-align: right;
    flex-shrink: 0;
}

.lot-metric[b-nb7pp27h6k] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.lot-metric-label[b-nb7pp27h6k] {
    font-size: var(--font-size-xs);
    color: var(--color-gray-400);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.lot-metric-value[b-nb7pp27h6k] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* Il prezzo e' l'unico dato DERIVATO — valore diviso quantita' — e il filo
   verticale lo dice senza scriverlo. */
.lot-metric-derived[b-nb7pp27h6k] {
    padding-left: var(--space-4);
    border-left: var(--border-width-thin) solid rgba(255, 255, 255, 0.25);
}

.lot-metric-value.resa-poor[b-nb7pp27h6k]  { color: #ff9d9d; }
.lot-metric-value.resa-good[b-nb7pp27h6k]  { color: var(--text-on-primary); }
.lot-metric-value.resa-great[b-nb7pp27h6k] { color: #7ee2a0; }
.lot-metric-value.resa-anomaly[b-nb7pp27h6k] { color: var(--color-warning); }

/* Il comando che SCRIVE sta sulla banda del pannello: contornato sul navy, pieno
   e rosso al passaggio — la differenza fra leggere e scrivere va vista prima di
   leggerne l'etichetta. */
.lot-run[b-nb7pp27h6k] {
    flex-shrink: 0;
    background-color: transparent;
    border-color: rgba(255, 255, 255, 0.45);
    color: var(--text-on-primary);
}

.lot-run:hover:not(:disabled)[b-nb7pp27h6k] {
    background-color: var(--color-action, #B22222);
    border-color: var(--color-action, #B22222);
}

.lot-body[b-nb7pp27h6k] {
    padding: var(--space-3);
}

.lot-empty[b-nb7pp27h6k] {
    margin: 0;
    padding: var(--space-3);
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

/* ---------- schermi stretti ----------
   La colonna va SOPRA il pannello: e' il limite dichiarato di questa
   impaginazione, e su schermo stretto non c'e' modo di tenerle affiancate senza
   comprimere la tabella fino a renderla illeggibile. */
@media (max-width: 1100px) {
    .split[b-nb7pp27h6k] {
        flex-direction: column;
    }

    .split-list[b-nb7pp27h6k] {
        width: 100%;
        max-height: 320px;
    }

    .lot-band[b-nb7pp27h6k] {
        flex-wrap: wrap;
    }

    .lot-metrics[b-nb7pp27h6k] {
        margin-left: 0;
        width: 100%;
        justify-content: flex-start;
        text-align: left;
        gap: var(--space-4);
    }
}

/* =============================================================================
   STAMPA — LA GIORNATA INTERA

   A video si vede un lotto per volta; su carta escono TUTTI, uno per riquadro,
   in sequenza continua. E' il limite noto di questa impaginazione, ed e' anche
   la ragione per cui i pannelli restano nel DOM: stampare il solo lotto
   selezionato darebbe un foglio che non e' la giornata.
   ========================================================================== */
@media print {
    .split[b-nb7pp27h6k] {
        display: block;
    }

    .split-list[b-nb7pp27h6k],
    .lot-run[b-nb7pp27h6k] {
        display: none !important;
    }

    .lot-panel[b-nb7pp27h6k] {
        display: block !important;
        break-inside: avoid;
        page-break-inside: avoid;
        border: 1px solid #333;
        margin-bottom: 8pt;
    }

    .lot-band[b-nb7pp27h6k] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}
/* /Components/Pages/Warehouse/Reports/Shared/LotPricingBlock.razor.rz.scp.css */
/* =============================================================================
   LotPricingBlock — tabella «padri → figli» del pricing

   Queste regole vivevano in LotPricing.razor.css. Sono state SPOSTATE, non
   copiate: due copie divergono, e la prima divergenza è già successa una volta
   su questa riga (testo navy su fondo navy, 01/09/2026).

   Il CSS isolato di Blazor vale solo sul markup dichiarato dentro QUESTO
   componente: da quando la tabella sta qui, le sue regole devono stare qui
   (CLAUDE.md, «CSS di componente — lo scoped non si condivide»).

   Il chrome di pagina — page-container, filter-bar, stat-card, alert-bar,
   overlay/confirm-dialog — resta invece nelle pagine ospiti, dove ciascuna ha
   già la sua copia come le altre ~320 pagine del repository.
   ========================================================================== */

/* ---------- contenitore e tabella ---------- */
/* `container-type: inline-size` fa di questo riquadro il riferimento delle query
   in fondo al file. Serve perche' il blocco vive in DUE contenitori di larghezza
   diversa: la pagina intera nel report per singolo lotto, e i ~890 px del
   pannello di destra nel report di giornata. Con una @media la riga del padre si
   sfaldava a schermo largo — la finestra e' grande, il contenitore no — e il
   nome dell'articolo finiva sotto al codice. La larghezza che conta e' quella
   del contenitore, e va misurata quella. */
.report-table-wrapper[b-cn1wu40u7t] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
    container-type: inline-size;
}

.report-table[b-cn1wu40u7t] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
    table-layout: fixed;
}

/* Le celle di dettaglio possono troncare con ellissi mantenendo l'allineamento
   a larghezza fissa. */
.report-table td[b-cn1wu40u7t] {
    overflow: hidden;
    text-overflow: ellipsis;
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.report-table thead[b-cn1wu40u7t] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-cn1wu40u7t] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    text-align: left;
}

.report-table thead th.col-num[b-cn1wu40u7t] { text-align: right; }
.report-table thead th.col-um[b-cn1wu40u7t]  { text-align: center; }

/* Prima riga thead = titolo della sezione con i totali. */
.report-table thead tr:first-child th[b-cn1wu40u7t] {
    font-size: var(--font-size-sm);
    text-transform: none;
    letter-spacing: 0;
    border-bottom: var(--border-width-thin) solid rgba(255, 255, 255, 0.15);
    font-weight: var(--font-weight-bold);
}

/* Seconda riga thead = intestazioni colonna (stile standard xs uppercase). */
.report-table thead tr.col-head-row th[b-cn1wu40u7t] {
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-semibold);
    border-bottom: 2px solid var(--color-primary);
}

.report-table tbody tr[b-cn1wu40u7t] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-cn1wu40u7t] { border-bottom: none; }
.report-table tbody tr:hover[b-cn1wu40u7t] { background-color: rgba(11, 36, 62, 0.03); }
.report-table tbody tr:nth-child(even)[b-cn1wu40u7t] { background-color: var(--bg-secondary); }
.report-table tbody tr:nth-child(even):hover[b-cn1wu40u7t] { background-color: rgba(11, 36, 62, 0.05); }

.col-code[b-cn1wu40u7t] { text-align: left; }
.col-desc[b-cn1wu40u7t] {
    text-align: left;
    min-width: 200px;
    max-width: 320px;
    white-space: normal;
}
.col-um[b-cn1wu40u7t]  { text-align: center; }
.col-num[b-cn1wu40u7t] { text-align: right; }

.cell-code[b-cn1wu40u7t] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.85;
}

.group-count[b-cn1wu40u7t] {
    font-weight: var(--font-weight-normal);
    text-transform: none;
    letter-spacing: 0;
    opacity: 0.75;
}

/* ---------- righe di gruppo ---------- */
.report-table tbody tr.group-row[b-cn1wu40u7t] {
    background-color: transparent !important;
}

.report-table tbody tr.group-row td[b-cn1wu40u7t] {
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.report-table tbody tr.group-row:hover[b-cn1wu40u7t] {
    background-color: transparent !important;
}

/* La riga del padre è una riga di gruppo «di secondo livello»: qui si ANNULLA
   il maiuscolo e la spaziatura che .group-row impone a tutte le righe di gruppo.
   Senza questa regola il nome del padre si stampa tutto in maiuscolo — è il modo
   in cui il difetto si presenterebbe. Fondo e colore li mette .parent-head-row. */
.report-table tbody tr.group-row-month td[b-cn1wu40u7t] {
    font-size: var(--font-size-xs);
    padding: var(--space-2) var(--space-3);
    text-transform: none;
    letter-spacing: 0;
}

/* Rientro leggero per le righe di dettaglio, maggiore per quelle sotto il padre. */
.report-table tbody tr.doc-detail td:first-child[b-cn1wu40u7t] { padding-left: var(--space-5); }
.report-table tbody tr.doc-detail-partita td:first-child[b-cn1wu40u7t] { padding-left: var(--space-6); }

/* ---------- sotto-gruppi Finali / Scarti ---------- */
.report-table tbody tr.worktype-row td[b-cn1wu40u7t] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-1) var(--space-3) var(--space-1) var(--space-4);
    border-top: none;
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.worktype-row td strong[b-cn1wu40u7t] { color: var(--color-primary); }

.worktype-badge[b-cn1wu40u7t] {
    display: inline-block;
    padding: 0 var(--space-2);
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-on-primary);
    background-color: var(--color-gray-700);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Sotto-gruppo Scarti: tono più tenue rispetto ai prodotti finali. */
.report-table tbody tr.worktype-row-waste td[b-cn1wu40u7t] { background-color: var(--bg-primary); }
.worktype-badge-waste[b-cn1wu40u7t] { background-color: var(--color-gray-500, var(--color-gray-700)); }

/* =============================================================================
   RIGA DEL PADRE — identità a sinistra, metriche incolonnate a destra
   I padri si confrontano fra loro: le misure in colonna si scorrono, quelle in
   riga di testo vanno lette una per una.

   IL FONDO È --color-primary. Nessun colore di testo di questa sezione può
   venire dalla palette pensata per il fondo chiaro: --color-primary scrive navy
   su navy, --text-muted e --color-gray-700 stanno sotto 2,5:1. Le controparti
   sul fondo scuro sono --text-on-primary e --color-gray-400.
   ========================================================================== */
.report-table tbody tr.parent-head-row td[b-cn1wu40u7t] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    border-top: 2px solid var(--color-primary-dark, var(--color-primary));
}

.report-table tbody tr.parent-head-row td strong[b-cn1wu40u7t] { color: var(--text-on-primary); }

.parent-head[b-cn1wu40u7t] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
}

/* min-width: 0 e non auto — senza, una descrizione lunga spinge le metriche
   fuori dalla cella invece di andare a capo. */
.parent-identity[b-cn1wu40u7t] {
    min-width: 0;
    flex: 1;
}

.parent-head-main[b-cn1wu40u7t] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: var(--space-2);
}

/* Il codice è la chiave: monospace per allinearsi verticalmente fra padri. Si
   distingue dal nome per il carattere e il peso, non per il colore. */
.parent-code[b-cn1wu40u7t] {
    font-family: var(--font-mono, ui-monospace, "SFMono-Regular", Menlo, monospace);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold, 600);
    color: var(--text-on-primary);
}

.parent-name[b-cn1wu40u7t] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    color: var(--text-on-primary);
    letter-spacing: 0.2px;
}

.parent-meta[b-cn1wu40u7t] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-top: var(--space-1);
    font-size: var(--font-size-xs);
    color: var(--color-gray-400);
}

.parent-work-link[b-cn1wu40u7t] {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.parent-work-link:hover[b-cn1wu40u7t] {
    opacity: 1;
    text-decoration-thickness: 2px;
}

/* ---------- metriche del padre ---------- */
.parent-metrics[b-cn1wu40u7t] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-4);
    flex-shrink: 0;
    text-align: right;
}

.parent-metric[b-cn1wu40u7t] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.parent-metric-label[b-cn1wu40u7t] {
    font-size: var(--font-size-xs);
    color: var(--color-gray-400);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.parent-metric-value[b-cn1wu40u7t] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold, 600);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.parent-metric-unit[b-cn1wu40u7t] {
    font-weight: var(--font-weight-normal, 400);
    color: var(--color-gray-400);
}

/* Il prezzo è l'unico dato DERIVATO — valore diviso quantità — e il filo
   verticale lo dice senza scriverlo. L'enfasi la porta il filo, non il colore:
   su fondo navy --color-primary sarebbe il colore del fondo. */
.parent-metric-derived[b-cn1wu40u7t] {
    padding-left: var(--space-4);
    border-left: var(--border-width-thin) solid var(--border-color-light);
}

.parent-metric-derived .parent-metric-value[b-cn1wu40u7t] { color: var(--text-on-primary); }

/* Righe di scarico con prezzi diversi: il numero è una media ponderata, non il
   prezzo di una riga. Ambra e non rosso — non è un difetto. Ambra CHIARA
   (--color-warning) e non il bruno da fondo bianco, che su navy sparisce. */
.parent-metric-mixed .parent-metric-value[b-cn1wu40u7t] { color: var(--color-warning); }

.parent-metric-tag[b-cn1wu40u7t] {
    margin-left: var(--space-1);
    color: var(--color-warning);
    font-style: italic;
    text-transform: none;
    letter-spacing: 0;
}

/* La resa resta colorata per fascia, ritarata sul fondo navy: il grigio scuro
   della fascia intermedia era illeggibile quanto il navy su navy. */
.parent-metric-value.resa-poor[b-cn1wu40u7t]  { color: var(--color-danger); }
.parent-metric-value.resa-good[b-cn1wu40u7t]  { color: var(--text-on-primary); }
.parent-metric-value.resa-great[b-cn1wu40u7t] { color: var(--color-success); }

/* Oltre il 100% il padre ha prodotto piu' di quanto ha consumato: lotto non corretto, quindi
   avviso e non successo. Stessa regola e stesso tono del blocco sezionamenti. */
.parent-metric-value.resa-anomaly[b-cn1wu40u7t] { color: var(--color-warning); }

/* ---------- pastiglie delle partite ----------
   Le regole NON stanno piu' qui: il markup e' del componente PartitaBadges, e uno scoped
   raggiunge solo il markup del proprio componente. Vivono in PartitaBadges.razor.css, dove
   servono anche al blocco dei sezionamenti. */

/* =============================================================================
   COEFFICIENTE E COLLEGAMENTO ALLA SUA MANUTENZIONE
   ========================================================================== */

/* Coefficiente a zero: il figlio non partecipa alla ripartizione, e i suoi
   fratelli assorbono anche la sua quota di monte. Non è un errore — può essere
   uno scarto voluto — ma è l'unico posto in cui l'operatore può accorgersene
   guardando i numeri, quindi si vede. */
.multiplier-missing[b-cn1wu40u7t] {
    color: var(--color-warning-text, #8a5a00);
    background: var(--color-warning-bg, #fff6e0);
    font-weight: 600;
}

/* Il collegamento sta DENTRO la cella numerica, quindi la cella resta allineata
   a destra e il valore non si sposta quando l'icona c'è o non c'è. */
.multiplier-cell[b-cn1wu40u7t] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-2);
    white-space: nowrap;
}

/* Discreto finché non serve: si accende al passaggio sulla riga. Un'icona sempre
   accesa su ogni figlio trasformerebbe la colonna in una fila di pulsanti e
   toglierebbe attenzione ai numeri. */
.multiplier-edit[b-cn1wu40u7t] {
    display: inline-flex;
    align-items: center;
    color: var(--text-muted);
    opacity: 0.45;
    transition: opacity var(--transition-fast) var(--transition-ease),
                color var(--transition-fast) var(--transition-ease);
}

tr:hover .multiplier-edit[b-cn1wu40u7t],
.multiplier-edit:focus-visible[b-cn1wu40u7t] {
    opacity: 1;
    color: var(--color-primary);
}

/* Sul coefficiente a zero resta sempre visibile: è la riga su cui va presa una
   decisione, e l'azione per prenderla non deve essere da scoprire. */
.multiplier-missing .multiplier-edit[b-cn1wu40u7t] {
    opacity: 1;
    color: inherit;
}

/* ---------- contenitori stretti ---------- */
/* Le metriche vanno sotto l'identità invece di comprimerla. La soglia si misura
   sul CONTENITORE (vedi .report-table-wrapper) e non sulla finestra: nel report
   di giornata il blocco sta in un pannello di ~890 px anche con la finestra a
   1400, e una @media non se ne accorgerebbe. */
@container (max-width: 1100px) {
    .parent-head[b-cn1wu40u7t] {
        flex-direction: column;
        gap: var(--space-2);
    }

    .parent-metrics[b-cn1wu40u7t] {
        margin-left: 0;
        text-align: left;
    }
}

/* ---------- stampa ---------- */
@media print {
    .report-table-wrapper[b-cn1wu40u7t] {
        overflow: visible;
        border: 1px solid #333;
        page-break-inside: auto;
    }

    .section-block[b-cn1wu40u7t] {
        margin-bottom: 10pt;
    }

    .report-table[b-cn1wu40u7t] {
        font-size: 8pt;
    }

    /* Intestazione ripetuta su ogni pagina. */
    .report-table thead[b-cn1wu40u7t] {
        display: table-header-group;
    }

    .report-table thead th[b-cn1wu40u7t],
    .report-table tbody tr.parent-head-row td[b-cn1wu40u7t],
    .report-table tbody tr.worktype-row td[b-cn1wu40u7t] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .report-table tbody tr[b-cn1wu40u7t],
    .report-table thead tr[b-cn1wu40u7t] {
        page-break-inside: avoid;
    }

    /* Il collegamento alla manutenzione del coefficiente non si stampa: su carta
       non è cliccabile e ruba spazio alla colonna dei numeri. */
    .multiplier-edit[b-cn1wu40u7t] {
        display: none !important;
    }
}
/* /Components/Pages/Warehouse/Reports/Shared/PartitaBadges.razor.rz.scp.css */
/* ===========================
   PartitaBadges - Scoped Styles

   Le pastiglie delle partite, per i due blocchi di pricing (lotti e sezionamenti). Le regole
   vivevano in LotPricingBlock.razor.css: da lì non avrebbero mai raggiunto il blocco dei
   sezionamenti, perche' uno scoped raggiunge solo il markup del PROPRIO componente
   (CLAUDE.md, «lo scoped non si condivide»).

   Il fondo di riferimento e' la banda navy della testata padre: i colori sono tarati su quella.
   =========================== */

.partita-badges[b-rhvogrvi97] {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-1);
    margin-top: 0;
}

.partita-badges-label[b-rhvogrvi97] {
    font-size: var(--font-size-2xs, 0.65rem);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--text-on-primary);
    opacity: 0.7;
}

/* La pastiglia è un collegamento al documento d'acquisto della partita. Resta
   una pastiglia: il colore del testo cambia solo al passaggio, così una riga con
   otto partite non diventa una fila di link blu che ruba l'occhio ai numeri —
   che sono il motivo per cui si apre il report. */
.partita-badge[b-rhvogrvi97] {
    display: inline-block;
    padding: 0 var(--space-2);
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    font-variant-numeric: tabular-nums;
    line-height: 1.5;
    color: inherit;
    background-color: var(--color-primary);
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-style: dashed;
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
}

/* Il passaggio ACCENDE la pastiglia, quindi va verso il bianco: --color-primary
   qui sarebbe il colore del fondo, e il badge sparirebbe proprio mentre lo si
   punta. */
.partita-badge:hover[b-rhvogrvi97],
.partita-badge:focus-visible[b-rhvogrvi97] {
    color: var(--text-on-primary);
    border-color: var(--text-on-primary);
}

/* La pastiglia che porta a un documento preciso si distingue da quella che porta
   a un elenco: bordo pieno invece di tratteggiato. La destinazione cambia, e chi
   clicca deve poterlo vedere prima — non solo leggerlo nel tooltip. */
.partita-badge-doc[b-rhvogrvi97] {
    border-style: solid;
    border-color: var(--border-color-light);
}

.partita-badge-doc:hover[b-rhvogrvi97],
.partita-badge-doc:focus-visible[b-rhvogrvi97] {
    border-color: var(--text-on-primary);
}
/* /Components/Pages/Warehouse/Reports/Shared/RoundBalanceView.razor.rz.scp.css */
/* ===========================
   RoundBalanceView - Scoped Styles
   Stile report MTS SaaS (allineato a WebOrderStatistic01 / ArticleStockReport)

   Foglio UNICO dei tre bilanci di partita — a valore di documento, al costo, al prezzo.
   Prima viveva in due copie (RoundDocumentTraceability.razor.css e RoundCostBalance.razor.css)
   che divergevano a ogni modifica fatta su una sola delle due.

   Vale perche' il markup e' DICHIARATO in RoundBalanceView.razor: uno scoped raggiunge solo il
   markup del proprio componente (CLAUDE.md, «lo scoped non si condivide»).

   Non sta qui, e non deve: il chrome globale (.badge-nv, .badge-coll, .badge-source, la barra del
   lignaggio, .is-out-of-lineage) e' in wwwroot/css/components.css, perche' lo usano anche altre
   pagine e uno scoped non le raggiungerebbe.
   =========================== */

.page-container[b-g56pxy8fob] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Cursore "in caricamento" su tutta la pagina mentre i dati si caricano */
.page-container.is-loading[b-g56pxy8fob],
.page-container.is-loading *[b-g56pxy8fob] {
    cursor: progress;
}

.page-header[b-g56pxy8fob] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-g56pxy8fob] {
    flex: 1;
}

.page-header-right[b-g56pxy8fob] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.page-title[b-g56pxy8fob] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-g56pxy8fob] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-g56pxy8fob] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Filter bar */
.filter-bar[b-g56pxy8fob] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-group[b-g56pxy8fob] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}

.filter-group-check[b-g56pxy8fob] {
    min-width: auto;
}

.filter-label[b-g56pxy8fob] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-input[b-g56pxy8fob] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-g56pxy8fob] {
    border-color: var(--color-primary);
}

/* Toggle switch (slider) — controllo booleano della filter-bar */
.switch[b-g56pxy8fob] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) 0;
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
}

.switch input[b-g56pxy8fob] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.slider[b-g56pxy8fob] {
    position: relative;
    flex-shrink: 0;
    width: 38px;
    height: 20px;
    border-radius: 10px;
    background-color: var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.slider[b-g56pxy8fob]::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--bg-primary);
    transition: transform var(--transition-fast) var(--transition-ease);
}

.switch input:checked + .slider[b-g56pxy8fob] {
    background-color: var(--color-primary);
}

.switch input:checked + .slider[b-g56pxy8fob]::before {
    transform: translateX(18px);
}

.switch input:focus-visible + .slider[b-g56pxy8fob] {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.switch-text[b-g56pxy8fob] {
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
}

/* Summary Stats */
.summary-stats[b-g56pxy8fob] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-g56pxy8fob] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-g56pxy8fob] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-g56pxy8fob] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Alert Bars */
.alert-bar[b-g56pxy8fob] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-g56pxy8fob] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

/* Avviso «righe scoperte»: non è un errore, è una lettura da prendere con cautela. */
.alert-bar-warning[b-g56pxy8fob] {
    background-color: #fff6e5;
    border-left-color: var(--color-warning);
    color: #5c4104;
    font-weight: var(--font-weight-normal);
    align-items: flex-start;
}

.alert-bar-warning svg[b-g56pxy8fob] {
    flex-shrink: 0;
    margin-top: 2px;
}

/* Card di riepilogo del conteggio scoperto: si distingue dalle altre senza gridare. */
.stat-card-warn[b-g56pxy8fob] {
    border-color: var(--color-warning);
    background-color: #fff6e5;
}

.stat-card-warn .stat-value[b-g56pxy8fob] {
    color: #8a6100;
}

/* ═══ Marcature di provenienza della misura ═══
   «n.v.» / «n.p.» = misura ignota (nessun costo, nessun prezzo, da nessuna parte): lo zero nei
   totali NON è un valore nullo, e senza marcatura i due casi sarebbero indistinguibili.
   «coll.» = prezzo recuperato dalla fattura generata dal raggruppamento.
   «prezzo d'acquisto» = la sezione Acquisti legge una sorgente diversa dalle altre.

   Le regole stanno in wwwroot/css/components.css (sezione BADGE DI PROVENIENZA DEL PREZZO), sotto
   .report-table: le usa anche il brogliaccio costi, e uno scoped non lo raggiungerebbe. */

.alert-bar-close[b-g56pxy8fob] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-g56pxy8fob] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-g56pxy8fob] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-g56pxy8fob] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-g56pxy8fob] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-g56pxy8fob] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-g56pxy8fob]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-g56pxy8fob] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-g56pxy8fob] {
    color: var(--color-primary);
}

.search-count[b-g56pxy8fob] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-g56pxy8fob],
.empty-state[b-g56pxy8fob] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-g56pxy8fob] {
    opacity: 0.4;
}

.empty-state-text[b-g56pxy8fob] {
    font-size: var(--font-size-base);
    margin: 0;
}

.btn-outline-primary[b-g56pxy8fob] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-g56pxy8fob] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.btn-outline-secondary[b-g56pxy8fob] {
    background: transparent;
    color: var(--text-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}

.btn-outline-secondary:hover[b-g56pxy8fob] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    border-color: var(--color-primary);
}

/* Report Table */
.report-table-wrapper[b-g56pxy8fob] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table-stock[b-g56pxy8fob] {
    margin-top: var(--space-5);
}

.report-table[b-g56pxy8fob] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
    table-layout: fixed;
}

/* Le celle di dettaglio possono troncare con ellissi mantenendo l'allineamento a larghezza fissa */
.report-table td[b-g56pxy8fob] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.report-table thead[b-g56pxy8fob] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-g56pxy8fob] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    text-align: left;
}

.report-table thead th.col-num[b-g56pxy8fob] {
    text-align: right;
}

.report-table thead th.col-um[b-g56pxy8fob] {
    text-align: center;
}

/* Riga di intestazione sezione (titolo natura documento + totali sezione) */
.report-table thead tr.section-head-row th[b-g56pxy8fob],
.report-table thead tr:first-child th[b-g56pxy8fob] {
    font-size: var(--font-size-sm);
    text-transform: none;
    letter-spacing: 0;
    border-bottom: var(--border-width-thin) solid rgba(255, 255, 255, 0.15);
    font-weight: var(--font-weight-bold);
}

/* Seconda riga thead = intestazioni colonna (stile standard xs uppercase) */
.report-table thead tr.col-head-row th[b-g56pxy8fob] {
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-semibold);
    border-bottom: 2px solid var(--color-primary);
}

.report-table tbody tr[b-g56pxy8fob] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-g56pxy8fob] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-g56pxy8fob] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table tbody tr:nth-child(even)[b-g56pxy8fob] {
    background-color: var(--bg-secondary);
}

.report-table tbody tr:nth-child(even):hover[b-g56pxy8fob] {
    background-color: rgba(11, 36, 62, 0.05);
}

.report-table td[b-g56pxy8fob] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.col-code[b-g56pxy8fob] {
    text-align: left;
}

.col-desc[b-g56pxy8fob] {
    text-align: left;
    min-width: 200px;
    max-width: 320px;
    white-space: normal;
}

.col-um[b-g56pxy8fob] {
    text-align: center;
}

.col-num[b-g56pxy8fob] {
    text-align: right;
}

.cell-code[b-g56pxy8fob] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.85;
}

/* Numero documento cliccabile (sezione Acquisti → dettaglio documento in Purchasing). */
a.cell-code[b-g56pxy8fob] {
    opacity: 1;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

a.cell-code:hover[b-g56pxy8fob] {
    opacity: 0.85;
}

.cell-sub[b-g56pxy8fob] {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* Group rows (sezioni per natura documento) */
.report-table tbody tr.group-row[b-g56pxy8fob] {
    background-color: transparent !important;
}

.report-table tbody tr.group-row td[b-g56pxy8fob] {
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.report-table tbody tr.group-row-year td[b-g56pxy8fob] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    font-size: var(--font-size-sm);
    padding: var(--space-2) var(--space-3);
    border-top: 2px solid var(--color-primary);
}

.report-table tbody tr.group-row-year td strong[b-g56pxy8fob] {
    color: var(--text-on-primary);
}

.report-table tbody tr.group-row-month td[b-g56pxy8fob] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-2) var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.group-row-month td strong[b-g56pxy8fob] {
    color: var(--color-primary);
}

.report-table tbody tr.group-row-month .cell-sub[b-g56pxy8fob] {
    display: inline;
    margin-left: var(--space-2);
}

.report-table tbody tr.group-row:hover[b-g56pxy8fob] {
    background-color: transparent !important;
}

.group-count[b-g56pxy8fob] {
    font-weight: var(--font-weight-normal);
    text-transform: none;
    letter-spacing: 0;
    opacity: 0.75;
}

/* Rientro leggero per le righe di dettaglio del sotto-gruppo (Cod. art.) */
.report-table tbody tr.doc-detail td:first-child[b-g56pxy8fob] {
    padding-left: var(--space-5);
}

/* Altre partite entrate nel lotto (sezione Scarico lotto): riga secondaria sotto l'id_lotto */
.report-table tbody tr.lot-batches-row td[b-g56pxy8fob] {
    padding: var(--space-1) var(--space-3) var(--space-2) var(--space-5);
    background-color: var(--bg-secondary);
    border-top: none;
}

.lot-batches-label[b-g56pxy8fob] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    margin-right: var(--space-2);
}

.lot-batch-chip[b-g56pxy8fob] {
    display: inline-block;
    margin: 2px var(--space-1) 2px 0;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    line-height: 1.5;
    color: var(--color-primary);
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-radius: var(--radius-sm);
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

a.lot-batch-chip:hover[b-g56pxy8fob] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Card stato lotto (solo sezione Scarico lotto): verde = omogeneo, gialla = più partite */
a.lot-status-card[b-g56pxy8fob] {
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.15s ease;
}

a.lot-status-card:hover[b-g56pxy8fob] {
    opacity: 0.85;
    text-decoration: none;
}

.lot-status-card[b-g56pxy8fob] {
    display: inline-block;
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    line-height: 1.5;
    border-radius: var(--radius-sm);
    border: var(--border-width-thin) solid transparent;
    text-transform: none;
    letter-spacing: 0;
    white-space: nowrap;
}

.lot-status-card.is-homogeneous[b-g56pxy8fob] {
    background-color: var(--color-success);
    border-color: var(--color-success);
    color: #ffffff;
}

.lot-status-card.is-mixed[b-g56pxy8fob] {
    background-color: var(--color-warning);
    border-color: var(--color-warning);
    color: #212529;
}

@media (max-width: 768px) {
    .page-header[b-g56pxy8fob] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-g56pxy8fob] {
        padding: var(--space-4) var(--space-2);
    }
}

/* ═══ STAMPA ═══ */
@media print {
    /* Nascondi la UI interattiva */
    .filter-bar[b-g56pxy8fob],
    .search-bar[b-g56pxy8fob],
    .alert-bar[b-g56pxy8fob],
    .page-header-right[b-g56pxy8fob] {
        display: none !important;
    }

    .page-container[b-g56pxy8fob],
    .page-container.is-loading[b-g56pxy8fob],
    .page-container.is-loading *[b-g56pxy8fob] {
        cursor: auto !important;
    }

    .page-container[b-g56pxy8fob] {
        max-width: none;
        padding: 0;
    }

    .page-title[b-g56pxy8fob] {
        font-size: 16pt;
    }

    /* Tabelle: bordi netti, intestazioni ripetute, niente scroll */
    .report-table-wrapper[b-g56pxy8fob] {
        overflow: visible;
        border: 1px solid #333;
        page-break-inside: auto;
    }

    .section-block[b-g56pxy8fob] {
        margin-bottom: 10pt;
    }

    .report-table[b-g56pxy8fob] {
        font-size: 8pt;
    }

    .report-table thead[b-g56pxy8fob] {
        display: table-header-group; /* ripeti intestazione su ogni pagina */
    }

    .report-table thead th[b-g56pxy8fob],
    .report-table tbody tr.group-row-year td[b-g56pxy8fob],
    .report-table tbody tr.group-row-month td[b-g56pxy8fob] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .report-table tbody tr[b-g56pxy8fob],
    .report-table thead tr[b-g56pxy8fob] {
        page-break-inside: avoid;
    }

    /* Le card di riepilogo restano, ma senza sfondo pesante */
    .summary-stats[b-g56pxy8fob] {
        page-break-inside: avoid;
    }

    .stat-card[b-g56pxy8fob] {
        border: 1px solid #333;
    }
}
/* /Components/Pages/Warehouse/Reports/Shared/SectioningPricingBlock.razor.rz.scp.css */
/* =============================================================================
   SectioningPricingBlock — tabella «padri → tagli» del pricing sezionamento

   Gemella di LotPricingBlock.razor.css. Le regole sono le stesse perché le due
   tabelle DEVONO somigliarsi: chi guarda il pricing di un lotto e quello di un
   sezionamento sta leggendo lo stesso tipo di numero, e due impaginazioni
   diverse lo farebbero rileggere due volte.

   Sono due file e non uno solo perché il CSS isolato di Blazor vale sul markup
   dichiarato dentro UN componente: un foglio condiviso non raggiungerebbe né
   l'uno né l'altro. La differenza vera è in fondo — la fascia di resa ANOMALA,
   che nel sezionamento esiste e nel lotto no.
   ========================================================================== */

/* ---------- contenitore e tabella ---------- */
/* `container-type: inline-size` fa di questo riquadro il riferimento delle query
   in fondo al file. Serve perche' il blocco vive in DUE contenitori di larghezza
   diversa: la pagina intera nel report per singolo lotto, e i ~890 px del
   pannello di destra nel report di giornata. Con una @media la riga del padre si
   sfaldava a schermo largo — la finestra e' grande, il contenitore no — e il
   nome dell'articolo finiva sotto al codice. La larghezza che conta e' quella
   del contenitore, e va misurata quella. */
.report-table-wrapper[b-w56hs11u20] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
    container-type: inline-size;
}

.report-table[b-w56hs11u20] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
    table-layout: fixed;
}

/* Le celle di dettaglio possono troncare con ellissi mantenendo l'allineamento
   a larghezza fissa. */
.report-table td[b-w56hs11u20] {
    overflow: hidden;
    text-overflow: ellipsis;
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.report-table thead[b-w56hs11u20] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-w56hs11u20] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    text-align: left;
}

.report-table thead th.col-num[b-w56hs11u20] { text-align: right; }
.report-table thead th.col-um[b-w56hs11u20]  { text-align: center; }

/* Prima riga thead = titolo della sezione con i totali. */
.report-table thead tr:first-child th[b-w56hs11u20] {
    font-size: var(--font-size-sm);
    text-transform: none;
    letter-spacing: 0;
    border-bottom: var(--border-width-thin) solid rgba(255, 255, 255, 0.15);
    font-weight: var(--font-weight-bold);
}

/* Seconda riga thead = intestazioni colonna (stile standard xs uppercase). */
.report-table thead tr.col-head-row th[b-w56hs11u20] {
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-semibold);
    border-bottom: 2px solid var(--color-primary);
}

.report-table tbody tr[b-w56hs11u20] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-w56hs11u20] { border-bottom: none; }
.report-table tbody tr:hover[b-w56hs11u20] { background-color: rgba(11, 36, 62, 0.03); }
.report-table tbody tr:nth-child(even)[b-w56hs11u20] { background-color: var(--bg-secondary); }
.report-table tbody tr:nth-child(even):hover[b-w56hs11u20] { background-color: rgba(11, 36, 62, 0.05); }

.col-code[b-w56hs11u20] { text-align: left; }
.col-desc[b-w56hs11u20] {
    text-align: left;
    min-width: 200px;
    max-width: 320px;
    white-space: normal;
}
.col-um[b-w56hs11u20]  { text-align: center; }
.col-num[b-w56hs11u20] { text-align: right; }

.cell-code[b-w56hs11u20] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.85;
}

.group-count[b-w56hs11u20] {
    font-weight: var(--font-weight-normal);
    text-transform: none;
    letter-spacing: 0;
    opacity: 0.75;
}

/* ---------- righe di gruppo ---------- */
.report-table tbody tr.group-row[b-w56hs11u20] {
    background-color: transparent !important;
}

.report-table tbody tr.group-row td[b-w56hs11u20] {
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.report-table tbody tr.group-row:hover[b-w56hs11u20] {
    background-color: transparent !important;
}

/* La riga del padre è una riga di gruppo «di secondo livello»: qui si ANNULLA
   il maiuscolo e la spaziatura che .group-row impone a tutte le righe di gruppo.
   Senza questa regola il nome del padre si stampa tutto in maiuscolo — è il modo
   in cui il difetto si presenterebbe. Fondo e colore li mette .parent-head-row. */
.report-table tbody tr.group-row-month td[b-w56hs11u20] {
    font-size: var(--font-size-xs);
    padding: var(--space-2) var(--space-3);
    text-transform: none;
    letter-spacing: 0;
}

/* Rientro leggero per le righe di dettaglio, maggiore per quelle sotto il padre. */
.report-table tbody tr.doc-detail td:first-child[b-w56hs11u20] { padding-left: var(--space-5); }
.report-table tbody tr.doc-detail-partita td:first-child[b-w56hs11u20] { padding-left: var(--space-6); }

/* ---------- sotto-gruppi Finali / Scarti ---------- */
.report-table tbody tr.worktype-row td[b-w56hs11u20] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-1) var(--space-3) var(--space-1) var(--space-4);
    border-top: none;
    text-transform: none;
    letter-spacing: 0;
}

.report-table tbody tr.worktype-row td strong[b-w56hs11u20] { color: var(--color-primary); }

.worktype-badge[b-w56hs11u20] {
    display: inline-block;
    padding: 0 var(--space-2);
    margin-right: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-on-primary);
    background-color: var(--color-gray-700);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Sotto-gruppo Scarti: tono più tenue rispetto ai prodotti finali. */
.report-table tbody tr.worktype-row-waste td[b-w56hs11u20] { background-color: var(--bg-primary); }
.worktype-badge-waste[b-w56hs11u20] { background-color: var(--color-gray-500, var(--color-gray-700)); }

/* =============================================================================
   RIGA DEL PADRE — identità a sinistra, metriche incolonnate a destra
   I padri si confrontano fra loro: le misure in colonna si scorrono, quelle in
   riga di testo vanno lette una per una.

   IL FONDO È --color-primary. Nessun colore di testo di questa sezione può
   venire dalla palette pensata per il fondo chiaro: --color-primary scrive navy
   su navy, --text-muted e --color-gray-700 stanno sotto 2,5:1. Le controparti
   sul fondo scuro sono --text-on-primary e --color-gray-400.
   ========================================================================== */
.report-table tbody tr.parent-head-row td[b-w56hs11u20] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    border-top: 2px solid var(--color-primary-dark, var(--color-primary));
}

.report-table tbody tr.parent-head-row td strong[b-w56hs11u20] { color: var(--text-on-primary); }

.parent-head[b-w56hs11u20] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
}

/* min-width: 0 e non auto — senza, una descrizione lunga spinge le metriche
   fuori dalla cella invece di andare a capo. */
.parent-identity[b-w56hs11u20] {
    min-width: 0;
    flex: 1;
}

.parent-head-main[b-w56hs11u20] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: var(--space-2);
}

/* Il codice è la chiave: monospace per allinearsi verticalmente fra padri. Si
   distingue dal nome per il carattere e il peso, non per il colore. */
.parent-code[b-w56hs11u20] {
    font-family: var(--font-mono, ui-monospace, "SFMono-Regular", Menlo, monospace);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold, 600);
    color: var(--text-on-primary);
}

.parent-name[b-w56hs11u20] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    color: var(--text-on-primary);
    letter-spacing: 0.2px;
}

.parent-meta[b-w56hs11u20] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-top: var(--space-1);
    font-size: var(--font-size-xs);
    color: var(--color-gray-400);
}

.parent-work-link[b-w56hs11u20] {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.parent-work-link:hover[b-w56hs11u20] {
    opacity: 1;
    text-decoration-thickness: 2px;
}

/* ---------- metriche del padre ---------- */
.parent-metrics[b-w56hs11u20] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-4);
    flex-shrink: 0;
    text-align: right;
}

.parent-metric[b-w56hs11u20] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.parent-metric-label[b-w56hs11u20] {
    font-size: var(--font-size-xs);
    color: var(--color-gray-400);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.parent-metric-value[b-w56hs11u20] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold, 600);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.parent-metric-unit[b-w56hs11u20] {
    font-weight: var(--font-weight-normal, 400);
    color: var(--color-gray-400);
}

/* Il prezzo è l'unico dato DERIVATO — valore diviso quantità — e il filo
   verticale lo dice senza scriverlo. L'enfasi la porta il filo, non il colore:
   su fondo navy --color-primary sarebbe il colore del fondo. */
.parent-metric-derived[b-w56hs11u20] {
    padding-left: var(--space-4);
    border-left: var(--border-width-thin) solid var(--border-color-light);
}

.parent-metric-derived .parent-metric-value[b-w56hs11u20] { color: var(--text-on-primary); }

/* Righe di scarico con prezzi diversi: il numero è una media ponderata, non il
   prezzo di una riga. Ambra e non rosso — non è un difetto. Ambra CHIARA
   (--color-warning) e non il bruno da fondo bianco, che su navy sparisce. */
.parent-metric-mixed .parent-metric-value[b-w56hs11u20] { color: var(--color-warning); }

.parent-metric-tag[b-w56hs11u20] {
    margin-left: var(--space-1);
    color: var(--color-warning);
    font-style: italic;
    text-transform: none;
    letter-spacing: 0;
}

/* Il tipo di taglio, dentro la riga secondaria dell'identità. */
.parent-work[b-w56hs11u20] {
    color: inherit;
}

/* La resa resta colorata per fascia, ritarata sul fondo navy: il grigio scuro
   della fascia intermedia era illeggibile quanto il navy su navy. */
.parent-metric-value.resa-poor[b-w56hs11u20]  { color: var(--color-danger); }
.parent-metric-value.resa-good[b-w56hs11u20]  { color: var(--text-on-primary); }
.parent-metric-value.resa-great[b-w56hs11u20] { color: var(--color-success); }

/* LA FASCIA CHE IL LOTTO NON HA. Oltre il 100% il padre ha prodotto piu' di
   quanto consumato: in un sezionamento, dove si scartano ossa e sfridi, e'
   fisicamente impossibile — e' un difetto dei DATI, non una resa eccellente.
   Ambra e non verde: il verde direbbe «ottimo» proprio dove c'e' da guardare.
   E non rosso, che qui vuol dire «resa bassa»: sono due cose diverse e devono
   restare distinguibili a colpo d'occhio. */
.parent-metric-value.resa-anomaly[b-w56hs11u20] { color: var(--color-warning); }

/* =============================================================================
   COEFFICIENTE E COLLEGAMENTO ALLA SUA MANUTENZIONE
   ========================================================================== */

/* Coefficiente a zero: il figlio non partecipa alla ripartizione, e i suoi
   fratelli assorbono anche la sua quota di monte. Non è un errore — può essere
   uno scarto voluto — ma è l'unico posto in cui l'operatore può accorgersene
   guardando i numeri, quindi si vede. */
.multiplier-missing[b-w56hs11u20] {
    color: var(--color-warning-text, #8a5a00);
    background: var(--color-warning-bg, #fff6e0);
    font-weight: 600;
}

/* Il collegamento sta DENTRO la cella numerica, quindi la cella resta allineata
   a destra e il valore non si sposta quando l'icona c'è o non c'è. */
.multiplier-cell[b-w56hs11u20] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-2);
    white-space: nowrap;
}

/* Discreto finché non serve: si accende al passaggio sulla riga. Un'icona sempre
   accesa su ogni figlio trasformerebbe la colonna in una fila di pulsanti e
   toglierebbe attenzione ai numeri. */
.multiplier-edit[b-w56hs11u20] {
    display: inline-flex;
    align-items: center;
    color: var(--text-muted);
    opacity: 0.45;
    transition: opacity var(--transition-fast) var(--transition-ease),
                color var(--transition-fast) var(--transition-ease);
}

tr:hover .multiplier-edit[b-w56hs11u20],
.multiplier-edit:focus-visible[b-w56hs11u20] {
    opacity: 1;
    color: var(--color-primary);
}

/* Sul coefficiente a zero resta sempre visibile: è la riga su cui va presa una
   decisione, e l'azione per prenderla non deve essere da scoprire. */
.multiplier-missing .multiplier-edit[b-w56hs11u20] {
    opacity: 1;
    color: inherit;
}

/* ---------- contenitori stretti ---------- */
/* Le metriche vanno sotto l'identità invece di comprimerla. La soglia si misura
   sul CONTENITORE (vedi .report-table-wrapper) e non sulla finestra: nel report
   di giornata il blocco sta in un pannello di ~890 px anche con la finestra a
   1400, e una @media non se ne accorgerebbe. */
@container (max-width: 1100px) {
    .parent-head[b-w56hs11u20] {
        flex-direction: column;
        gap: var(--space-2);
    }

    .parent-metrics[b-w56hs11u20] {
        margin-left: 0;
        text-align: left;
    }
}

/* ---------- stampa ---------- */
@media print {
    .report-table-wrapper[b-w56hs11u20] {
        overflow: visible;
        border: 1px solid #333;
        page-break-inside: auto;
    }

    .section-block[b-w56hs11u20] {
        margin-bottom: 10pt;
    }

    .report-table[b-w56hs11u20] {
        font-size: 8pt;
    }

    /* Intestazione ripetuta su ogni pagina. */
    .report-table thead[b-w56hs11u20] {
        display: table-header-group;
    }

    .report-table thead th[b-w56hs11u20],
    .report-table tbody tr.parent-head-row td[b-w56hs11u20],
    .report-table tbody tr.worktype-row td[b-w56hs11u20] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .report-table tbody tr[b-w56hs11u20],
    .report-table thead tr[b-w56hs11u20] {
        page-break-inside: avoid;
    }

    /* Il collegamento alla manutenzione del coefficiente non si stampa: su carta
       non è cliccabile e ruba spazio alla colonna dei numeri. */
    .multiplier-edit[b-w56hs11u20] {
        display: none !important;
    }
}
/* /Components/Pages/Warehouse/RoundEdit.razor.rz.scp.css */
/* ===========================
   RoundEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-d48hure6re] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-d48hure6re] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-d48hure6re] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-d48hure6re] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-d48hure6re] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-d48hure6re] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-d48hure6re] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-d48hure6re] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-d48hure6re] {
    opacity: 0.4;
}

.empty-state-text[b-d48hure6re] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-d48hure6re] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-d48hure6re] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-d48hure6re] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-d48hure6re] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-d48hure6re] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-d48hure6re] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-d48hure6re] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-d48hure6re] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-d48hure6re] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-d48hure6re]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-d48hure6re] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-d48hure6re] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-d48hure6re] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-d48hure6re] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-d48hure6re] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-d48hure6re] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-d48hure6re] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-d48hure6re] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-d48hure6re] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Warehouse/RoundList.razor.rz.scp.css */
/* ===========================
   RoundList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Paginazione */
.pagination-bar[b-fm4zr7cz4c] { display: flex; align-items: center; justify-content: center; gap: var(--space-3); margin-top: var(--space-4); }
.pagination-info[b-fm4zr7cz4c] { font-size: var(--font-size-xs); color: var(--text-muted); }

/* Page Container */
.page-container[b-fm4zr7cz4c] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bars */
.alert-bar[b-fm4zr7cz4c] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-fm4zr7cz4c] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-fm4zr7cz4c] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

/* Elaborazione in corso: informativa, non un esito. Nessuna chiusura — sparisce da sé quando
   la corsa finisce, e poterla chiudere lascerebbe credere di averla annullata. */
.alert-bar-info[b-fm4zr7cz4c] {
    background-color: #eef4fb;
    border-left-color: var(--color-primary);
    color: #10395e;
}

.alert-bar-close[b-fm4zr7cz4c] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-fm4zr7cz4c] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-fm4zr7cz4c] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-fm4zr7cz4c] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-fm4zr7cz4c] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-fm4zr7cz4c] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-fm4zr7cz4c]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-fm4zr7cz4c] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-fm4zr7cz4c] {
    color: var(--color-primary);
}

.search-count[b-fm4zr7cz4c] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-fm4zr7cz4c] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-fm4zr7cz4c] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-fm4zr7cz4c] {
    opacity: 0.4;
}

.empty-state-text[b-fm4zr7cz4c] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-fm4zr7cz4c] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
/* Raggruppamento */
.group-toolbar[b-fm4zr7cz4c] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
    flex-wrap: wrap;
}

.group-header[b-fm4zr7cz4c] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-gray-100);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    position: sticky;
    top: 0;
    z-index: 1;
}

.group-header-title[b-fm4zr7cz4c] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.group-header .group-count[b-fm4zr7cz4c] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.item-row[b-fm4zr7cz4c] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-fm4zr7cz4c] {
    border-bottom: none;
}

.item-row:hover[b-fm4zr7cz4c] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-fm4zr7cz4c] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-fm4zr7cz4c] {
    flex: 1;
    min-width: 0;
}

.item-name[b-fm4zr7cz4c] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-fm4zr7cz4c] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-fm4zr7cz4c] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-fm4zr7cz4c] {
    color: var(--color-gray-300);
}

/* Badge Status */
.badge-status[b-fm4zr7cz4c] {
    display: inline-block;
    padding: 1px 8px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-gray-100);
    color: var(--text-secondary);
}

/* Badge Valorizzazione (fattura di acquisto collegata e prezzata) */
.badge-valuation[b-fm4zr7cz4c] {
    display: inline-block;
    padding: 1px 8px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    border: var(--border-width-thin) solid;
    white-space: nowrap;
}

.badge-valued[b-fm4zr7cz4c] {
    background-color: #edf7ed;
    border-color: rgba(26, 127, 55, 0.35);
    color: #1a7f37;
}

.badge-unvalued[b-fm4zr7cz4c] {
    background-color: #fdf3e7;
    border-color: rgba(180, 95, 6, 0.35);
    color: #b45f06;
}

/* KPI Costo / Venduto */
.item-kpis[b-fm4zr7cz4c] {
    flex-shrink: 0;
    display: flex;
    align-items: stretch;
    gap: var(--space-2);
    margin-right: var(--space-2);
}

.kpi[b-fm4zr7cz4c] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 150px;
    padding: 2px 10px;
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-gray-100);
}

.kpi-sep[b-fm4zr7cz4c] {
    color: var(--color-gray-300);
    margin: 0 2px;
}

.kpi-label[b-fm4zr7cz4c] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: .04em;
}

.kpi-value[b-fm4zr7cz4c] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    font-variant-numeric: tabular-nums;
}

.kpi-value-sales[b-fm4zr7cz4c] {
    color: #1a7f37;
}

/* Action Buttons */
.item-actions[b-fm4zr7cz4c] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.item-actions-separator[b-fm4zr7cz4c] {
    width: var(--border-width-thin);
    align-self: stretch;
    margin: var(--space-1) var(--space-1);
    background-color: var(--border-color-light);
}

.btn-icon[b-fm4zr7cz4c] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-fm4zr7cz4c] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-fm4zr7cz4c] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-fm4zr7cz4c] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-fm4zr7cz4c] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-fm4zr7cz4c] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-fm4zr7cz4c] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-fm4zr7cz4c] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-fm4zr7cz4c] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-fm4zr7cz4c] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-fm4zr7cz4c] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Action Button */
.btn-action[b-fm4zr7cz4c] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-fm4zr7cz4c] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-fm4zr7cz4c] {
    background-color: var(--color-action-active);
}

/* Outline Primary Button */
.btn-outline-primary[b-fm4zr7cz4c] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-fm4zr7cz4c] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-fm4zr7cz4c] {
        flex-wrap: wrap;
    }

    .item-actions[b-fm4zr7cz4c] {
        order: 6;
        margin-left: auto;
    }
}

/* /Components/Pages/Warehouse/StatisticalGroupCreate.razor.rz.scp.css */
/* ===========================
   StatisticalGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-3c9jz5awha] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-3c9jz5awha] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-3c9jz5awha] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-3c9jz5awha] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-3c9jz5awha] { opacity: 1; }

.form-section[b-3c9jz5awha] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-3c9jz5awha] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-3c9jz5awha] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-3c9jz5awha] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-3c9jz5awha] { display: flex; flex-direction: column; }
.form-group-wide[b-3c9jz5awha] { grid-column: span 2; }
.form-label[b-3c9jz5awha] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-3c9jz5awha] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-3c9jz5awha] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-3c9jz5awha]::placeholder { color: var(--color-gray-400); }
.btn-action[b-3c9jz5awha] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-3c9jz5awha] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-3c9jz5awha] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-3c9jz5awha] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-3c9jz5awha] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-3c9jz5awha] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-3c9jz5awha] { grid-template-columns: 1fr; }
    .form-group-wide[b-3c9jz5awha] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/StatisticalGroupEdit.razor.rz.scp.css */
/* ===========================
   StatisticalGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-n6exfgztg8] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-n6exfgztg8] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-n6exfgztg8] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-n6exfgztg8] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-n6exfgztg8] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-n6exfgztg8] { opacity: 1; }

.loading-state[b-n6exfgztg8] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-n6exfgztg8] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-n6exfgztg8] { opacity: 0.4; }
.empty-state-text[b-n6exfgztg8] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-n6exfgztg8] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-n6exfgztg8] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-n6exfgztg8] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-n6exfgztg8] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-n6exfgztg8] { display: flex; flex-direction: column; }
.form-group-wide[b-n6exfgztg8] { grid-column: span 2; }
.form-label[b-n6exfgztg8] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-n6exfgztg8] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-n6exfgztg8] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-n6exfgztg8]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-n6exfgztg8] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-n6exfgztg8] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-n6exfgztg8] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-n6exfgztg8] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-n6exfgztg8] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-n6exfgztg8] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-n6exfgztg8] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-n6exfgztg8] { grid-template-columns: 1fr; }
    .form-group-wide[b-n6exfgztg8] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/StatisticalGroupList.razor.rz.scp.css */
/* ===========================
   StatisticalGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-mbvppnb0yc] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-mbvppnb0yc] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-mbvppnb0yc] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-mbvppnb0yc] { background-color: var(--color-action-active); }

.alert-bar[b-mbvppnb0yc] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-mbvppnb0yc] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-mbvppnb0yc] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-mbvppnb0yc] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-mbvppnb0yc] { opacity: 1; }

.search-bar[b-mbvppnb0yc] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-mbvppnb0yc] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-mbvppnb0yc] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-mbvppnb0yc] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-mbvppnb0yc]::placeholder { color: var(--text-muted); }
.search-clear[b-mbvppnb0yc] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-mbvppnb0yc] { color: var(--color-primary); }
.search-count[b-mbvppnb0yc] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-mbvppnb0yc] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-mbvppnb0yc] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-mbvppnb0yc] { opacity: 0.4; }
.empty-state-text[b-mbvppnb0yc] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-mbvppnb0yc] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-mbvppnb0yc] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-mbvppnb0yc] { border-bottom: none; }
.item-row:hover[b-mbvppnb0yc] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-mbvppnb0yc] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-mbvppnb0yc] { flex: 1; min-width: 0; }
.item-name[b-mbvppnb0yc] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-mbvppnb0yc] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-mbvppnb0yc] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-mbvppnb0yc] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-mbvppnb0yc] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-mbvppnb0yc] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-mbvppnb0yc] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-mbvppnb0yc] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-mbvppnb0yc] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-mbvppnb0yc] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-mbvppnb0yc] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-mbvppnb0yc] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-mbvppnb0yc] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-mbvppnb0yc] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-mbvppnb0yc] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-mbvppnb0yc] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-mbvppnb0yc] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-mbvppnb0yc] { flex-wrap: wrap; }
    .item-actions[b-mbvppnb0yc] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Warehouse/Traceability.razor.rz.scp.css */
/* ===== Barra di ricerca ===== */
.trace-search[b-fsoet8werc] {
    display: flex;
    align-items: stretch;
    gap: 12px;
    margin: 16px 0 8px;
    max-width: 880px;
}

.trace-search-input[b-fsoet8werc] {
    flex: 1;
    height: 44px;
    padding: 0 14px;
    font-size: 15px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    outline: none;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.trace-search-input:focus[b-fsoet8werc] {
    border-color: #06b6d4;
    box-shadow: 0 0 0 3px rgba(6, 182, 212, .15);
}

/* selettore modalità (segmented control) */
.trace-mode[b-fsoet8werc] {
    display: inline-flex;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    overflow: hidden;
}

.trace-mode-btn[b-fsoet8werc] {
    height: 44px;
    padding: 0 18px;
    border: none;
    background: #fff;
    color: #475569;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

.trace-mode-btn + .trace-mode-btn[b-fsoet8werc] { border-left: 1px solid #cbd5e1; }
.trace-mode-btn:hover:not(.active)[b-fsoet8werc] { background: #f1f5f9; }
.trace-mode-btn.active[b-fsoet8werc] { background: #0ea5e9; color: #fff; }

.trace-search-btn[b-fsoet8werc] {
    height: 44px;
    padding: 0 22px;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    background: #0ea5e9;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

.trace-search-btn:hover[b-fsoet8werc] { background: #0284c7; }
.trace-search-btn:disabled[b-fsoet8werc] { background: #94a3b8; cursor: default; }

.trace-loading[b-fsoet8werc] {
    padding: 24px;
    color: #64748b;
    font-style: italic;
}

/* ===== Scheda item ===== */
.trace-item-card[b-fsoet8werc] {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 16px;
    margin: 16px 0;
    background: #f8fafc;
}

.trace-item-head[b-fsoet8werc] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.trace-result-badge[b-fsoet8werc] {
    background: #06b6d4;
    color: #fff;
    font-weight: 700;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 13px;
}

.trace-item-barcode[b-fsoet8werc] {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 15px;
    font-weight: 600;
}

.trace-item-sector[b-fsoet8werc] {
    margin-left: auto;
    color: #475569;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.trace-item-grid[b-fsoet8werc] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px 24px;
}

.trace-item-grid .lbl[b-fsoet8werc] {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #94a3b8;
}

.trace-item-grid .val[b-fsoet8werc] { font-size: 14px; color: #1e293b; }

.trace-item-empty[b-fsoet8werc] {
    margin-top: 12px;
    color: #b45309;
    font-size: 13px;
}

/* ===== Legenda ===== */
.trace-legend[b-fsoet8werc] {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    align-items: center;
    margin: 8px 0 12px;
    font-size: 13px;
    color: #475569;
}

.trace-legend .dot[b-fsoet8werc] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 3px;
    margin-right: 6px;
    vertical-align: middle;
}

.trace-legend-pivot[b-fsoet8werc] { margin-left: auto; }
.dot.pivot[b-fsoet8werc] { background: #ecfeff; border: 2px solid #06b6d4; }
.dot.edge-article[b-fsoet8werc] { background: #64748b; }
.dot.edge-package[b-fsoet8werc] { background: #0ea5e9; }
.dot.edge-logistic[b-fsoet8werc] { background: #8b5cf6; }
.dot.edge-aggregate[b-fsoet8werc] { background: #f59e0b; }
/* /Components/Pages/Warehouse/UnitOfMeasureCreate.razor.rz.scp.css */
/* ===========================
   UnitOfMeasureCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-e622ib72fy] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-e622ib72fy] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-e622ib72fy] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-e622ib72fy] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-e622ib72fy] { opacity: 1; }

.form-section[b-e622ib72fy] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-e622ib72fy] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-e622ib72fy] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-e622ib72fy] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-e622ib72fy] { display: flex; flex-direction: column; }
.form-group-wide[b-e622ib72fy] { grid-column: span 2; }
.form-label[b-e622ib72fy] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-e622ib72fy] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-e622ib72fy] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-e622ib72fy]::placeholder { color: var(--color-gray-400); }
.btn-action[b-e622ib72fy] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-e622ib72fy] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-e622ib72fy] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-e622ib72fy] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-e622ib72fy] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-e622ib72fy] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-e622ib72fy] { grid-template-columns: 1fr; }
    .form-group-wide[b-e622ib72fy] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/UnitOfMeasureEdit.razor.rz.scp.css */
/* ===========================
   UnitOfMeasureEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-ydj22xy4vl] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-ydj22xy4vl] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-ydj22xy4vl] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-ydj22xy4vl] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-ydj22xy4vl] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-ydj22xy4vl] { opacity: 1; }

.loading-state[b-ydj22xy4vl] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-ydj22xy4vl] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-ydj22xy4vl] { opacity: 0.4; }
.empty-state-text[b-ydj22xy4vl] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-ydj22xy4vl] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-ydj22xy4vl] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-ydj22xy4vl] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-ydj22xy4vl] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-ydj22xy4vl] { display: flex; flex-direction: column; }
.form-group-wide[b-ydj22xy4vl] { grid-column: span 2; }
.form-label[b-ydj22xy4vl] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-ydj22xy4vl] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-ydj22xy4vl] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-ydj22xy4vl]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-ydj22xy4vl] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-ydj22xy4vl] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-ydj22xy4vl] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-ydj22xy4vl] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-ydj22xy4vl] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-ydj22xy4vl] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-ydj22xy4vl] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-ydj22xy4vl] { grid-template-columns: 1fr; }
    .form-group-wide[b-ydj22xy4vl] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/UnitOfMeasureList.razor.rz.scp.css */
/* ===========================
   UnitOfMeasureList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-dlfckvj72l] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-dlfckvj72l] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-dlfckvj72l] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-dlfckvj72l] { background-color: var(--color-action-active); }

.alert-bar[b-dlfckvj72l] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-dlfckvj72l] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-dlfckvj72l] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-dlfckvj72l] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-dlfckvj72l] { opacity: 1; }

.search-bar[b-dlfckvj72l] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-dlfckvj72l] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-dlfckvj72l] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-dlfckvj72l] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-dlfckvj72l]::placeholder { color: var(--text-muted); }
.search-clear[b-dlfckvj72l] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-dlfckvj72l] { color: var(--color-primary); }
.search-count[b-dlfckvj72l] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-dlfckvj72l] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-dlfckvj72l] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-dlfckvj72l] { opacity: 0.4; }
.empty-state-text[b-dlfckvj72l] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-dlfckvj72l] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-dlfckvj72l] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-dlfckvj72l] { border-bottom: none; }
.item-row:hover[b-dlfckvj72l] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-dlfckvj72l] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-dlfckvj72l] { flex: 1; min-width: 0; }
.item-name[b-dlfckvj72l] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-dlfckvj72l] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-dlfckvj72l] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-dlfckvj72l] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-dlfckvj72l] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-dlfckvj72l] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-dlfckvj72l] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-dlfckvj72l] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-dlfckvj72l] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-dlfckvj72l] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-dlfckvj72l] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-dlfckvj72l] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-dlfckvj72l] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-dlfckvj72l] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }

/* /Components/Pages/Warehouse/VatDocumentProgressiveEdit.razor.rz.scp.css */
/* ===========================
   ProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-t1cwiy9nkb] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-t1cwiy9nkb] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-t1cwiy9nkb] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-t1cwiy9nkb] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-t1cwiy9nkb] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-t1cwiy9nkb] { opacity: 1; }

.loading-state[b-t1cwiy9nkb] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-t1cwiy9nkb] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-t1cwiy9nkb] { opacity: 0.4; }
.empty-state-text[b-t1cwiy9nkb] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-t1cwiy9nkb] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-t1cwiy9nkb] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-t1cwiy9nkb] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-t1cwiy9nkb] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-t1cwiy9nkb] { display: flex; flex-direction: column; }
.form-group-wide[b-t1cwiy9nkb] { grid-column: span 2; }
.form-label[b-t1cwiy9nkb] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-t1cwiy9nkb] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-t1cwiy9nkb] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-t1cwiy9nkb]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-t1cwiy9nkb] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-t1cwiy9nkb] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-t1cwiy9nkb] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-t1cwiy9nkb] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-t1cwiy9nkb] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-t1cwiy9nkb] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-t1cwiy9nkb] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-t1cwiy9nkb] { grid-template-columns: 1fr; }
    .form-group-wide[b-t1cwiy9nkb] { grid-column: span 1; }
}
/* /Components/Pages/Warehouse/VatDocumentProgressiveList.razor.rz.scp.css */
/* ===========================
   ProductGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-86rgk8ljj8] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-86rgk8ljj8] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-86rgk8ljj8] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-86rgk8ljj8] { background-color: var(--color-action-active); }

.alert-bar[b-86rgk8ljj8] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-86rgk8ljj8] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-86rgk8ljj8] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-86rgk8ljj8] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-86rgk8ljj8] { opacity: 1; }

.search-bar[b-86rgk8ljj8] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-86rgk8ljj8] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-86rgk8ljj8] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-86rgk8ljj8] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-86rgk8ljj8]::placeholder { color: var(--text-muted); }
.search-clear[b-86rgk8ljj8] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-86rgk8ljj8] { color: var(--color-primary); }
.search-count[b-86rgk8ljj8] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-86rgk8ljj8] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-86rgk8ljj8] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-86rgk8ljj8] { opacity: 0.4; }
.empty-state-text[b-86rgk8ljj8] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-86rgk8ljj8] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-86rgk8ljj8] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-86rgk8ljj8] { border-bottom: none; }
.item-row:hover[b-86rgk8ljj8] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-86rgk8ljj8] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-86rgk8ljj8] { flex: 1; min-width: 0; }
.item-name[b-86rgk8ljj8] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-86rgk8ljj8] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-86rgk8ljj8] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-86rgk8ljj8] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-86rgk8ljj8] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-86rgk8ljj8] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-86rgk8ljj8] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-86rgk8ljj8] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-86rgk8ljj8] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-86rgk8ljj8] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-86rgk8ljj8] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-86rgk8ljj8] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-86rgk8ljj8] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-86rgk8ljj8] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-86rgk8ljj8] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-86rgk8ljj8] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-86rgk8ljj8] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-86rgk8ljj8] { flex-wrap: wrap; }
    .item-actions[b-86rgk8ljj8] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Warehouse/WarehouseCreate.razor.rz.scp.css */
/* ===========================
   WarehouseCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-9gvvtdeyhb] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-9gvvtdeyhb] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-9gvvtdeyhb] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-9gvvtdeyhb] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-9gvvtdeyhb] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-9gvvtdeyhb] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-9gvvtdeyhb] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-9gvvtdeyhb] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-9gvvtdeyhb] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-9gvvtdeyhb] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-9gvvtdeyhb] {
    grid-column: span 2;
}

.form-group-checkbox[b-9gvvtdeyhb] {
    display: flex;
    align-items: center;
    padding-top: var(--space-6);
}

.form-group-checkbox .form-check-label[b-9gvvtdeyhb] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    cursor: pointer;
}

.form-group-checkbox .form-check-input[b-9gvvtdeyhb] {
    width: 18px;
    height: 18px;
    accent-color: var(--color-primary);
    cursor: pointer;
}

/* Form Controls */
.form-label[b-9gvvtdeyhb] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-9gvvtdeyhb] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-9gvvtdeyhb] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-9gvvtdeyhb]::placeholder {
    color: var(--color-gray-400);
}

select.form-control[b-9gvvtdeyhb] {
    appearance: auto;
    cursor: pointer;
    background-color: var(--color-white);
}

.btn-action[b-9gvvtdeyhb] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-9gvvtdeyhb] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-9gvvtdeyhb] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-9gvvtdeyhb] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-9gvvtdeyhb] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-9gvvtdeyhb] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-9gvvtdeyhb] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-9gvvtdeyhb] {
        grid-column: span 1;
    }
}

/* Valore in sola lettura (codice azienda): il CSS di Blazor è isolato per componente, quindi la
   classe va definita qui anche se esiste identica in altre pagine. Stessa regola di
   GiftTypeEdit.razor.css. */
.form-control-static[b-9gvvtdeyhb] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    /* Niente font monospaziato: accanto al codice ora c'è la ragione sociale, che in mono si legge
       peggio e allarga il campo. L'altezza resta quella degli altri controlli della griglia. */
    min-height: var(--control-height);
    box-sizing: border-box;
}
/* /Components/Pages/Warehouse/WarehouseEdit.razor.rz.scp.css */
/* ===========================
   WarehouseEdit - Scoped Styles
   Reuses same patterns as WarehouseCreate
   =========================== */

/* Page Container */
.page-container[b-2t8x49j7is] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-2t8x49j7is] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-2t8x49j7is] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-2t8x49j7is] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-2t8x49j7is] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-2t8x49j7is] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-2t8x49j7is] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-2t8x49j7is] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-2t8x49j7is] {
    opacity: 0.4;
}

.empty-state-text[b-2t8x49j7is] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-2t8x49j7is] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-2t8x49j7is] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-2t8x49j7is] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-2t8x49j7is] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-2t8x49j7is] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-2t8x49j7is] {
    grid-column: span 2;
}

.form-group-checkbox[b-2t8x49j7is] {
    display: flex;
    align-items: center;
    padding-top: var(--space-6);
}

.form-group-checkbox .form-check-label[b-2t8x49j7is] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    cursor: pointer;
}

.form-group-checkbox .form-check-input[b-2t8x49j7is] {
    width: 18px;
    height: 18px;
    accent-color: var(--color-primary);
    cursor: pointer;
}

/* Form Controls */
.form-label[b-2t8x49j7is] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-2t8x49j7is] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-2t8x49j7is] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-2t8x49j7is]::placeholder {
    color: var(--color-gray-400);
}

select.form-control[b-2t8x49j7is] {
    appearance: auto;
    cursor: pointer;
    background-color: var(--color-white);
}

.form-control-static[b-2t8x49j7is] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    /* Niente font monospaziato: accanto al codice c'è la ragione sociale. Stessa regola della
       scheda nuova, così il campo si legge uguale nelle due pagine. */
    min-height: var(--control-height);
    box-sizing: border-box;
}

.btn-action[b-2t8x49j7is] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-2t8x49j7is] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-2t8x49j7is] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-2t8x49j7is] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-2t8x49j7is] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-2t8x49j7is] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-2t8x49j7is] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-2t8x49j7is] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Warehouse/WarehouseList.razor.rz.scp.css */
/* ===========================
   WarehouseList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-2oln05mm9k] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-2oln05mm9k] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-2oln05mm9k] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-2oln05mm9k] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-2oln05mm9k] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-2oln05mm9k] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-2oln05mm9k] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-2oln05mm9k] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-2oln05mm9k] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-2oln05mm9k] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-2oln05mm9k] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-2oln05mm9k] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-2oln05mm9k] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-2oln05mm9k]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-2oln05mm9k] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-2oln05mm9k] {
    color: var(--color-primary);
}

.search-count[b-2oln05mm9k] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-2oln05mm9k] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-2oln05mm9k] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-2oln05mm9k] {
    opacity: 0.4;
}

.empty-state-text[b-2oln05mm9k] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Contact List */
.contact-list[b-2oln05mm9k] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Contact Row */
.contact-row[b-2oln05mm9k] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.contact-row:last-child[b-2oln05mm9k] {
    border-bottom: none;
}

.contact-row:hover[b-2oln05mm9k] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.contact-avatar[b-2oln05mm9k] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Contact Info */
.contact-info[b-2oln05mm9k] {
    flex: 1;
    min-width: 0;
}

.contact-name[b-2oln05mm9k] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.contact-meta[b-2oln05mm9k] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.contact-code[b-2oln05mm9k] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-2oln05mm9k] {
    color: var(--color-gray-300);
}

.contact-details[b-2oln05mm9k] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-top: var(--space-1);
}

.contact-detail-item[b-2oln05mm9k] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.contact-detail-item svg[b-2oln05mm9k] {
    flex-shrink: 0;
}

/* Badges */
.contact-badges[b-2oln05mm9k] {
    flex-shrink: 0;
    display: flex;
    gap: var(--space-2);
}

.badge[b-2oln05mm9k] {
    display: inline-flex;
    align-items: center;
    padding: 3px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.badge-primary[b-2oln05mm9k] {
    background-color: rgba(11, 36, 62, 0.1);
    color: var(--color-primary);
}

.badge-info[b-2oln05mm9k] {
    background-color: rgba(23, 162, 184, 0.1);
    color: var(--color-info);
}

.badge-danger[b-2oln05mm9k] {
    background-color: rgba(178, 34, 34, 0.1);
    color: var(--color-action);
}

/* Action Buttons */
.contact-actions[b-2oln05mm9k] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.btn-icon[b-2oln05mm9k] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-2oln05mm9k] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-2oln05mm9k] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

.actions-separator[b-2oln05mm9k] {
    width: 1px;
    height: 20px;
    background-color: var(--border-color-light);
    margin: 0 var(--space-1);
}

/* Overlay & Dialog */
.overlay[b-2oln05mm9k] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-2oln05mm9k] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-2oln05mm9k] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-2oln05mm9k] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-2oln05mm9k] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-2oln05mm9k] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-2oln05mm9k] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-2oln05mm9k] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button (used in confirm dialog) */
.btn-outline-primary[b-2oln05mm9k] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-2oln05mm9k] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .contact-row[b-2oln05mm9k] {
        flex-wrap: wrap;
    }

    .contact-badges[b-2oln05mm9k] {
        order: 5;
    }

    .contact-actions[b-2oln05mm9k] {
        order: 6;
        margin-left: auto;
    }

    .contact-details[b-2oln05mm9k] {
        flex-wrap: wrap;
    }
}

/* /Components/Pages/Warehouse/WarehouseReasonCreate.razor.rz.scp.css */
/* ===========================
   WarehouseReasonCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-tq0dly769l] { max-width: 1100px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-tq0dly769l] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-tq0dly769l] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-tq0dly769l] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-tq0dly769l] { opacity: 1; }

.form-section[b-tq0dly769l] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-tq0dly769l] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }

.form-grid[b-tq0dly769l] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.indicator-grid[b-tq0dly769l] { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-3); }
.form-group[b-tq0dly769l] { display: flex; flex-direction: column; }
.form-group-wide[b-tq0dly769l] { grid-column: span 2; }
.form-label[b-tq0dly769l] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-tq0dly769l] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-tq0dly769l] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control:disabled[b-tq0dly769l] { background-color: var(--color-gray-50); color: var(--text-muted); cursor: not-allowed; opacity: 0.6; }
.form-control-static[b-tq0dly769l] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-weight: var(--font-weight-medium); }
.field-hint[b-tq0dly769l] { font-size: var(--font-size-xs); color: var(--text-muted); margin-top: 2px; }
.btn-action[b-tq0dly769l] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-tq0dly769l] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-tq0dly769l] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-tq0dly769l] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-tq0dly769l] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-tq0dly769l] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 900px) { .indicator-grid[b-tq0dly769l] { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) {
    .form-grid[b-tq0dly769l] { grid-template-columns: 1fr; }
    .form-group-wide[b-tq0dly769l] { grid-column: span 1; }
    .indicator-grid[b-tq0dly769l] { grid-template-columns: repeat(2, 1fr); }
}
/* /Components/Pages/Warehouse/WarehouseReasonEdit.razor.rz.scp.css */
/* ===========================
   WarehouseReasonEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-t059oxp3pg] { max-width: 1100px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-t059oxp3pg] { font-family: var(--font-mono); font-size: var(--font-size-xs); background-color: var(--color-gray-100); padding: 1px var(--space-2); color: var(--color-primary); opacity: 0.7; }

.alert-bar[b-t059oxp3pg] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-t059oxp3pg] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-t059oxp3pg] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-t059oxp3pg] { opacity: 1; }

.loading-state[b-t059oxp3pg] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-t059oxp3pg] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state-text[b-t059oxp3pg] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-t059oxp3pg] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-t059oxp3pg] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }

.form-grid[b-t059oxp3pg] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.indicator-grid[b-t059oxp3pg] { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-3); }
.form-group[b-t059oxp3pg] { display: flex; flex-direction: column; }
.form-group-wide[b-t059oxp3pg] { grid-column: span 2; }
.form-label[b-t059oxp3pg] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-t059oxp3pg] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-t059oxp3pg] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control:disabled[b-t059oxp3pg] { background-color: var(--color-gray-50); color: var(--text-muted); cursor: not-allowed; opacity: 0.6; }
.field-hint[b-t059oxp3pg] { font-size: var(--font-size-xs); color: var(--text-muted); margin-top: 2px; }
.form-control-static[b-t059oxp3pg] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-weight: var(--font-weight-medium); }
.btn-action[b-t059oxp3pg] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-t059oxp3pg] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-t059oxp3pg] { opacity: 0.65; cursor: not-allowed; }
.btn-sm[b-t059oxp3pg] { padding: var(--space-1) var(--space-3); font-size: var(--font-size-xs); }
.btn-outline-primary[b-t059oxp3pg] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-t059oxp3pg] { background-color: var(--color-primary); color: var(--text-on-primary); }

[b-t059oxp3pg] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 900px) { .indicator-grid[b-t059oxp3pg] { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) {
    .form-grid[b-t059oxp3pg] { grid-template-columns: 1fr; }
    .form-group-wide[b-t059oxp3pg] { grid-column: span 1; }
    .indicator-grid[b-t059oxp3pg] { grid-template-columns: repeat(2, 1fr); }
}
/* /Components/Pages/Warehouse/WarehouseReasonList.razor.rz.scp.css */
/* ===========================
   WarehouseReasonList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-ueppl6esgi] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-ueppl6esgi] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-ueppl6esgi] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }

.alert-bar[b-ueppl6esgi] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-ueppl6esgi] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-ueppl6esgi] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-ueppl6esgi] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-ueppl6esgi] { opacity: 1; }

.search-bar[b-ueppl6esgi] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-ueppl6esgi] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-ueppl6esgi] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-ueppl6esgi] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-ueppl6esgi]::placeholder { color: var(--text-muted); }
.search-clear[b-ueppl6esgi] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-ueppl6esgi] { color: var(--color-primary); }
.search-count[b-ueppl6esgi] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-ueppl6esgi] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-ueppl6esgi] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-ueppl6esgi] { opacity: 0.4; }
.empty-state-text[b-ueppl6esgi] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-ueppl6esgi] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-ueppl6esgi] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-ueppl6esgi] { border-bottom: none; }
.item-row:hover[b-ueppl6esgi] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-ueppl6esgi] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-ueppl6esgi] { flex: 1; min-width: 0; }
.item-name[b-ueppl6esgi] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-ueppl6esgi] { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-ueppl6esgi] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }
.item-detail[b-ueppl6esgi] { color: var(--text-muted); }

.item-actions[b-ueppl6esgi] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-ueppl6esgi] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-ueppl6esgi] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-ueppl6esgi] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-ueppl6esgi] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-ueppl6esgi] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-ueppl6esgi] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-ueppl6esgi] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-ueppl6esgi] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-ueppl6esgi] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-ueppl6esgi] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-ueppl6esgi] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-ueppl6esgi] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-ueppl6esgi] { background-color: var(--color-primary); color: var(--text-on-primary); }
.btn-sm[b-ueppl6esgi] { padding: var(--space-1) var(--space-3); font-size: var(--font-size-xs); }

@media (max-width: 768px) {
    .item-row[b-ueppl6esgi] { flex-wrap: wrap; }
    .item-actions[b-ueppl6esgi] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Webs/AgentOrderDetail.razor.rz.scp.css */
/* ===========================
   WebsOrderDetail - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-taiqxq8wya] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Header */
.page-header[b-taiqxq8wya] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-taiqxq8wya] {
    flex: 1;
}

.page-header-right[b-taiqxq8wya] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.back-link[b-taiqxq8wya] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    text-decoration: none;
    margin-bottom: var(--space-2);
}

.back-link:hover[b-taiqxq8wya] {
    color: var(--color-primary);
}

.page-title[b-taiqxq8wya] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-taiqxq8wya] {
    color: var(--color-primary);
    flex-shrink: 0;
}

/* Action Buttons */
.btn-action[b-taiqxq8wya] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-taiqxq8wya] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
}

.btn-action-secondary[b-taiqxq8wya] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-success);
    color: white;
    border: var(--border-width-thin) solid var(--color-success);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action-secondary:hover[b-taiqxq8wya] {
    opacity: 0.9;
}

/* Alert Bars */
.alert-bar[b-taiqxq8wya] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-taiqxq8wya] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-taiqxq8wya] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-taiqxq8wya] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-taiqxq8wya] {
    opacity: 1;
}

/* Badges */
.badge[b-taiqxq8wya] {
    display: inline-flex;
    align-items: center;
    padding: 2px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.badge-lg[b-taiqxq8wya] {
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-sm);
}

.badge-info[b-taiqxq8wya] {
    background-color: #e0f2fe;
    color: #0369a1;
}

.badge-warning[b-taiqxq8wya] {
    background-color: #fef3c7;
    color: #92400e;
}

.badge-primary[b-taiqxq8wya] {
    background-color: rgba(11, 36, 62, 0.1);
    color: var(--color-primary);
}

.badge-success[b-taiqxq8wya] {
    background-color: #dcfce7;
    color: #166534;
}

.badge-secondary[b-taiqxq8wya] {
    background-color: var(--color-gray-100);
    color: var(--text-secondary);
}

/* Loading / Empty States */
.loading-state[b-taiqxq8wya] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-taiqxq8wya] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state-text[b-taiqxq8wya] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Info Card */
.info-card[b-taiqxq8wya] {
    padding: var(--space-4);
    margin-bottom: var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.info-grid[b-taiqxq8wya] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--space-4);
}

.info-item[b-taiqxq8wya] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.info-label[b-taiqxq8wya] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.info-value[b-taiqxq8wya] {
    font-size: var(--font-size-sm);
    color: var(--color-primary);
    font-weight: var(--font-weight-medium);
}

/* Info Separator + Time Gauge */
.info-separator[b-taiqxq8wya] {
    height: 1px;
    background-color: var(--border-color-light);
    margin: var(--space-4) 0;
}

.time-gauge-section[b-taiqxq8wya] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.time-gauge-header[b-taiqxq8wya] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.time-gauge-label[b-taiqxq8wya] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.time-gauge-remaining[b-taiqxq8wya] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    font-family: var(--font-mono);
}

.time-gauge-remaining.time-ok[b-taiqxq8wya] {
    color: var(--color-success, #16a34a);
}

.time-gauge-remaining.time-warning[b-taiqxq8wya] {
    color: #d97706;
}

.time-gauge-remaining.time-critical[b-taiqxq8wya] {
    color: #dc2626;
}

.time-gauge-remaining.time-expired[b-taiqxq8wya] {
    color: #991b1b;
}

.time-gauge-track[b-taiqxq8wya] {
    width: 100%;
    height: 8px;
    background-color: var(--color-gray-100, #f1f5f9);
    border-radius: 4px;
    overflow: hidden;
}

.time-gauge-fill[b-taiqxq8wya] {
    height: 100%;
    border-radius: 4px;
    transition: width 0.6s ease;
    min-width: 2px;
}

.time-gauge-fill.gauge-ok[b-taiqxq8wya] {
    background-color: var(--color-success, #16a34a);
}

.time-gauge-fill.gauge-warning[b-taiqxq8wya] {
    background-color: #d97706;
}

.time-gauge-fill.gauge-critical[b-taiqxq8wya] {
    background-color: #dc2626;
}

.time-gauge-fill.gauge-expired[b-taiqxq8wya] {
    background-color: #991b1b;
}

.time-gauge-footer[b-taiqxq8wya] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.time-gauge-date[b-taiqxq8wya] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

.time-gauge-percent[b-taiqxq8wya] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    font-weight: var(--font-weight-medium);
}

/* Department Tabs */
.department-tabs[b-taiqxq8wya] {
    display: flex;
    gap: var(--space-1);
    margin-bottom: var(--space-4);
    flex-wrap: wrap;
}

.dept-tab[b-taiqxq8wya] {
    padding: var(--space-2) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-primary);
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
}

.dept-tab:hover[b-taiqxq8wya] {
    background-color: var(--color-gray-100);
}

.dept-tab.active[b-taiqxq8wya] {
    background-color: var(--color-primary);
    color: white;
    border-color: var(--color-primary);
}

/* Search Bar */
.search-bar[b-taiqxq8wya] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
    padding: var(--space-2) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-primary);
    color: var(--text-muted);
}

.search-input[b-taiqxq8wya] {
    flex: 1;
    border: none;
    outline: none;
    font-size: var(--font-size-sm);
    background: transparent;
    color: var(--text-primary);
}

.search-input[b-taiqxq8wya]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-taiqxq8wya] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: inline-flex;
    align-items: center;
}

.search-clear:hover[b-taiqxq8wya] {
    color: var(--color-primary);
}

.search-divider[b-taiqxq8wya] {
    width: 1px;
    height: 20px;
    background-color: var(--border-color-light);
    flex-shrink: 0;
}

.toggle-filter[b-taiqxq8wya] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    cursor: pointer;
    flex-shrink: 0;
    white-space: nowrap;
}

.toggle-label[b-taiqxq8wya] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    font-weight: var(--font-weight-medium);
}

.toggle-switch[b-taiqxq8wya] {
    position: relative;
    display: inline-block;
    width: 36px;
    height: 20px;
    flex-shrink: 0;
}

.toggle-switch input[b-taiqxq8wya] {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-slider[b-taiqxq8wya] {
    position: absolute;
    inset: 0;
    background-color: var(--border-color-light);
    border-radius: 10px;
    transition: background-color var(--transition-fast) var(--transition-ease);
    cursor: pointer;
}

.toggle-slider[b-taiqxq8wya]::before {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    border-radius: 50%;
    transition: transform var(--transition-fast) var(--transition-ease);
}

.toggle-switch input:checked + .toggle-slider[b-taiqxq8wya] {
    background-color: var(--color-primary);
}

.toggle-switch input:checked + .toggle-slider[b-taiqxq8wya]::before {
    transform: translateX(16px);
}

/* Rows Table */
.rows-table-container[b-taiqxq8wya] {
    border: var(--border-width-thin) solid var(--border-color-light);
    overflow-x: auto;
}

.rows-table[b-taiqxq8wya] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}

.rows-table thead[b-taiqxq8wya] {
    background-color: var(--bg-secondary);
}

.rows-table th[b-taiqxq8wya] {
    padding: var(--space-2) var(--space-3);
    text-align: left;
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.rows-table td[b-taiqxq8wya] {
    padding: var(--space-2) var(--space-3);
    vertical-align: middle;
}

/* Two-row layout: description row + data row */
.row-desc td[b-taiqxq8wya] {
    padding-bottom: 0;
    border-bottom: none;
}

.row-data td[b-taiqxq8wya] {
    padding-top: var(--space-1);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.col-row[b-taiqxq8wya] {
    width: 40px;
    text-align: center;
    vertical-align: middle;
    font-weight: var(--font-weight-semibold);
    color: var(--text-muted);
    border-right: var(--border-width-thin) solid var(--border-color-light);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.col-desc[b-taiqxq8wya] {
    padding: var(--space-2) var(--space-3);
}

/* Hover and state styles apply to both row-desc and row-data */
.rows-table tbody tr.row-editable[b-taiqxq8wya] {
    cursor: pointer;
}

.rows-table tbody tr.row-desc.row-editable:hover[b-taiqxq8wya],
.rows-table tbody tr.row-data.row-editable:hover[b-taiqxq8wya] {
    background-color: rgba(11, 36, 62, 0.04);
}

.rows-table tbody tr.row-desc.row-editing[b-taiqxq8wya],
.rows-table tbody tr.row-data.row-editing[b-taiqxq8wya] {
    background-color: rgba(11, 36, 62, 0.06);
    cursor: default;
}

.rows-table tbody tr.row-excluded[b-taiqxq8wya] {
    opacity: 0.4;
    cursor: default;
}

.rows-table tbody tr.row-data.row-excluded td[b-taiqxq8wya] {
    text-decoration: line-through;
}

.text-right[b-taiqxq8wya] {
    text-align: right !important;
}

/* Column widths */
.col-article-code[b-taiqxq8wya] { width: 120px; }
.col-um[b-taiqxq8wya] { width: 50px; }
.col-stock[b-taiqxq8wya] { width: 80px; }
.col-proposed[b-taiqxq8wya] { width: 70px; }
.col-min[b-taiqxq8wya] { width: 70px; }
.col-parcels[b-taiqxq8wya] { width: 80px; }
.col-pieces[b-taiqxq8wya] { width: 70px; }

/* Highlight editable column (Colli) with a subtle green tint */
.rows-table tbody td.col-parcels[b-taiqxq8wya] {
    background-color: rgba(34, 197, 94, 0.08);
}

.rows-table tbody tr.row-excluded td.col-parcels[b-taiqxq8wya] {
    background-color: transparent;
}
/* Ultimo ordine dell'articolo: mostrato come giorni trascorsi, non come data */
.col-last-order[b-taiqxq8wya] { width: 80px; white-space: nowrap; }
.last-order-never[b-taiqxq8wya] { color: var(--color-text-muted, #9ca3af); }
.last-order-stale[b-taiqxq8wya] { color: var(--color-warning, #d97706); font-weight: 600; }

.col-actions[b-taiqxq8wya] { width: 70px; white-space: nowrap; }

/* Note di riga: la riga descrizione e' a piena larghezza, 1000 caratteri non entrano
   in una colonna della griglia dati */
.row-notes-edit[b-taiqxq8wya] {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    margin-top: .25rem;
}

.edit-notes[b-taiqxq8wya] {
    flex: 1;
    resize: vertical;
    font: inherit;
    padding: .25rem .5rem;
    border: 1px solid var(--color-border, #d1d5db);
}

.edit-notes-counter[b-taiqxq8wya] {
    font-size: .75rem;
    color: var(--color-text-muted, #9ca3af);
    white-space: nowrap;
}

.row-notes-tag[b-taiqxq8wya] {
    display: inline-block;
    margin-left: .5rem;
    max-width: 40ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
    font-style: italic;
    color: var(--color-text-muted, #9ca3af);
}

/* Article cell */
.article-code[b-taiqxq8wya] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.article-desc[b-taiqxq8wya] {
    font-size: var(--font-size-sm);
    color: var(--color-primary);
    font-weight: var(--font-weight-bold);
}

/* Edit Input */
.stepper-group[b-taiqxq8wya] {
    display: inline-flex;
    align-items: center;
    gap: 0;
}

.stepper-btn[b-taiqxq8wya] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: var(--border-width-thin) solid var(--color-primary);
    background: var(--bg-secondary);
    color: var(--color-primary);
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
}

.stepper-btn:first-child[b-taiqxq8wya] {
    border-radius: var(--border-radius-sm) 0 0 var(--border-radius-sm);
    border-right: none;
}

.stepper-btn:last-child[b-taiqxq8wya] {
    border-radius: 0 var(--border-radius-sm) var(--border-radius-sm) 0;
    border-left: none;
}

.stepper-btn:active[b-taiqxq8wya] {
    background: var(--color-primary);
    color: white;
}

.edit-input[b-taiqxq8wya] {
    width: 88px;
    height: 32px;
    padding: 2px var(--space-1);
    border: var(--border-width-thin) solid var(--color-primary);
    border-radius: 0;
    font-size: var(--font-size-sm);
    text-align: center;
    background: white;
    -moz-appearance: textfield;
}

.edit-input[b-taiqxq8wya]::-webkit-inner-spin-button,
.edit-input[b-taiqxq8wya]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.edit-input:focus[b-taiqxq8wya] {
    outline: none;
    box-shadow: 0 0 0 2px rgba(11, 36, 62, 0.15);
}

.qty-stepper[b-taiqxq8wya] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    justify-content: flex-end;
    flex-wrap: nowrap;
}

.qty-stepper .edit-input[b-taiqxq8wya] {
    width: 64px;
}

.btn-qty-step[b-taiqxq8wya] {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: var(--font-size-md);
    font-weight: 600;
    line-height: 1;
    color: var(--color-primary);
    background: white;
    border: var(--border-width-thin) solid var(--color-primary);
    border-radius: 0;
    cursor: pointer;
    user-select: none;
}

.btn-qty-step:hover:not(:disabled)[b-taiqxq8wya] {
    background: var(--color-primary);
    color: white;
}

.btn-qty-step:disabled[b-taiqxq8wya] {
    opacity: 0.4;
    cursor: not-allowed;
}

.discount-edit[b-taiqxq8wya] {
    display: inline-flex;
    gap: var(--space-1);
    justify-content: flex-end;
    flex-wrap: nowrap;
}

.edit-input-disc[b-taiqxq8wya] {
    width: 44px;
}

.calc-value[b-taiqxq8wya] {
    font-weight: 600;
    color: var(--color-primary);
}

/* Icon Buttons */
.btn-icon[b-taiqxq8wya] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: inline-flex;
    align-items: center;
    transition: color var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-taiqxq8wya] {
    color: var(--color-primary);
}

.btn-icon-success:hover[b-taiqxq8wya] {
    color: var(--color-success);
}

/* Edit affordance: faint pencil on editable rows, prominent on row hover */
.btn-icon-edit[b-taiqxq8wya] {
    opacity: 0.4;
}

.rows-table tbody tr.row-editable:hover .btn-icon-edit[b-taiqxq8wya] {
    opacity: 1;
    color: var(--color-primary);
}

/* ===========================
   Responsive - Progressive column hiding
   Two-row layout: description always visible full-width.
   Data row hides less important columns progressively.
   Priority (always visible): # → Colli → Pezzi → Actions
   =========================== */

/* Medium screens: hide UM, Giacenza, Proposti, Scorta Min */
@media (max-width: 1024px) {
    .col-um[b-taiqxq8wya],
    .col-stock[b-taiqxq8wya],
    .col-proposed[b-taiqxq8wya],
    .col-min[b-taiqxq8wya] {
        display: none;
    }
}

/* Small screens: also hide the last-order column */
@media (max-width: 768px) {
    .col-last-order[b-taiqxq8wya] {
        display: none;
    }

    .rows-table th[b-taiqxq8wya],
    .rows-table td[b-taiqxq8wya] {
        padding: var(--space-1) var(--space-2);
    }

    .stepper-btn[b-taiqxq8wya] {
        width: 28px;
        height: 28px;
    }

    .edit-input[b-taiqxq8wya] {
        width: 72px;
        height: 28px;
        font-size: var(--font-size-xs);
    }

    .edit-input-disc[b-taiqxq8wya] {
        width: 42px;
    }
}

/* Extra small: compact */
@media (max-width: 480px) {
    .col-article-code[b-taiqxq8wya] {
        display: none;
    }

    .article-desc[b-taiqxq8wya] {
        font-size: var(--font-size-xs);
    }

    .col-row[b-taiqxq8wya] {
        width: 30px;
    }

    .rows-table th[b-taiqxq8wya],
    .rows-table td[b-taiqxq8wya] {
        padding: var(--space-1);
    }

    .col-actions[b-taiqxq8wya] {
        width: 60px;
    }
}

/* ── AgentOrder additions ────────────────────────────────────────── */

.selection-card[b-taiqxq8wya] {
    margin-bottom: 1.25rem;
}

.selection-title[b-taiqxq8wya] {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 1rem 0;
    color: #344054;
}

.selection-grid[b-taiqxq8wya] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.selection-grid .selection-full[b-taiqxq8wya] {
    grid-column: 1 / -1;
}

@media (max-width: 640px) {
    .selection-grid[b-taiqxq8wya] {
        grid-template-columns: 1fr;
    }
}

.selection-actions[b-taiqxq8wya] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

.btn-delete[b-taiqxq8wya] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 1.1rem;
    background: transparent;
    color: #dc3545;
    border: 1px solid #f1aeb5;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease;
}

.btn-delete:hover:not(:disabled)[b-taiqxq8wya] {
    background: #f8d7da;
}

.btn-delete:disabled[b-taiqxq8wya] {
    opacity: 0.6;
    cursor: not-allowed;
}

.col-qty[b-taiqxq8wya] { width: 110px; }
.col-price[b-taiqxq8wya] { width: 110px; }
.col-disc[b-taiqxq8wya] { width: 110px; }
.col-amount[b-taiqxq8wya] { width: 120px; }

.rows-table tbody td.col-qty[b-taiqxq8wya],
.rows-table tbody td.col-price[b-taiqxq8wya] {
    cursor: text;
}

.row-no-price .article-desc[b-taiqxq8wya] {
    opacity: 0.9;
}

.no-price-tag[b-taiqxq8wya] {
    margin-left: 0.5rem;
    padding: 0.1rem 0.5rem;
    background: #fff3cd;
    color: #997404;
    border-radius: 10px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.order-total[b-taiqxq8wya] {
    font-weight: 700;
    font-size: 1.05rem;
}

.delivery-date-edit[b-taiqxq8wya] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.delivery-date-edit input[type="date"][b-taiqxq8wya] {
    max-width: 170px;
}
/* /Components/Pages/Webs/AgentOrderList.razor.rz.scp.css */
/* ===========================
   WebsOrderList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-b91jxfd4y2] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bars */
.alert-bar[b-b91jxfd4y2] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-b91jxfd4y2] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-b91jxfd4y2] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-b91jxfd4y2] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-b91jxfd4y2] {
    opacity: 1;
}

/* Filter Bar */
.filter-bar[b-b91jxfd4y2] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    flex-wrap: wrap;
}

.status-filters[b-b91jxfd4y2] {
    display: flex;
    gap: var(--space-1);
    flex-shrink: 0;
}

.status-btn[b-b91jxfd4y2] {
    padding: var(--space-1) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-primary);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
}

.status-btn:hover[b-b91jxfd4y2] {
    background-color: var(--color-gray-100);
}

.status-btn.active[b-b91jxfd4y2] {
    background-color: var(--color-primary);
    color: white;
    border-color: var(--color-primary);
}

/* Search */
.search-input-wrapper[b-b91jxfd4y2] {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 200px;
}

.search-icon[b-b91jxfd4y2] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-b91jxfd4y2] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-b91jxfd4y2]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-b91jxfd4y2] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-b91jxfd4y2] {
    color: var(--color-primary);
}

.search-count[b-b91jxfd4y2] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-b91jxfd4y2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-b91jxfd4y2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-b91jxfd4y2] {
    opacity: 0.4;
}

.empty-state-text[b-b91jxfd4y2] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Order List */
.order-list[b-b91jxfd4y2] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Order Row */
.order-row[b-b91jxfd4y2] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.order-row:last-child[b-b91jxfd4y2] {
    border-bottom: none;
}

.order-row:hover[b-b91jxfd4y2] {
    background-color: rgba(11, 36, 62, 0.03);
    text-decoration: none;
    color: inherit;
}

/* Status Indicator */
.order-status-indicator[b-b91jxfd4y2] {
    flex-shrink: 0;
    width: 4px;
    height: 48px;
    border-radius: 2px;
}

.order-status-indicator.status-new[b-b91jxfd4y2] {
    background-color: var(--color-info, #0ea5e9);
}

.order-status-indicator.status-active[b-b91jxfd4y2] {
    background-color: var(--color-warning, #f59e0b);
}

.order-status-indicator.status-sent[b-b91jxfd4y2] {
    background-color: var(--color-primary);
}

.order-status-indicator.status-confirmed[b-b91jxfd4y2] {
    background-color: var(--color-success);
}

/* Order Info */
.order-info[b-b91jxfd4y2] {
    flex: 1;
    min-width: 0;
}

.order-customer[b-b91jxfd4y2] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.order-meta[b-b91jxfd4y2] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.order-code[b-b91jxfd4y2] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-b91jxfd4y2] {
    color: var(--color-gray-300);
}

/* Order Dates */
.order-dates[b-b91jxfd4y2] {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.order-date-item[b-b91jxfd4y2] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.order-date-item svg[b-b91jxfd4y2] {
    flex-shrink: 0;
}

/* Badges */
.order-badges[b-b91jxfd4y2] {
    flex-shrink: 0;
}

.badge[b-b91jxfd4y2] {
    display: inline-flex;
    align-items: center;
    padding: 2px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.badge-info[b-b91jxfd4y2] {
    background-color: #e0f2fe;
    color: #0369a1;
}

.badge-warning[b-b91jxfd4y2] {
    background-color: #fef3c7;
    color: #92400e;
}

.badge-primary[b-b91jxfd4y2] {
    background-color: rgba(11, 36, 62, 0.1);
    color: var(--color-primary);
}

.badge-success[b-b91jxfd4y2] {
    background-color: #dcfce7;
    color: #166534;
}

.badge-secondary[b-b91jxfd4y2] {
    background-color: var(--color-gray-100);
    color: var(--text-secondary);
}

/* Action Icon */
.order-action-icon[b-b91jxfd4y2] {
    flex-shrink: 0;
    color: var(--text-muted);
    opacity: 0.4;
    transition: opacity var(--transition-fast) var(--transition-ease);
}

.order-row:hover .order-action-icon[b-b91jxfd4y2] {
    opacity: 1;
    color: var(--color-primary);
}

.btn-new-order[b-b91jxfd4y2] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 1.1rem;
    background: var(--bs-primary, #0d6efd);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: filter 0.15s ease;
}

.btn-new-order:hover:not(:disabled)[b-b91jxfd4y2] {
    filter: brightness(1.1);
}

.btn-new-order:disabled[b-b91jxfd4y2] {
    opacity: 0.6;
    cursor: not-allowed;
}

.draft-label[b-b91jxfd4y2] {
    font-style: italic;
    color: #6c757d;
}

.btn-delete-draft[b-b91jxfd4y2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin-left: 0.5rem;
    background: transparent;
    color: #dc3545;
    border: 1px solid #f1aeb5;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.15s ease;
}

.btn-delete-draft:hover[b-b91jxfd4y2] {
    background: #f8d7da;
}

/* ── Delete confirmation modal ───────────────────────────────────── */

.modal-backdrop[b-b91jxfd4y2] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1040;
}

/* Sits above the backdrop; the layer itself ignores pointer events so clicks on the
   empty area fall through to the backdrop (close), while the dialog re-enables them. */
.modal-layer[b-b91jxfd4y2] {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: var(--space-4);
    pointer-events: none;
}

.modal-dialog[b-b91jxfd4y2] {
    pointer-events: auto;
    background: var(--bg-primary, #fff);
    border-radius: 10px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
    width: 100%;
    max-width: 420px;
    padding: var(--space-5, 1.5rem);
}

.modal-header[b-b91jxfd4y2] {
    display: flex;
    align-items: center;
    gap: var(--space-2, 0.5rem);
    color: var(--color-danger, #dc3545);
    margin-bottom: var(--space-3, 0.75rem);
}

.modal-title[b-b91jxfd4y2] {
    font-size: var(--font-size-lg, 1.125rem);
    font-weight: var(--font-weight-bold, 700);
    margin: 0;
    color: var(--color-primary);
}

.modal-body[b-b91jxfd4y2] {
    font-size: var(--font-size-sm, 0.9rem);
    color: var(--text-secondary, #495057);
    margin: 0 0 var(--space-5, 1.5rem) 0;
    line-height: 1.5;
}

.modal-actions[b-b91jxfd4y2] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-2, 0.5rem);
}

.btn-modal[b-b91jxfd4y2] {
    padding: 0.5rem 1.1rem;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
    transition: filter 0.15s ease, background 0.15s ease;
}

.btn-modal:disabled[b-b91jxfd4y2] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-modal-secondary[b-b91jxfd4y2] {
    background: var(--bg-primary, #fff);
    color: var(--text-secondary, #495057);
    border-color: var(--border-color-light, #dee2e6);
}

.btn-modal-secondary:hover:not(:disabled)[b-b91jxfd4y2] {
    background: var(--color-gray-100, #f1f3f5);
}

.btn-modal-danger[b-b91jxfd4y2] {
    background: var(--color-danger, #dc3545);
    color: #fff;
}

.btn-modal-danger:hover:not(:disabled)[b-b91jxfd4y2] {
    filter: brightness(1.08);
}

/* /Components/Pages/Webs/OrderTemplateSchedulerCreate.razor.rz.scp.css */
/* ===========================
   OrderTemplateSchedulerCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-tv4qzb08qx] {
    max-width: 1100px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-tv4qzb08qx] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-tv4qzb08qx] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-tv4qzb08qx] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-tv4qzb08qx] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-tv4qzb08qx] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-tv4qzb08qx] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-tv4qzb08qx] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-tv4qzb08qx] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-tv4qzb08qx] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-tv4qzb08qx] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-tv4qzb08qx] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-tv4qzb08qx] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-tv4qzb08qx] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-tv4qzb08qx]::placeholder {
    color: var(--color-gray-400);
}

.form-help-text[b-tv4qzb08qx] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: var(--space-1);
}

/* Weekday Checkboxes */
.weekday-checkboxes[b-tv4qzb08qx] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: var(--space-2);
}

.weekday-checkbox[b-tv4qzb08qx] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    cursor: pointer;
    padding: var(--space-2) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: all var(--transition-fast) var(--transition-ease);
    user-select: none;
}

.weekday-checkbox:hover[b-tv4qzb08qx] {
    border-color: var(--color-primary);
    background-color: var(--color-gray-50);
}

.weekday-checkbox input[type="checkbox"][b-tv4qzb08qx] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: var(--color-primary);
    flex-shrink: 0;
}

.weekday-checkbox span[b-tv4qzb08qx] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Status checkbox group */
.form-group-checkbox[b-tv4qzb08qx] {
    padding: var(--space-3) var(--space-4);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.form-check-label[b-tv4qzb08qx] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    cursor: pointer;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-primary);
    margin: 0;
}

.form-check-input[b-tv4qzb08qx] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: var(--color-primary);
    flex-shrink: 0;
}

.btn-action[b-tv4qzb08qx] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover:not(:disabled)[b-tv4qzb08qx] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-tv4qzb08qx] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-tv4qzb08qx] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-tv4qzb08qx] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-tv4qzb08qx] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: var(--space-1);
}

/* Responsive */
@media (max-width: 992px) {
    .form-grid[b-tv4qzb08qx] {
        grid-template-columns: repeat(2, 1fr);
    }

    .form-group-wide[b-tv4qzb08qx] {
        grid-column: span 2;
    }

    .weekday-checkboxes[b-tv4qzb08qx] {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 768px) {
    .form-grid[b-tv4qzb08qx] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-tv4qzb08qx] {
        grid-column: span 1;
    }

    .weekday-checkboxes[b-tv4qzb08qx] {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* /Components/Pages/Webs/OrderTemplateSchedulerEdit.razor.rz.scp.css */
/* ===========================
   OrderTemplateSchedulerEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-yojxrh4zax] {
    max-width: 1100px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-yojxrh4zax] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-yojxrh4zax] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-success[b-yojxrh4zax] {
    background-color: #edf7ed;
    border-left-color: var(--color-success, #2e7d32);
    color: #1e4620;
}

.alert-bar-close[b-yojxrh4zax] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-yojxrh4zax] {
    opacity: 1;
}

/* Loading & Empty States */
.loading-state[b-yojxrh4zax],
.empty-state[b-yojxrh4zax] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-8) var(--space-4);
    text-align: center;
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
    color: var(--text-muted);
}

.loading-state p[b-yojxrh4zax],
.empty-state-text[b-yojxrh4zax] {
    margin-top: var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.empty-state svg[b-yojxrh4zax] {
    color: var(--text-muted);
    opacity: 0.5;
}

/* Form Sections */
.form-section[b-yojxrh4zax] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-yojxrh4zax] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-yojxrh4zax] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-yojxrh4zax] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-yojxrh4zax] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-yojxrh4zax] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-yojxrh4zax] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-yojxrh4zax] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-yojxrh4zax] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-yojxrh4zax]::placeholder {
    color: var(--color-gray-400);
}

.form-help-text[b-yojxrh4zax] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: var(--space-1);
}

/* Readonly field (Edit only) */
.readonly-field[b-yojxrh4zax] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: var(--space-2) var(--space-3);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-height: 38px;
    justify-content: center;
}

.readonly-value[b-yojxrh4zax] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-primary);
}

.readonly-code[b-yojxrh4zax] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

/* Weekday Checkboxes */
.weekday-checkboxes[b-yojxrh4zax] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: var(--space-2);
}

.weekday-checkbox[b-yojxrh4zax] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    cursor: pointer;
    padding: var(--space-2) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: all var(--transition-fast) var(--transition-ease);
    user-select: none;
}

.weekday-checkbox:hover[b-yojxrh4zax] {
    border-color: var(--color-primary);
    background-color: var(--color-gray-50);
}

.weekday-checkbox input[type="checkbox"][b-yojxrh4zax] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: var(--color-primary);
    flex-shrink: 0;
}

.weekday-checkbox span[b-yojxrh4zax] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Status checkbox group */
.form-group-checkbox[b-yojxrh4zax] {
    padding: var(--space-3) var(--space-4);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.form-check-label[b-yojxrh4zax] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    cursor: pointer;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-primary);
    margin: 0;
}

.form-check-input[b-yojxrh4zax] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: var(--color-primary);
    flex-shrink: 0;
}

.btn-action[b-yojxrh4zax] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover:not(:disabled)[b-yojxrh4zax] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-yojxrh4zax] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-yojxrh4zax] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-yojxrh4zax] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-yojxrh4zax] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: var(--space-1);
}

/* Responsive */
@media (max-width: 992px) {
    .form-grid[b-yojxrh4zax] {
        grid-template-columns: repeat(2, 1fr);
    }

    .form-group-wide[b-yojxrh4zax] {
        grid-column: span 2;
    }

    .weekday-checkboxes[b-yojxrh4zax] {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 768px) {
    .form-grid[b-yojxrh4zax] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-yojxrh4zax] {
        grid-column: span 1;
    }

    .weekday-checkboxes[b-yojxrh4zax] {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* /Components/Pages/Webs/OrderTemplateSchedulerList.razor.rz.scp.css */
/* ===========================
   OrderTemplateSchedulerList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-c5oaje6n0z] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-c5oaje6n0z] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-c5oaje6n0z] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-c5oaje6n0z] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-c5oaje6n0z] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-c5oaje6n0z] {
    background-color: #edf7ed;
    border-left-color: var(--color-success, #2e7d32);
    color: #1e4620;
}

.alert-bar-danger[b-c5oaje6n0z] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-c5oaje6n0z] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-c5oaje6n0z] {
    opacity: 1;
}

/* Filter Bar */
.filter-bar[b-c5oaje6n0z] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    background-color: var(--bg-secondary, var(--color-gray-50));
    border: var(--border-width-thin) solid var(--border-color-light);
    flex-wrap: wrap;
}

.filter-group[b-c5oaje6n0z] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 180px;
}

.filter-label[b-c5oaje6n0z] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.filter-input[b-c5oaje6n0z] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.filter-input:focus[b-c5oaje6n0z] {
    border-color: var(--color-primary);
    outline: none;
}

.filter-input[b-c5oaje6n0z]::placeholder {
    color: var(--color-gray-400);
}

/* Loading / Empty States */
.loading-state[b-c5oaje6n0z] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16, 4rem) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-c5oaje6n0z] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16, 4rem) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-c5oaje6n0z] {
    opacity: 0.4;
}

.empty-state-text[b-c5oaje6n0z] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Table */
.table-responsive[b-c5oaje6n0z] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
}

.table[b-c5oaje6n0z] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    margin: 0;
}

.table thead th[b-c5oaje6n0z] {
    padding: var(--space-2) var(--space-3);
    background-color: var(--color-gray-50);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    text-align: left;
    white-space: nowrap;
}

.table tbody td[b-c5oaje6n0z] {
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    color: var(--color-gray-700);
    vertical-align: middle;
}

.table tbody tr:last-child td[b-c5oaje6n0z] {
    border-bottom: none;
}

.table tbody tr:hover[b-c5oaje6n0z] {
    background-color: rgba(11, 36, 62, 0.03);
}

.text-center[b-c5oaje6n0z] {
    text-align: center;
}

/* Weekday checkbox cells */
.weekday-check[b-c5oaje6n0z] {
    width: 44px;
    text-align: center;
    padding: var(--space-1) !important;
}

.weekday-check input[type="checkbox"][b-c5oaje6n0z] {
    width: 16px;
    height: 16px;
    cursor: default;
    accent-color: var(--color-primary);
}

.weekday-check input[type="checkbox"]:disabled[b-c5oaje6n0z] {
    opacity: 1;
}

/* Toggle button (active/inactive) */
.btn-toggle[b-c5oaje6n0z] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    color: var(--color-danger);
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-toggle:hover:not(:disabled)[b-c5oaje6n0z] {
    background-color: var(--color-gray-50);
}

.btn-toggle:disabled[b-c5oaje6n0z] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-toggle.active[b-c5oaje6n0z] {
    background-color: var(--color-success, #2e7d32);
    border-color: var(--color-success, #2e7d32);
    color: var(--color-white);
}

.btn-toggle.active:hover:not(:disabled)[b-c5oaje6n0z] {
    background-color: var(--color-success, #2e7d32);
    opacity: 0.85;
}

/* Action buttons */
.btn-group[b-c5oaje6n0z] {
    display: inline-flex;
    gap: var(--space-1);
}

.btn-sm[b-c5oaje6n0z] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-xs);
    cursor: pointer;
    text-decoration: none;
    border: var(--border-width-thin) solid transparent;
    background: none;
    transition: all var(--transition-fast) var(--transition-ease);
    min-width: 32px;
    min-height: 28px;
}

.btn-outline-primary[b-c5oaje6n0z] {
    color: var(--color-primary);
    border-color: var(--color-primary);
    background: transparent;
}

.btn-outline-primary:hover:not(:disabled)[b-c5oaje6n0z] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

.btn-outline-primary:disabled[b-c5oaje6n0z] {
    opacity: 0.4;
    cursor: not-allowed;
}

.btn-outline-secondary[b-c5oaje6n0z] {
    color: var(--text-muted);
    border-color: var(--border-color-light);
    background: transparent;
}

.btn-outline-secondary:hover:not(:disabled)[b-c5oaje6n0z] {
    background-color: var(--color-gray-100);
    color: var(--text-primary);
}

.btn-outline-danger[b-c5oaje6n0z] {
    color: var(--color-danger);
    border-color: var(--color-danger);
    background: transparent;
}

.btn-outline-danger:hover:not(:disabled)[b-c5oaje6n0z] {
    background-color: var(--color-danger);
    color: var(--color-white);
}

.btn-danger[b-c5oaje6n0z] {
    color: var(--color-white);
    border-color: var(--color-danger);
    background-color: var(--color-danger);
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

.btn-danger:hover:not(:disabled)[b-c5oaje6n0z] {
    opacity: 0.9;
}

/* Inline cell helpers */
.d-flex[b-c5oaje6n0z] {
    display: flex;
}

.flex-column[b-c5oaje6n0z] {
    flex-direction: column;
}

.fw-medium[b-c5oaje6n0z] {
    font-weight: var(--font-weight-medium);
}

.text-muted[b-c5oaje6n0z] {
    color: var(--text-muted);
}

.small[b-c5oaje6n0z] {
    font-size: var(--font-size-xs);
}

/* Pagination */
.pagination-bar[b-c5oaje6n0z] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-3) var(--space-4);
    margin-top: var(--space-4);
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

.pagination-info[b-c5oaje6n0z] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.pagination-controls[b-c5oaje6n0z] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.pagination-text[b-c5oaje6n0z] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    font-family: var(--font-mono);
    padding: 0 var(--space-2);
}

/* Delete Confirmation Modal */
.modal-backdrop[b-c5oaje6n0z] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: var(--z-modal-backdrop, 1040);
}

.modal-dialog[b-c5oaje6n0z] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 480px;
    z-index: var(--z-modal, 1050);
}

.modal-content[b-c5oaje6n0z] {
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
    box-shadow: var(--shadow-xl);
}

.modal-header[b-c5oaje6n0z] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.modal-title[b-c5oaje6n0z] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.btn-close[b-c5oaje6n0z] {
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: var(--text-muted);
    line-height: 1;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-close[b-c5oaje6n0z]::before {
    content: "×";
}

.btn-close:hover[b-c5oaje6n0z] {
    color: var(--color-primary);
}

.modal-body[b-c5oaje6n0z] {
    padding: var(--space-4);
    color: var(--text-primary);
    font-size: var(--font-size-sm);
}

.modal-body p[b-c5oaje6n0z] {
    margin: 0 0 var(--space-2) 0;
}

.modal-body p:last-child[b-c5oaje6n0z] {
    margin-bottom: 0;
}

.modal-footer[b-c5oaje6n0z] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-2);
    padding: var(--space-4);
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

/* Responsive */
@media (max-width: 768px) {
    .filter-bar[b-c5oaje6n0z] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-group[b-c5oaje6n0z] {
        min-width: 0;
    }

    .pagination-bar[b-c5oaje6n0z] {
        flex-direction: column;
        gap: var(--space-2);
    }
}

/* /Components/Pages/Webs/Reports/WebArticleStoreStatistic01.razor.rz.scp.css */
/* ===========================
   WebArticleStoreStatistic01 - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-zp6qkros3m] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-zp6qkros3m] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-zp6qkros3m] {
    flex: 1;
}

.page-header-right[b-zp6qkros3m] {
    flex-shrink: 0;
}

.page-title[b-zp6qkros3m] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-zp6qkros3m] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-zp6qkros3m] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Filter bar: due righe (riga 1 = Data + azioni; riga 2 = filtri client-side) */
.filter-bar[b-zp6qkros3m] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-row[b-zp6qkros3m] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
}

/* Riga 1: Data a sinistra, pulsanti Applica/Azzera a destra */
.filter-row-primary[b-zp6qkros3m] {
    justify-content: space-between;
}

.filter-actions[b-zp6qkros3m] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-2);
}

/* Riga 2: cinque filtri in colonne uguali (Gruppo Cliente | Punti Vendita | Reparti | Sottoreparti | Articolo) */
.filter-row-secondary[b-zp6qkros3m] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--space-3);
    align-items: end;
    padding-top: var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

.filter-row-secondary .filter-group[b-zp6qkros3m] {
    min-width: 0;
}

.filter-group[b-zp6qkros3m] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}

.filter-label[b-zp6qkros3m] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-input[b-zp6qkros3m] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-zp6qkros3m] {
    border-color: var(--color-primary);
}

/* Allinea il DateField (componente MTS) agli altri controlli del filter-bar */
.filter-group-date[b-zp6qkros3m] {
    min-width: 160px;
}

.filter-group-date[b-zp6qkros3m]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-date[b-zp6qkros3m]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-date[b-zp6qkros3m]  .date-input {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Multi-select */
.filter-group-store[b-zp6qkros3m] {
    min-width: 220px;
}

/* Il MultiSelectField condiviso dentro la barra: override di densita' come per gli altri
   controlli condivisi. */
.filter-group-store[b-zp6qkros3m]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-store[b-zp6qkros3m]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-store[b-zp6qkros3m]  .multiselect-toggle {
    padding: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Summary Stats */
.summary-stats[b-zp6qkros3m] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-zp6qkros3m] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-zp6qkros3m] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-zp6qkros3m] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Alert Bars */
.alert-bar[b-zp6qkros3m] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-zp6qkros3m] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-zp6qkros3m] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-zp6qkros3m] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-zp6qkros3m] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-zp6qkros3m] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-zp6qkros3m] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-zp6qkros3m] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-zp6qkros3m]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-zp6qkros3m] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-zp6qkros3m] {
    color: var(--color-primary);
}

.search-count[b-zp6qkros3m] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-zp6qkros3m],
.empty-state[b-zp6qkros3m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-zp6qkros3m] {
    opacity: 0.4;
}

.empty-state-text[b-zp6qkros3m] {
    font-size: var(--font-size-base);
    margin: 0;
}

.btn-outline-primary[b-zp6qkros3m] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-zp6qkros3m] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Report Table */
.report-table-wrapper[b-zp6qkros3m] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-zp6qkros3m] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
}

.report-table thead[b-zp6qkros3m] {
    /* Livello più scuro della gerarchia: testata colonne / totale */
    background-color: var(--color-gray-500);
    color: var(--text-on-primary);
}

.report-table thead th[b-zp6qkros3m] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-gray-500);
    position: sticky;
    top: 0;
    z-index: 1;
}

.report-table thead th.sortable[b-zp6qkros3m] {
    cursor: pointer;
    user-select: none;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table thead th.sortable:hover[b-zp6qkros3m] {
    background-color: rgba(255, 255, 255, 0.1);
}

.report-table tbody tr[b-zp6qkros3m] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-zp6qkros3m] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-zp6qkros3m] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table tbody tr:nth-child(even)[b-zp6qkros3m] {
    background-color: var(--bg-secondary);
}

.report-table tbody tr:nth-child(even):hover[b-zp6qkros3m] {
    background-color: rgba(11, 36, 62, 0.05);
}

.report-table td[b-zp6qkros3m] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.col-code[b-zp6qkros3m] {
    text-align: left;
}

.col-desc[b-zp6qkros3m] {
    text-align: left;
    min-width: 200px;
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.col-um[b-zp6qkros3m] {
    text-align: center;
}

.col-num[b-zp6qkros3m] {
    text-align: right;
}

.cell-code[b-zp6qkros3m] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.8;
}

/* Group rows */
.report-table tbody tr.group-row[b-zp6qkros3m] {
    background-color: transparent !important;
}

.report-table tbody tr.group-row td[b-zp6qkros3m] {
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.report-table tbody tr.group-row-year td[b-zp6qkros3m] {
    /* Livello intermedio della gerarchia: testata sottogruppo articolo */
    background-color: var(--color-gray-200);
    color: var(--color-gray-800);
    font-size: var(--font-size-sm);
    padding: var(--space-2) var(--space-3);
    border-top: 2px solid var(--color-gray-300);
}

.report-table tbody tr.group-row-year td strong[b-zp6qkros3m] {
    color: inherit;
}

.report-table tbody tr.group-row:hover[b-zp6qkros3m] {
    background-color: transparent !important;
}

/* Group expand/collapse actions */
.group-actions[b-zp6qkros3m] {
    display: flex;
    gap: var(--space-2);
    flex-shrink: 0;
}

/* Collapsible group header */
.report-table tbody tr.group-row-toggle[b-zp6qkros3m] {
    cursor: pointer;
    user-select: none;
}

.group-toggle-icon[b-zp6qkros3m] {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    color: inherit;
    margin-right: var(--space-2);
}

.group-count[b-zp6qkros3m] {
    margin-left: var(--space-2);
    text-transform: none;
    letter-spacing: 0;
    font-weight: var(--font-weight-normal);
    opacity: 0.75;
    font-size: var(--font-size-xs);
}

@media (max-width: 768px) {
    .page-header[b-zp6qkros3m] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-zp6qkros3m] {
        padding: var(--space-4) var(--space-2);
    }
}

/* Mobile / portrait: la tabella diventa a blocchi.
   Riga di dettaglio su 2 righe: codice + descrizione sopra, quantità sotto. */
@media (max-width: 640px) {
    .filter-group[b-zp6qkros3m],
    .filter-group-store[b-zp6qkros3m],
    .filter-group-date[b-zp6qkros3m] {
        flex: 1 1 100%;
        min-width: 0;
    }

    /* Riga 2: da 4 a 2 colonne su smartphone */
    .filter-row-secondary[b-zp6qkros3m] {
        grid-template-columns: 1fr 1fr;
    }

    .multiselect-panel[b-zp6qkros3m] {
        min-width: min(280px, 92vw);
        max-width: 92vw;
    }

    /* Toolbar ricerca + azioni gruppo: impila e allinea su mobile */
    .search-bar[b-zp6qkros3m] {
        flex-wrap: wrap;
        gap: var(--space-2);
    }

    .search-input-wrapper[b-zp6qkros3m] {
        flex: 1 1 100%;
    }

    .group-actions[b-zp6qkros3m] {
        flex: 1 1 auto;
        flex-wrap: wrap;
    }

    .group-actions .btn[b-zp6qkros3m] {
        flex: 1 1 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--space-1);
    }

    .search-count[b-zp6qkros3m] {
        margin-left: auto;
    }

    .report-table-wrapper[b-zp6qkros3m] {
        overflow-x: visible;
        border: none;
    }

    .report-table[b-zp6qkros3m] {
        display: block;
        white-space: normal;
    }

    .report-table thead[b-zp6qkros3m] {
        display: none;
    }

    .report-table tbody[b-zp6qkros3m] {
        display: block;
    }

    /* Riga di dettaglio: griglia 2 colonne → riga 1 (codice, descrizione), riga 2 (colli, pezzi) */
    .report-table tbody tr:not(.group-row)[b-zp6qkros3m] {
        display: grid;
        grid-template-columns: auto 1fr;
        column-gap: var(--space-3);
        row-gap: var(--space-1);
        padding: var(--space-2) var(--space-3);
        border-bottom: var(--border-width-thin) solid var(--border-color-light);
    }

    .report-table tbody tr:not(.group-row) td[b-zp6qkros3m] {
        padding: 0;
        border: none;
        white-space: normal;
    }

    .report-table tbody tr:not(.group-row) td.col-desc[b-zp6qkros3m] {
        color: var(--text-secondary);
    }

    /* Testata di gruppo (articolo): etichetta a tutta larghezza, subtotali sotto */
    .report-table tbody tr.group-row-year[b-zp6qkros3m] {
        display: grid;
        grid-template-columns: auto 1fr;
        column-gap: var(--space-3);
        row-gap: var(--space-1);
    }

    .report-table tbody tr.group-row-year td[b-zp6qkros3m] {
        padding: var(--space-1) var(--space-3);
        border: none;
    }

    .report-table tbody tr.group-row-year td:first-child[b-zp6qkros3m] {
        grid-column: 1 / -1;
    }

    /* Quantità su mobile: allineate a sinistra con etichetta inline */
    .report-table td.col-num[b-zp6qkros3m] {
        text-align: left;
    }

    .report-table td.col-num[b-zp6qkros3m]::before {
        content: attr(data-label) ": ";
        margin-right: var(--space-1);
        color: var(--text-muted);
        font-weight: var(--font-weight-medium);
        text-transform: uppercase;
        letter-spacing: 0.5px;
        font-size: var(--font-size-xs);
    }
}
/* /Components/Pages/Webs/Reports/WebOrderStatistic01.razor.rz.scp.css */
/* ===========================
   WebOrderStatistic01 - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-6vbkap0wxc] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-6vbkap0wxc] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-6vbkap0wxc] {
    flex: 1;
}

.page-title[b-6vbkap0wxc] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-6vbkap0wxc] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-6vbkap0wxc] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Filter bar */
.filter-bar[b-6vbkap0wxc] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-group[b-6vbkap0wxc] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}

.filter-label[b-6vbkap0wxc] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-input[b-6vbkap0wxc] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-6vbkap0wxc] {
    border-color: var(--color-primary);
}

/* Summary Stats */
.summary-stats[b-6vbkap0wxc] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-6vbkap0wxc] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-6vbkap0wxc] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-6vbkap0wxc] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Alert Bars */
.alert-bar[b-6vbkap0wxc] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-6vbkap0wxc] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-6vbkap0wxc] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-6vbkap0wxc] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-6vbkap0wxc] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-6vbkap0wxc] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-6vbkap0wxc] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-6vbkap0wxc] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-6vbkap0wxc]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-6vbkap0wxc] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-6vbkap0wxc] {
    color: var(--color-primary);
}

.search-count[b-6vbkap0wxc] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-6vbkap0wxc],
.empty-state[b-6vbkap0wxc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-6vbkap0wxc] {
    opacity: 0.4;
}

.empty-state-text[b-6vbkap0wxc] {
    font-size: var(--font-size-base);
    margin: 0;
}

.btn-outline-primary[b-6vbkap0wxc] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-6vbkap0wxc] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Report Table */
.report-table-wrapper[b-6vbkap0wxc] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-6vbkap0wxc] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
}

.report-table thead[b-6vbkap0wxc] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.report-table thead th[b-6vbkap0wxc] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    position: sticky;
    top: 0;
    z-index: 1;
}

.report-table thead th.sortable[b-6vbkap0wxc] {
    cursor: pointer;
    user-select: none;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table thead th.sortable:hover[b-6vbkap0wxc] {
    background-color: rgba(255, 255, 255, 0.1);
}

.report-table tbody tr[b-6vbkap0wxc] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-6vbkap0wxc] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-6vbkap0wxc] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table tbody tr:nth-child(even)[b-6vbkap0wxc] {
    background-color: var(--bg-secondary);
}

.report-table tbody tr:nth-child(even):hover[b-6vbkap0wxc] {
    background-color: rgba(11, 36, 62, 0.05);
}

.report-table td[b-6vbkap0wxc] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.col-code[b-6vbkap0wxc] {
    text-align: left;
}

.col-desc[b-6vbkap0wxc] {
    text-align: left;
    min-width: 200px;
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.col-um[b-6vbkap0wxc] {
    text-align: center;
}

.col-num[b-6vbkap0wxc] {
    text-align: right;
}

.cell-code[b-6vbkap0wxc] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.8;
}

/* Group rows */
.report-table tbody tr.group-row[b-6vbkap0wxc] {
    background-color: transparent !important;
}

.report-table tbody tr.group-row td[b-6vbkap0wxc] {
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.report-table tbody tr.group-row-year td[b-6vbkap0wxc] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    font-size: var(--font-size-sm);
    padding: var(--space-2) var(--space-3);
    border-top: 2px solid var(--color-primary);
}

.report-table tbody tr.group-row-year td strong[b-6vbkap0wxc] {
    color: var(--text-on-primary);
}

.report-table tbody tr.group-row-month td[b-6vbkap0wxc] {
    background-color: var(--bg-secondary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    padding: var(--space-2) var(--space-3) var(--space-2) var(--space-5);
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

.report-table tbody tr.group-row:hover[b-6vbkap0wxc] {
    background-color: transparent !important;
}

@media (max-width: 768px) {
    .page-header[b-6vbkap0wxc] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-6vbkap0wxc] {
        padding: var(--space-4) var(--space-2);
    }
}
/* /Components/Pages/Webs/Reports/WebOrderStoreStatistic01.razor.rz.scp.css */
/* ===========================
   WebOrderStoreStatistic01 - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-rcxftje3rf] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-rcxftje3rf] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-rcxftje3rf] {
    flex: 1;
}

.page-header-right[b-rcxftje3rf] {
    flex-shrink: 0;
}

.page-title[b-rcxftje3rf] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-rcxftje3rf] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-rcxftje3rf] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Filter bar: due righe (riga 1 = Data + azioni; riga 2 = filtri client-side) */
.filter-bar[b-rcxftje3rf] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-row[b-rcxftje3rf] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
}

/* Riga 1: Data a sinistra, pulsanti Applica/Azzera a destra */
.filter-row-primary[b-rcxftje3rf] {
    justify-content: space-between;
}

.filter-actions[b-rcxftje3rf] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-2);
}

/* Riga 2: cinque filtri in colonne uguali (Gruppo Cliente | Punti Vendita | Reparti | Sottoreparti | Articolo) */
.filter-row-secondary[b-rcxftje3rf] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--space-3);
    align-items: end;
    padding-top: var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

.filter-row-secondary .filter-group[b-rcxftje3rf] {
    min-width: 0;
}

.filter-group[b-rcxftje3rf] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}

.filter-label[b-rcxftje3rf] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-input[b-rcxftje3rf] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-rcxftje3rf] {
    border-color: var(--color-primary);
}

/* Allinea il DateField (componente MTS) agli altri controlli del filter-bar */
.filter-group-date[b-rcxftje3rf] {
    min-width: 160px;
}

.filter-group-date[b-rcxftje3rf]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-date[b-rcxftje3rf]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-date[b-rcxftje3rf]  .date-input {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Multi-select Punti Vendita */
.filter-group-store[b-rcxftje3rf] {
    min-width: 220px;
}

/* Il MultiSelectField condiviso dentro la barra: override di densita' come per gli altri
   controlli condivisi. */
.filter-group-store[b-rcxftje3rf]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-store[b-rcxftje3rf]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-store[b-rcxftje3rf]  .multiselect-toggle {
    padding: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Summary Stats */
.summary-stats[b-rcxftje3rf] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-rcxftje3rf] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-rcxftje3rf] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-rcxftje3rf] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Alert Bars */
.alert-bar[b-rcxftje3rf] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-rcxftje3rf] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-rcxftje3rf] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-rcxftje3rf] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-rcxftje3rf] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-rcxftje3rf] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-rcxftje3rf] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-rcxftje3rf] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-rcxftje3rf]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-rcxftje3rf] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-rcxftje3rf] {
    color: var(--color-primary);
}

.search-count[b-rcxftje3rf] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-rcxftje3rf],
.empty-state[b-rcxftje3rf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-rcxftje3rf] {
    opacity: 0.4;
}

.empty-state-text[b-rcxftje3rf] {
    font-size: var(--font-size-base);
    margin: 0;
}

.btn-outline-primary[b-rcxftje3rf] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-rcxftje3rf] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Report Table */
.report-table-wrapper[b-rcxftje3rf] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-rcxftje3rf] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
}

.report-table thead[b-rcxftje3rf] {
    /* Livello più scuro della gerarchia: testata colonne / totale */
    background-color: var(--color-gray-500);
    color: var(--text-on-primary);
}

.report-table thead th[b-rcxftje3rf] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-gray-500);
    position: sticky;
    top: 0;
    z-index: 1;
}

.report-table thead th.sortable[b-rcxftje3rf] {
    cursor: pointer;
    user-select: none;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table thead th.sortable:hover[b-rcxftje3rf] {
    background-color: rgba(255, 255, 255, 0.1);
}

.report-table tbody tr[b-rcxftje3rf] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-rcxftje3rf] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-rcxftje3rf] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table tbody tr:nth-child(even)[b-rcxftje3rf] {
    background-color: var(--bg-secondary);
}

.report-table tbody tr:nth-child(even):hover[b-rcxftje3rf] {
    background-color: rgba(11, 36, 62, 0.05);
}

.report-table td[b-rcxftje3rf] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.col-code[b-rcxftje3rf] {
    text-align: left;
}

.col-desc[b-rcxftje3rf] {
    text-align: left;
    min-width: 200px;
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.col-um[b-rcxftje3rf] {
    text-align: center;
}

.col-num[b-rcxftje3rf] {
    text-align: right;
}

.cell-code[b-rcxftje3rf] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.8;
}

/* Group rows */
.report-table tbody tr.group-row[b-rcxftje3rf] {
    background-color: transparent !important;
}

.report-table tbody tr.group-row td[b-rcxftje3rf] {
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.report-table tbody tr.group-row-year td[b-rcxftje3rf] {
    /* Livello intermedio della gerarchia: testata sottogruppo punto vendita */
    background-color: var(--color-gray-200);
    color: var(--color-gray-800);
    font-size: var(--font-size-sm);
    padding: var(--space-2) var(--space-3);
    border-top: 2px solid var(--color-gray-300);
}

.report-table tbody tr.group-row-year td strong[b-rcxftje3rf] {
    color: inherit;
}

.report-table tbody tr.group-row:hover[b-rcxftje3rf] {
    background-color: transparent !important;
}

/* Group expand/collapse actions */
.group-actions[b-rcxftje3rf] {
    display: flex;
    gap: var(--space-2);
    flex-shrink: 0;
}

/* Collapsible store group header */
.report-table tbody tr.group-row-toggle[b-rcxftje3rf] {
    cursor: pointer;
    user-select: none;
}

.group-toggle-icon[b-rcxftje3rf] {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    color: inherit;
    margin-right: var(--space-2);
}

.group-count[b-rcxftje3rf] {
    margin-left: var(--space-2);
    text-transform: none;
    letter-spacing: 0;
    font-weight: var(--font-weight-normal);
    opacity: 0.75;
    font-size: var(--font-size-xs);
}

@media (max-width: 768px) {
    .page-header[b-rcxftje3rf] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-rcxftje3rf] {
        padding: var(--space-4) var(--space-2);
    }
}

/* Mobile / portrait: la tabella diventa a blocchi.
   Riga di dettaglio su 2 righe: codice + descrizione sopra, quantità sotto. */
@media (max-width: 640px) {
    .filter-group[b-rcxftje3rf],
    .filter-group-store[b-rcxftje3rf],
    .filter-group-date[b-rcxftje3rf] {
        flex: 1 1 100%;
        min-width: 0;
    }

    /* Riga 2: da 4 a 2 colonne su smartphone */
    .filter-row-secondary[b-rcxftje3rf] {
        grid-template-columns: 1fr 1fr;
    }

    .multiselect-panel[b-rcxftje3rf] {
        min-width: min(280px, 92vw);
        max-width: 92vw;
    }

    /* Toolbar ricerca + azioni gruppo: impila e allinea su mobile */
    .search-bar[b-rcxftje3rf] {
        flex-wrap: wrap;
        gap: var(--space-2);
    }

    .search-input-wrapper[b-rcxftje3rf] {
        flex: 1 1 100%;
    }

    .group-actions[b-rcxftje3rf] {
        flex: 1 1 auto;
        flex-wrap: wrap;
    }

    .group-actions .btn[b-rcxftje3rf] {
        flex: 1 1 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--space-1);
    }

    .search-count[b-rcxftje3rf] {
        margin-left: auto;
    }

    .report-table-wrapper[b-rcxftje3rf] {
        overflow-x: visible;
        border: none;
    }

    .report-table[b-rcxftje3rf] {
        display: block;
        white-space: normal;
    }

    .report-table thead[b-rcxftje3rf] {
        display: none;
    }

    .report-table tbody[b-rcxftje3rf] {
        display: block;
    }

    /* Riga di dettaglio: griglia 2 colonne → riga 1 (codice, descrizione), riga 2 (colli, pezzi) */
    .report-table tbody tr:not(.group-row)[b-rcxftje3rf] {
        display: grid;
        grid-template-columns: auto 1fr;
        column-gap: var(--space-3);
        row-gap: var(--space-1);
        padding: var(--space-2) var(--space-3);
        border-bottom: var(--border-width-thin) solid var(--border-color-light);
    }

    .report-table tbody tr:not(.group-row) td[b-rcxftje3rf] {
        padding: 0;
        border: none;
        white-space: normal;
    }

    .report-table tbody tr:not(.group-row) td.col-desc[b-rcxftje3rf] {
        color: var(--text-secondary);
    }

    /* Testata di gruppo (punto vendita): etichetta a tutta larghezza, subtotali sotto */
    .report-table tbody tr.group-row-year[b-rcxftje3rf] {
        display: grid;
        grid-template-columns: auto 1fr;
        column-gap: var(--space-3);
        row-gap: var(--space-1);
    }

    .report-table tbody tr.group-row-year td[b-rcxftje3rf] {
        padding: var(--space-1) var(--space-3);
        border: none;
    }

    .report-table tbody tr.group-row-year td:first-child[b-rcxftje3rf] {
        grid-column: 1 / -1;
    }

    /* Quantità su mobile: allineate a sinistra con etichetta inline */
    .report-table td.col-num[b-rcxftje3rf] {
        text-align: left;
    }

    .report-table td.col-num[b-rcxftje3rf]::before {
        content: attr(data-label) ": ";
        margin-right: var(--space-1);
        color: var(--text-muted);
        font-weight: var(--font-weight-medium);
        text-transform: uppercase;
        letter-spacing: 0.5px;
        font-size: var(--font-size-xs);
    }
}
/* /Components/Pages/Webs/Reports/WebStoreItemBalance01.razor.rz.scp.css */
/* ===========================
   WebStoreItemBalance01 - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-wsbs151f28] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-wsbs151f28] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-wsbs151f28] {
    flex: 1;
}

.page-header-right[b-wsbs151f28] {
    flex-shrink: 0;
}

.page-title[b-wsbs151f28] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-wsbs151f28] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-wsbs151f28] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Filter bar */
.filter-bar[b-wsbs151f28] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.filter-row[b-wsbs151f28] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
}

.filter-row-primary[b-wsbs151f28] {
    justify-content: space-between;
    align-items: center;
}

.filter-actions[b-wsbs151f28] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-2);
}

.filter-check[b-wsbs151f28] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    cursor: pointer;
}

.filter-check input[b-wsbs151f28] {
    cursor: pointer;
}

.filter-row-secondary[b-wsbs151f28] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-3);
    align-items: end;
    padding-top: var(--space-3);
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

.filter-row-secondary .filter-group[b-wsbs151f28] {
    min-width: 0;
}

.filter-group[b-wsbs151f28] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 150px;
}

.filter-label[b-wsbs151f28] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-input[b-wsbs151f28] {
    padding: var(--space-2);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
}

.filter-input:focus[b-wsbs151f28] {
    border-color: var(--color-primary);
}

/* Multi-select */
.filter-group-store[b-wsbs151f28] {
    min-width: 220px;
}

/* Il MultiSelectField condiviso dentro la barra: override di densita' come per gli altri
   controlli condivisi. */
.filter-group-store[b-wsbs151f28]  .form-group {
    max-width: none;
    width: 100%;
    gap: var(--space-1);
}

.filter-group-store[b-wsbs151f28]  .form-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.filter-group-store[b-wsbs151f28]  .multiselect-toggle {
    padding: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Summary Stats */
.summary-stats[b-wsbs151f28] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.stat-card[b-wsbs151f28] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    min-width: 130px;
    flex: 1;
}

.stat-label[b-wsbs151f28] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value[b-wsbs151f28] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

/* Alert Bars */
.alert-bar[b-wsbs151f28] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-wsbs151f28] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-wsbs151f28] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-wsbs151f28] {
    opacity: 1;
}

/* Toolbar (espandi/comprimi + paginazione) */
.search-bar[b-wsbs151f28] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.group-actions[b-wsbs151f28] {
    display: flex;
    gap: var(--space-2);
    flex-shrink: 0;
}

.pagination[b-wsbs151f28] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-shrink: 0;
    margin-left: auto;
}

.pagination-info[b-wsbs151f28] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.search-count[b-wsbs151f28] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.btn-outline-primary[b-wsbs151f28] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-wsbs151f28] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.btn-outline-secondary[b-wsbs151f28] {
    background: transparent;
    color: var(--text-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.btn-outline-secondary:hover:not(:disabled)[b-wsbs151f28] {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.btn:disabled[b-wsbs151f28] {
    opacity: 0.5;
    cursor: default;
}

/* Loading / Empty States */
.loading-state[b-wsbs151f28],
.empty-state[b-wsbs151f28] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-wsbs151f28] {
    opacity: 0.4;
}

.empty-state-text[b-wsbs151f28] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Report Table */
.report-table-wrapper[b-wsbs151f28] {
    overflow-x: auto;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.report-table[b-wsbs151f28] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    white-space: nowrap;
}

.report-table thead[b-wsbs151f28] {
    background-color: var(--color-gray-500);
    color: var(--text-on-primary);
}

.report-table thead th[b-wsbs151f28] {
    padding: var(--space-3) var(--space-3);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-gray-500);
    position: sticky;
    top: 0;
    z-index: 1;
}

.report-table tbody tr[b-wsbs151f28] {
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.report-table tbody tr:last-child[b-wsbs151f28] {
    border-bottom: none;
}

.report-table tbody tr:hover[b-wsbs151f28] {
    background-color: rgba(11, 36, 62, 0.03);
}

.report-table tbody tr:nth-child(even)[b-wsbs151f28] {
    background-color: var(--bg-secondary);
}

.report-table td[b-wsbs151f28] {
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
}

.col-code[b-wsbs151f28] {
    text-align: left;
}

.col-desc[b-wsbs151f28] {
    text-align: left;
    min-width: 200px;
    max-width: 340px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.col-num[b-wsbs151f28] {
    text-align: right;
}

.cell-code[b-wsbs151f28] {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.8;
}

/* Righe sotto scorta */
.report-table tbody tr.row-below td[b-wsbs151f28] {
    background-color: #fdeded !important;
    color: #842029;
}

.report-table tbody tr.row-below td.col-num strong[b-wsbs151f28] {
    color: #b02a37;
}

/* Group rows */
.report-table tbody tr.group-row[b-wsbs151f28] {
    background-color: transparent !important;
}

.report-table tbody tr.group-row td[b-wsbs151f28] {
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.report-table tbody tr.group-row-year td[b-wsbs151f28] {
    background-color: var(--color-gray-200);
    color: var(--color-gray-800);
    font-size: var(--font-size-sm);
    padding: var(--space-2) var(--space-3);
    border-top: 2px solid var(--color-gray-300);
}

.report-table tbody tr.group-row-year td strong[b-wsbs151f28] {
    color: inherit;
}

.report-table tbody tr.group-row:hover[b-wsbs151f28] {
    background-color: transparent !important;
}

.report-table tbody tr.group-row-toggle[b-wsbs151f28] {
    cursor: pointer;
    user-select: none;
}

.group-toggle-icon[b-wsbs151f28] {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    color: inherit;
    margin-right: var(--space-2);
}

.group-count[b-wsbs151f28] {
    margin-left: var(--space-2);
    text-transform: none;
    letter-spacing: 0;
    font-weight: var(--font-weight-normal);
    opacity: 0.75;
    font-size: var(--font-size-xs);
}

@media (max-width: 768px) {
    .page-header[b-wsbs151f28] {
        flex-direction: column;
        gap: var(--space-3);
    }

    .page-container[b-wsbs151f28] {
        padding: var(--space-4) var(--space-2);
    }
}

/* Mobile / portrait */
@media (max-width: 640px) {
    .filter-group[b-wsbs151f28],
    .filter-group-store[b-wsbs151f28] {
        flex: 1 1 100%;
        min-width: 0;
    }

    .filter-row-secondary[b-wsbs151f28] {
        grid-template-columns: 1fr 1fr;
    }

    .multiselect-panel[b-wsbs151f28] {
        min-width: min(280px, 92vw);
        max-width: 92vw;
    }

    .search-bar[b-wsbs151f28] {
        flex-wrap: wrap;
    }

    .report-table-wrapper[b-wsbs151f28] {
        overflow-x: visible;
        border: none;
    }

    .report-table[b-wsbs151f28] {
        display: block;
        white-space: normal;
    }

    .report-table thead[b-wsbs151f28] {
        display: none;
    }

    .report-table tbody[b-wsbs151f28] {
        display: block;
    }

    .report-table tbody tr:not(.group-row)[b-wsbs151f28] {
        display: grid;
        grid-template-columns: auto 1fr;
        column-gap: var(--space-3);
        row-gap: var(--space-1);
        padding: var(--space-2) var(--space-3);
        border-bottom: var(--border-width-thin) solid var(--border-color-light);
    }

    .report-table tbody tr:not(.group-row) td[b-wsbs151f28] {
        padding: 0;
        border: none;
        white-space: normal;
    }

    .report-table tbody tr.group-row-year[b-wsbs151f28] {
        display: grid;
        grid-template-columns: auto 1fr;
        column-gap: var(--space-3);
        row-gap: var(--space-1);
    }

    .report-table tbody tr.group-row-year td[b-wsbs151f28] {
        padding: var(--space-1) var(--space-3);
        border: none;
    }

    .report-table tbody tr.group-row-year td:first-child[b-wsbs151f28] {
        grid-column: 1 / -1;
    }

    .report-table td.col-num[b-wsbs151f28] {
        text-align: left;
    }

    .report-table td.col-num[b-wsbs151f28]::before {
        content: attr(data-label) ": ";
        margin-right: var(--space-1);
        color: var(--text-muted);
        font-weight: var(--font-weight-medium);
        text-transform: uppercase;
        letter-spacing: 0.5px;
        font-size: var(--font-size-xs);
    }
}
/* /Components/Pages/Webs/WebsContactCreate.razor.rz.scp.css */
/* WebsContactCreate - Scoped Styles */

.page-container[b-gdu7t653xv] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-gdu7t653xv] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-gdu7t653xv] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-gdu7t653xv] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-gdu7t653xv] { opacity: 1; }

.form-section[b-gdu7t653xv] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-gdu7t653xv] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-gdu7t653xv] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-gdu7t653xv] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-gdu7t653xv] { display: flex; flex-direction: column; }
.form-group-wide[b-gdu7t653xv] { grid-column: span 2; }
.form-group-checkbox[b-gdu7t653xv] { justify-content: flex-end; }

.form-label[b-gdu7t653xv] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-gdu7t653xv] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-gdu7t653xv] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-gdu7t653xv]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-gdu7t653xv] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }

.form-checkbox-label[b-gdu7t653xv] { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); color: var(--color-gray-700); cursor: pointer; padding: var(--space-2) 0; }
.btn-action[b-gdu7t653xv] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-gdu7t653xv] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-gdu7t653xv] { opacity: 0.65; cursor: not-allowed; }

.btn-outline-primary[b-gdu7t653xv] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-gdu7t653xv] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-gdu7t653xv] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-gdu7t653xv] { grid-template-columns: 1fr; }
    .form-group-wide[b-gdu7t653xv] { grid-column: span 1; }
}
/* /Components/Pages/Webs/WebsContactEdit.razor.rz.scp.css */
/* WebsContactEdit - Scoped Styles */

.page-container[b-yk4q6yb1bi] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-yk4q6yb1bi] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-yk4q6yb1bi] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-yk4q6yb1bi] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-yk4q6yb1bi] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-yk4q6yb1bi] { opacity: 1; }

.loading-state[b-yk4q6yb1bi], .empty-state[b-yk4q6yb1bi] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state-text[b-yk4q6yb1bi] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-yk4q6yb1bi] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-yk4q6yb1bi] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-yk4q6yb1bi] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-yk4q6yb1bi] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-yk4q6yb1bi] { display: flex; flex-direction: column; }
.form-group-wide[b-yk4q6yb1bi] { grid-column: span 2; }
.form-group-checkbox[b-yk4q6yb1bi] { justify-content: flex-end; }

.form-label[b-yk4q6yb1bi] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-yk4q6yb1bi] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-yk4q6yb1bi] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-yk4q6yb1bi]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-yk4q6yb1bi] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }

.form-checkbox-label[b-yk4q6yb1bi] { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); color: var(--color-gray-700); cursor: pointer; padding: var(--space-2) 0; }
.btn-action[b-yk4q6yb1bi] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-yk4q6yb1bi] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-yk4q6yb1bi] { opacity: 0.65; cursor: not-allowed; }

.btn-outline-primary[b-yk4q6yb1bi] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-yk4q6yb1bi] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-yk4q6yb1bi] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-yk4q6yb1bi] { grid-template-columns: 1fr; }
    .form-group-wide[b-yk4q6yb1bi] { grid-column: span 1; }
}
/* /Components/Pages/Webs/WebsContactList.razor.rz.scp.css */
/* WebsContactList - Scoped Styles */

.page-container[b-gcfzypjnr5] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-gcfzypjnr5] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-gcfzypjnr5] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-gcfzypjnr5] { background-color: var(--color-action-active); }
.btn-action:disabled[b-gcfzypjnr5] { opacity: 0.65; cursor: not-allowed; }

.alert-bar[b-gcfzypjnr5] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-gcfzypjnr5] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-gcfzypjnr5] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-gcfzypjnr5] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-gcfzypjnr5] { opacity: 1; }

.search-bar[b-gcfzypjnr5] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-gcfzypjnr5] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-gcfzypjnr5] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-gcfzypjnr5] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-gcfzypjnr5]::placeholder { color: var(--text-muted); }
.search-clear[b-gcfzypjnr5] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-gcfzypjnr5] { color: var(--color-primary); }
.search-toggle[b-gcfzypjnr5] { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-xs); color: var(--text-secondary); cursor: pointer; user-select: none; white-space: nowrap; }
.search-count[b-gcfzypjnr5] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-gcfzypjnr5], .empty-state[b-gcfzypjnr5] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-gcfzypjnr5] { opacity: 0.4; }
.empty-state-text[b-gcfzypjnr5] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-gcfzypjnr5] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-gcfzypjnr5] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-gcfzypjnr5] { border-bottom: none; }
.item-row:hover[b-gcfzypjnr5] { background-color: rgba(11, 36, 62, 0.03); }
.item-row-blocked[b-gcfzypjnr5] { opacity: 0.6; }

.item-avatar[b-gcfzypjnr5] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }

.item-info[b-gcfzypjnr5] { flex: 1; min-width: 0; }
.item-name[b-gcfzypjnr5] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); display: flex; align-items: center; gap: var(--space-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-gcfzypjnr5] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-gcfzypjnr5] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }
.meta-separator[b-gcfzypjnr5] { color: var(--color-gray-300); }

.badge-blocked[b-gcfzypjnr5] { display: inline-block; font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); padding: 1px var(--space-2); background-color: rgba(178, 34, 34, 0.08); color: var(--color-action); text-transform: uppercase; letter-spacing: 0.3px; }

.item-actions[b-gcfzypjnr5] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }

.action-separator[b-gcfzypjnr5] {
    display: inline-block;
    width: 1px;
    height: 20px;
    background-color: var(--border-color-light);
    margin: 0 var(--space-2);
}
.btn-icon[b-gcfzypjnr5] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-gcfzypjnr5] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-gcfzypjnr5] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.pagination-bar[b-gcfzypjnr5] { display: flex; align-items: center; justify-content: center; gap: var(--space-3); margin-top: var(--space-4); }
.pagination-info[b-gcfzypjnr5] { font-size: var(--font-size-xs); color: var(--text-muted); }

.overlay[b-gcfzypjnr5] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-gcfzypjnr5] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-gcfzypjnr5] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-gcfzypjnr5] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-gcfzypjnr5] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-gcfzypjnr5] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-gcfzypjnr5] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-gcfzypjnr5] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }

.btn-outline-primary[b-gcfzypjnr5] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-gcfzypjnr5] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }
.btn-outline-primary:disabled[b-gcfzypjnr5] { opacity: 0.5; cursor: not-allowed; }

@media (max-width: 768px) {
    .item-row[b-gcfzypjnr5] { flex-wrap: wrap; }
    .item-actions[b-gcfzypjnr5] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Webs/WebsContactProducts.razor.rz.scp.css */
/* ===========================
   WebsContactProducts - Scoped Styles
   =========================== */

.page-container[b-gw6lgghgvk] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-gw6lgghgvk] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-gw6lgghgvk] {
    flex: 1;
}

.back-link[b-gw6lgghgvk] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    text-decoration: none;
    margin-bottom: var(--space-2);
}

.back-link:hover[b-gw6lgghgvk] {
    color: var(--color-primary);
}

.page-title[b-gw6lgghgvk] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-gw6lgghgvk] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-gw6lgghgvk] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Alert Bars */
.alert-bar[b-gw6lgghgvk] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-gw6lgghgvk] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-gw6lgghgvk] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-gw6lgghgvk] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-gw6lgghgvk] {
    opacity: 1;
}

/* Contact Header Card */
.contact-header-card[b-gw6lgghgvk] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-left: var(--border-width-thick) solid var(--color-primary);
    margin-bottom: var(--space-4);
}

.contact-header-icon[b-gw6lgghgvk] {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

.contact-header-info[b-gw6lgghgvk] {
    flex: 1;
    min-width: 0;
}

.contact-header-title[b-gw6lgghgvk] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.contact-header-meta[b-gw6lgghgvk] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.contact-code[b-gw6lgghgvk] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

/* Search Bar */
.search-bar[b-gw6lgghgvk] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-gw6lgghgvk] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-gw6lgghgvk] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-gw6lgghgvk] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-gw6lgghgvk]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-gw6lgghgvk] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-gw6lgghgvk] {
    color: var(--color-primary);
}

.search-count[b-gw6lgghgvk] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty */
.loading-state[b-gw6lgghgvk],
.empty-state[b-gw6lgghgvk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-gw6lgghgvk] {
    opacity: 0.4;
}

.empty-state-text[b-gw6lgghgvk] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-gw6lgghgvk] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.item-row[b-gw6lgghgvk] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-3) var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-gw6lgghgvk] {
    border-bottom: none;
}

.item-row:hover[b-gw6lgghgvk] {
    background-color: rgba(11, 36, 62, 0.03);
}

.item-row-linked[b-gw6lgghgvk] {
    background-color: rgba(11, 36, 62, 0.04);
}

.item-checkbox[b-gw6lgghgvk] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

    .item-checkbox input[type="checkbox"][b-gw6lgghgvk] {
        width: 18px;
        height: 18px;
        cursor: pointer;
        accent-color: var(--color-primary);
    }

.item-info[b-gw6lgghgvk] {
    flex: 1;
    min-width: 0;
}

.item-name[b-gw6lgghgvk] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    cursor: pointer;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-gw6lgghgvk] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-gw6lgghgvk] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-gw6lgghgvk] {
    color: var(--color-gray-300);
}

.badge-blocked[b-gw6lgghgvk] {
    display: inline-block;
    padding: 1px 6px;
    background-color: rgba(178, 34, 34, 0.1);
    color: var(--color-action);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.badge-linked[b-gw6lgghgvk] {
    display: inline-block;
    padding: 1px 6px;
    background-color: rgba(11, 36, 62, 0.08);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
}

.item-busy[b-gw6lgghgvk] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    color: var(--color-primary);
}

/* Inline stock editor (qta_scorta_min / qta_scorta_max / qta_pezzixcollo) */
.item-stock-edit[b-gw6lgghgvk] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-4) var(--space-3) calc(var(--space-4) + 18px + var(--space-4));
    background-color: rgba(11, 36, 62, 0.02);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    flex-wrap: wrap;
}

.item-list .item-stock-edit:last-child[b-gw6lgghgvk] {
    border-bottom: none;
}

.item-row-linked + .item-stock-edit[b-gw6lgghgvk] {
    margin-top: -1px;
}

.stock-field[b-gw6lgghgvk] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.stock-field label[b-gw6lgghgvk] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.stock-input[b-gw6lgghgvk] {
    width: 110px;
    text-align: right;
}

.stock-actions[b-gw6lgghgvk] {
    display: flex;
    align-items: center;
    margin-left: auto;
}

.stock-actions .btn[b-gw6lgghgvk] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
}
/* /Components/Pages/Webs/WebsDepartmentCreate.razor.rz.scp.css */
/* ===========================
   WebsDepartmentCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-nstn221k37] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-nstn221k37] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-nstn221k37] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-nstn221k37] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-nstn221k37] { opacity: 1; }

.form-section[b-nstn221k37] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-nstn221k37] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-nstn221k37] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-nstn221k37] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-nstn221k37] { display: flex; flex-direction: column; }
.form-group-wide[b-nstn221k37] { grid-column: span 2; }
.form-label[b-nstn221k37] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-nstn221k37] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-nstn221k37] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-nstn221k37]::placeholder { color: var(--color-gray-400); }
.btn-action[b-nstn221k37] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-nstn221k37] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-nstn221k37] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-nstn221k37] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-nstn221k37] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-nstn221k37] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-nstn221k37] { grid-template-columns: 1fr; }
    .form-group-wide[b-nstn221k37] { grid-column: span 1; }
}
/* /Components/Pages/Webs/WebsDepartmentEdit.razor.rz.scp.css */
/* ===========================
   WebsDepartmentEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-94e66817oc] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-94e66817oc] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-94e66817oc] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-94e66817oc] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-94e66817oc] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-94e66817oc] { opacity: 1; }

.loading-state[b-94e66817oc] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-94e66817oc] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-94e66817oc] { opacity: 0.4; }
.empty-state-text[b-94e66817oc] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-94e66817oc] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-94e66817oc] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-94e66817oc] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-94e66817oc] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-94e66817oc] { display: flex; flex-direction: column; }
.form-group-wide[b-94e66817oc] { grid-column: span 2; }
.form-label[b-94e66817oc] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-94e66817oc] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-94e66817oc] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-94e66817oc]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-94e66817oc] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-94e66817oc] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-94e66817oc] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-94e66817oc] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-94e66817oc] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-94e66817oc] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-94e66817oc] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-94e66817oc] { grid-template-columns: 1fr; }
    .form-group-wide[b-94e66817oc] { grid-column: span 1; }
}
/* /Components/Pages/Webs/WebsDepartmentList.razor.rz.scp.css */
/* ===========================
   WebsDepartmentList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-5u5zkscxeg] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-5u5zkscxeg] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-5u5zkscxeg] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-5u5zkscxeg] { background-color: var(--color-action-active); }

.alert-bar[b-5u5zkscxeg] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-5u5zkscxeg] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-5u5zkscxeg] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-5u5zkscxeg] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-5u5zkscxeg] { opacity: 1; }

.search-bar[b-5u5zkscxeg] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-5u5zkscxeg] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-5u5zkscxeg] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-5u5zkscxeg] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-5u5zkscxeg]::placeholder { color: var(--text-muted); }
.search-clear[b-5u5zkscxeg] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-5u5zkscxeg] { color: var(--color-primary); }
.search-count[b-5u5zkscxeg] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-5u5zkscxeg] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-5u5zkscxeg] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-5u5zkscxeg] { opacity: 0.4; }
.empty-state-text[b-5u5zkscxeg] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-5u5zkscxeg] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-5u5zkscxeg] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-5u5zkscxeg] { border-bottom: none; }
.item-row:hover[b-5u5zkscxeg] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-5u5zkscxeg] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-5u5zkscxeg] { flex: 1; min-width: 0; }
.item-name[b-5u5zkscxeg] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-5u5zkscxeg] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-5u5zkscxeg] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-5u5zkscxeg] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-5u5zkscxeg] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-5u5zkscxeg] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-5u5zkscxeg] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-5u5zkscxeg] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-5u5zkscxeg] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-5u5zkscxeg] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-5u5zkscxeg] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-5u5zkscxeg] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-5u5zkscxeg] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-5u5zkscxeg] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-5u5zkscxeg] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-5u5zkscxeg] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-5u5zkscxeg] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-5u5zkscxeg] { flex-wrap: wrap; }
    .item-actions[b-5u5zkscxeg] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Webs/WebsOrderDetail.razor.rz.scp.css */
/* ===========================
   WebsOrderDetail - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-5hf5lxm6ip] {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Header */
.page-header[b-5hf5lxm6ip] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-5hf5lxm6ip] {
    flex: 1;
}

.page-header-right[b-5hf5lxm6ip] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.back-link[b-5hf5lxm6ip] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    text-decoration: none;
    margin-bottom: var(--space-2);
}

.back-link:hover[b-5hf5lxm6ip] {
    color: var(--color-primary);
}

.page-title[b-5hf5lxm6ip] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-5hf5lxm6ip] {
    color: var(--color-primary);
    flex-shrink: 0;
}

/* Action Buttons */
.btn-action[b-5hf5lxm6ip] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-5hf5lxm6ip] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
}

.btn-action-secondary[b-5hf5lxm6ip] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-success);
    color: white;
    border: var(--border-width-thin) solid var(--color-success);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action-secondary:hover[b-5hf5lxm6ip] {
    opacity: 0.9;
}

/* Alert Bars */
.alert-bar[b-5hf5lxm6ip] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-5hf5lxm6ip] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-5hf5lxm6ip] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-5hf5lxm6ip] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-5hf5lxm6ip] {
    opacity: 1;
}

/* Badges */
.badge[b-5hf5lxm6ip] {
    display: inline-flex;
    align-items: center;
    padding: 2px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.badge-lg[b-5hf5lxm6ip] {
    padding: var(--space-1) var(--space-3);
    font-size: var(--font-size-sm);
}

.badge-info[b-5hf5lxm6ip] {
    background-color: #e0f2fe;
    color: #0369a1;
}

.badge-warning[b-5hf5lxm6ip] {
    background-color: #fef3c7;
    color: #92400e;
}

.badge-primary[b-5hf5lxm6ip] {
    background-color: rgba(11, 36, 62, 0.1);
    color: var(--color-primary);
}

.badge-success[b-5hf5lxm6ip] {
    background-color: #dcfce7;
    color: #166534;
}

.badge-secondary[b-5hf5lxm6ip] {
    background-color: var(--color-gray-100);
    color: var(--text-secondary);
}

/* Loading / Empty States */
.loading-state[b-5hf5lxm6ip] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-5hf5lxm6ip] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state-text[b-5hf5lxm6ip] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Info Card */
.info-card[b-5hf5lxm6ip] {
    padding: var(--space-4);
    margin-bottom: var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.info-grid[b-5hf5lxm6ip] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--space-4);
}

.info-item[b-5hf5lxm6ip] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.info-label[b-5hf5lxm6ip] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.info-value[b-5hf5lxm6ip] {
    font-size: var(--font-size-sm);
    color: var(--color-primary);
    font-weight: var(--font-weight-medium);
}

/* Info Separator + Time Gauge */
.info-separator[b-5hf5lxm6ip] {
    height: 1px;
    background-color: var(--border-color-light);
    margin: var(--space-4) 0;
}

.time-gauge-section[b-5hf5lxm6ip] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.time-gauge-header[b-5hf5lxm6ip] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.time-gauge-label[b-5hf5lxm6ip] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.time-gauge-remaining[b-5hf5lxm6ip] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    font-family: var(--font-mono);
}

.time-gauge-remaining.time-ok[b-5hf5lxm6ip] {
    color: var(--color-success, #16a34a);
}

.time-gauge-remaining.time-warning[b-5hf5lxm6ip] {
    color: #d97706;
}

.time-gauge-remaining.time-critical[b-5hf5lxm6ip] {
    color: #dc2626;
}

.time-gauge-remaining.time-expired[b-5hf5lxm6ip] {
    color: #991b1b;
}

.time-gauge-track[b-5hf5lxm6ip] {
    width: 100%;
    height: 8px;
    background-color: var(--color-gray-100, #f1f5f9);
    border-radius: 4px;
    overflow: hidden;
}

.time-gauge-fill[b-5hf5lxm6ip] {
    height: 100%;
    border-radius: 4px;
    transition: width 0.6s ease;
    min-width: 2px;
}

.time-gauge-fill.gauge-ok[b-5hf5lxm6ip] {
    background-color: var(--color-success, #16a34a);
}

.time-gauge-fill.gauge-warning[b-5hf5lxm6ip] {
    background-color: #d97706;
}

.time-gauge-fill.gauge-critical[b-5hf5lxm6ip] {
    background-color: #dc2626;
}

.time-gauge-fill.gauge-expired[b-5hf5lxm6ip] {
    background-color: #991b1b;
}

.time-gauge-footer[b-5hf5lxm6ip] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.time-gauge-date[b-5hf5lxm6ip] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

.time-gauge-percent[b-5hf5lxm6ip] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    font-weight: var(--font-weight-medium);
}

/* Department Tabs */
.department-tabs[b-5hf5lxm6ip] {
    display: flex;
    gap: var(--space-1);
    margin-bottom: var(--space-4);
    flex-wrap: wrap;
}

.dept-tab[b-5hf5lxm6ip] {
    padding: var(--space-2) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-primary);
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
}

.dept-tab:hover[b-5hf5lxm6ip] {
    background-color: var(--color-gray-100);
}

.dept-tab.active[b-5hf5lxm6ip] {
    background-color: var(--color-primary);
    color: white;
    border-color: var(--color-primary);
}

/* Search Bar */
.search-bar[b-5hf5lxm6ip] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
    padding: var(--space-2) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-primary);
    color: var(--text-muted);
}

.search-input[b-5hf5lxm6ip] {
    flex: 1;
    border: none;
    outline: none;
    font-size: var(--font-size-sm);
    background: transparent;
    color: var(--text-primary);
}

.search-input[b-5hf5lxm6ip]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-5hf5lxm6ip] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: inline-flex;
    align-items: center;
}

.search-clear:hover[b-5hf5lxm6ip] {
    color: var(--color-primary);
}

.search-divider[b-5hf5lxm6ip] {
    width: 1px;
    height: 20px;
    background-color: var(--border-color-light);
    flex-shrink: 0;
}

.toggle-filter[b-5hf5lxm6ip] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    cursor: pointer;
    flex-shrink: 0;
    white-space: nowrap;
}

.toggle-label[b-5hf5lxm6ip] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    font-weight: var(--font-weight-medium);
}

.toggle-switch[b-5hf5lxm6ip] {
    position: relative;
    display: inline-block;
    width: 36px;
    height: 20px;
    flex-shrink: 0;
}

.toggle-switch input[b-5hf5lxm6ip] {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-slider[b-5hf5lxm6ip] {
    position: absolute;
    inset: 0;
    background-color: var(--border-color-light);
    border-radius: 10px;
    transition: background-color var(--transition-fast) var(--transition-ease);
    cursor: pointer;
}

.toggle-slider[b-5hf5lxm6ip]::before {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    border-radius: 50%;
    transition: transform var(--transition-fast) var(--transition-ease);
}

.toggle-switch input:checked + .toggle-slider[b-5hf5lxm6ip] {
    background-color: var(--color-primary);
}

.toggle-switch input:checked + .toggle-slider[b-5hf5lxm6ip]::before {
    transform: translateX(16px);
}

/* Rows Table */
.rows-table-container[b-5hf5lxm6ip] {
    border: var(--border-width-thin) solid var(--border-color-light);
    overflow-x: auto;
}

.rows-table[b-5hf5lxm6ip] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}

.rows-table thead[b-5hf5lxm6ip] {
    background-color: var(--bg-secondary);
}

.rows-table th[b-5hf5lxm6ip] {
    padding: var(--space-2) var(--space-3);
    text-align: left;
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.rows-table td[b-5hf5lxm6ip] {
    padding: var(--space-2) var(--space-3);
    vertical-align: middle;
}

/* Two-row layout: description row + data row */
.row-desc td[b-5hf5lxm6ip] {
    padding-bottom: 0;
    border-bottom: none;
}

.row-data td[b-5hf5lxm6ip] {
    padding-top: var(--space-1);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.col-row[b-5hf5lxm6ip] {
    width: 40px;
    text-align: center;
    vertical-align: middle;
    font-weight: var(--font-weight-semibold);
    color: var(--text-muted);
    border-right: var(--border-width-thin) solid var(--border-color-light);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.col-desc[b-5hf5lxm6ip] {
    padding: var(--space-2) var(--space-3);
}

/* Hover and state styles apply to both row-desc and row-data */
.rows-table tbody tr.row-editable[b-5hf5lxm6ip] {
    cursor: pointer;
}

.rows-table tbody tr.row-desc.row-editable:hover[b-5hf5lxm6ip],
.rows-table tbody tr.row-data.row-editable:hover[b-5hf5lxm6ip] {
    background-color: rgba(11, 36, 62, 0.04);
}

.rows-table tbody tr.row-desc.row-editing[b-5hf5lxm6ip],
.rows-table tbody tr.row-data.row-editing[b-5hf5lxm6ip] {
    background-color: rgba(11, 36, 62, 0.06);
    cursor: default;
}

.rows-table tbody tr.row-excluded[b-5hf5lxm6ip] {
    opacity: 0.4;
    cursor: default;
}

.rows-table tbody tr.row-data.row-excluded td[b-5hf5lxm6ip] {
    text-decoration: line-through;
}

.text-right[b-5hf5lxm6ip] {
    text-align: right !important;
}

/* Column widths */
.col-article-code[b-5hf5lxm6ip] { width: 120px; }
.col-um[b-5hf5lxm6ip] { width: 50px; }
.col-stock[b-5hf5lxm6ip] { width: 80px; }
.col-proposed[b-5hf5lxm6ip] { width: 70px; }
.col-min[b-5hf5lxm6ip] { width: 70px; }
.col-parcels[b-5hf5lxm6ip] { width: 80px; }
.col-pieces[b-5hf5lxm6ip] { width: 70px; }

/* Highlight editable column (Colli) with a subtle green tint */
.rows-table tbody td.col-parcels[b-5hf5lxm6ip] {
    background-color: rgba(34, 197, 94, 0.08);
}

.rows-table tbody tr.row-excluded td.col-parcels[b-5hf5lxm6ip] {
    background-color: transparent;
}
.col-pxc[b-5hf5lxm6ip] { width: 70px; }
.col-actions[b-5hf5lxm6ip] { width: 70px; white-space: nowrap; }

/* Article cell */
.article-code[b-5hf5lxm6ip] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.article-desc[b-5hf5lxm6ip] {
    font-size: var(--font-size-sm);
    color: var(--color-primary);
    font-weight: var(--font-weight-bold);
}

/* Edit Input */
.stepper-group[b-5hf5lxm6ip] {
    display: inline-flex;
    align-items: center;
    gap: 0;
}

.stepper-btn[b-5hf5lxm6ip] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: var(--border-width-thin) solid var(--color-primary);
    background: var(--bg-secondary);
    color: var(--color-primary);
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
}

.stepper-btn:first-child[b-5hf5lxm6ip] {
    border-radius: var(--border-radius-sm) 0 0 var(--border-radius-sm);
    border-right: none;
}

.stepper-btn:last-child[b-5hf5lxm6ip] {
    border-radius: 0 var(--border-radius-sm) var(--border-radius-sm) 0;
    border-left: none;
}

.stepper-btn:active[b-5hf5lxm6ip] {
    background: var(--color-primary);
    color: white;
}

.edit-input[b-5hf5lxm6ip] {
    width: 56px;
    height: 32px;
    padding: 2px var(--space-1);
    border: var(--border-width-thin) solid var(--color-primary);
    border-radius: 0;
    font-size: var(--font-size-sm);
    text-align: center;
    background: white;
    -moz-appearance: textfield;
}

.edit-input[b-5hf5lxm6ip]::-webkit-inner-spin-button,
.edit-input[b-5hf5lxm6ip]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.edit-input:focus[b-5hf5lxm6ip] {
    outline: none;
    box-shadow: 0 0 0 2px rgba(11, 36, 62, 0.15);
}

.calc-value[b-5hf5lxm6ip] {
    font-weight: 600;
    color: var(--color-primary);
}

/* Icon Buttons */
.btn-icon[b-5hf5lxm6ip] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: inline-flex;
    align-items: center;
    transition: color var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-5hf5lxm6ip] {
    color: var(--color-primary);
}

.btn-icon-success:hover[b-5hf5lxm6ip] {
    color: var(--color-success);
}

/* ===========================
   Responsive - Progressive column hiding
   Two-row layout: description always visible full-width.
   Data row hides less important columns progressively.
   Priority (always visible): # → Colli → Pezzi → Actions
   =========================== */

/* Medium screens: hide UM, Giacenza, Proposti, Scorta Min */
@media (max-width: 1024px) {
    .col-um[b-5hf5lxm6ip],
    .col-stock[b-5hf5lxm6ip],
    .col-proposed[b-5hf5lxm6ip],
    .col-min[b-5hf5lxm6ip] {
        display: none;
    }
}

/* Small screens: also hide Pz/Collo */
@media (max-width: 768px) {
    .col-pxc[b-5hf5lxm6ip] {
        display: none;
    }

    .rows-table th[b-5hf5lxm6ip],
    .rows-table td[b-5hf5lxm6ip] {
        padding: var(--space-1) var(--space-2);
    }

    .stepper-btn[b-5hf5lxm6ip] {
        width: 28px;
        height: 28px;
    }

    .edit-input[b-5hf5lxm6ip] {
        width: 46px;
        height: 28px;
        font-size: var(--font-size-xs);
    }
}

/* Extra small: compact */
@media (max-width: 480px) {
    .col-article-code[b-5hf5lxm6ip] {
        display: none;
    }

    .article-desc[b-5hf5lxm6ip] {
        font-size: var(--font-size-xs);
    }

    .col-row[b-5hf5lxm6ip] {
        width: 30px;
    }

    .rows-table th[b-5hf5lxm6ip],
    .rows-table td[b-5hf5lxm6ip] {
        padding: var(--space-1);
    }

    .col-actions[b-5hf5lxm6ip] {
        width: 60px;
    }
}

.send-cooldown-hint[b-5hf5lxm6ip] {
    font-size: 0.8rem;
    color: var(--text-muted, #6b7280);
    white-space: nowrap;
}
/* /Components/Pages/Webs/WebsOrderList.razor.rz.scp.css */
/* ===========================
   WebsOrderList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-v8r9ceb1vz] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bars */
.alert-bar[b-v8r9ceb1vz] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-v8r9ceb1vz] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-v8r9ceb1vz] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-v8r9ceb1vz] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-v8r9ceb1vz] {
    opacity: 1;
}

/* Filter Bar */
.filter-bar[b-v8r9ceb1vz] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    flex-wrap: wrap;
}

.status-filters[b-v8r9ceb1vz] {
    display: flex;
    gap: var(--space-1);
    flex-shrink: 0;
}

.status-btn[b-v8r9ceb1vz] {
    padding: var(--space-1) var(--space-3);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-primary);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
}

.status-btn:hover[b-v8r9ceb1vz] {
    background-color: var(--color-gray-100);
}

.status-btn.active[b-v8r9ceb1vz] {
    background-color: var(--color-primary);
    color: white;
    border-color: var(--color-primary);
}

/* Search */
.search-input-wrapper[b-v8r9ceb1vz] {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 200px;
}

.search-icon[b-v8r9ceb1vz] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-v8r9ceb1vz] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-v8r9ceb1vz]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-v8r9ceb1vz] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-v8r9ceb1vz] {
    color: var(--color-primary);
}

.search-count[b-v8r9ceb1vz] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-v8r9ceb1vz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-v8r9ceb1vz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-v8r9ceb1vz] {
    opacity: 0.4;
}

.empty-state-text[b-v8r9ceb1vz] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Order List */
.order-list[b-v8r9ceb1vz] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Order Row */
.order-row[b-v8r9ceb1vz] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.order-row:last-child[b-v8r9ceb1vz] {
    border-bottom: none;
}

.order-row:hover[b-v8r9ceb1vz] {
    background-color: rgba(11, 36, 62, 0.03);
    text-decoration: none;
    color: inherit;
}

/* Status Indicator */
.order-status-indicator[b-v8r9ceb1vz] {
    flex-shrink: 0;
    width: 4px;
    height: 48px;
    border-radius: 2px;
}

.order-status-indicator.status-new[b-v8r9ceb1vz] {
    background-color: var(--color-info, #0ea5e9);
}

.order-status-indicator.status-active[b-v8r9ceb1vz] {
    background-color: var(--color-warning, #f59e0b);
}

.order-status-indicator.status-sent[b-v8r9ceb1vz] {
    background-color: var(--color-primary);
}

.order-status-indicator.status-confirmed[b-v8r9ceb1vz] {
    background-color: var(--color-success);
}

/* Order Info */
.order-info[b-v8r9ceb1vz] {
    flex: 1;
    min-width: 0;
}

.order-customer[b-v8r9ceb1vz] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.order-meta[b-v8r9ceb1vz] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.order-code[b-v8r9ceb1vz] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-v8r9ceb1vz] {
    color: var(--color-gray-300);
}

/* Order Dates */
.order-dates[b-v8r9ceb1vz] {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.order-date-item[b-v8r9ceb1vz] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.order-date-item svg[b-v8r9ceb1vz] {
    flex-shrink: 0;
}

/* Badges */
.order-badges[b-v8r9ceb1vz] {
    flex-shrink: 0;
}

.badge[b-v8r9ceb1vz] {
    display: inline-flex;
    align-items: center;
    padding: 2px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.badge-info[b-v8r9ceb1vz] {
    background-color: #e0f2fe;
    color: #0369a1;
}

.badge-warning[b-v8r9ceb1vz] {
    background-color: #fef3c7;
    color: #92400e;
}

.badge-primary[b-v8r9ceb1vz] {
    background-color: rgba(11, 36, 62, 0.1);
    color: var(--color-primary);
}

.badge-success[b-v8r9ceb1vz] {
    background-color: #dcfce7;
    color: #166534;
}

.badge-secondary[b-v8r9ceb1vz] {
    background-color: var(--color-gray-100);
    color: var(--text-secondary);
}

/* Action Icon */
.order-action-icon[b-v8r9ceb1vz] {
    flex-shrink: 0;
    color: var(--text-muted);
    opacity: 0.4;
    transition: opacity var(--transition-fast) var(--transition-ease);
}

.order-row:hover .order-action-icon[b-v8r9ceb1vz] {
    opacity: 1;
    color: var(--color-primary);
}

/* /Components/Pages/Webs/WebsProductCreate.razor.rz.scp.css */
/* ===========================
   CountryCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-0xwvrq94it] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Alert Bar */
.alert-bar[b-0xwvrq94it] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-0xwvrq94it] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-0xwvrq94it] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-0xwvrq94it] {
    opacity: 1;
}

/* Form Sections */
.form-section[b-0xwvrq94it] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-0xwvrq94it] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-0xwvrq94it] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-0xwvrq94it] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-0xwvrq94it] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-0xwvrq94it] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-0xwvrq94it] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-0xwvrq94it] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-0xwvrq94it] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-0xwvrq94it]::placeholder {
    color: var(--color-gray-400);
}

.btn-action[b-0xwvrq94it] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-0xwvrq94it] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-0xwvrq94it] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-0xwvrq94it] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-0xwvrq94it] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-0xwvrq94it] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-0xwvrq94it] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-0xwvrq94it] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Webs/WebsProductCustomers.razor.rz.scp.css */
/* ===========================
   WebsProductCustomers - Scoped Styles
   =========================== */

.page-container[b-9msdxlxok0] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.page-header[b-9msdxlxok0] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
    gap: var(--space-4);
}

.page-header-left[b-9msdxlxok0] {
    flex: 1;
}

.back-link[b-9msdxlxok0] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    text-decoration: none;
    margin-bottom: var(--space-2);
}

.back-link:hover[b-9msdxlxok0] {
    color: var(--color-primary);
}

.page-title[b-9msdxlxok0] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
}

.page-title svg[b-9msdxlxok0] {
    color: var(--color-primary);
    flex-shrink: 0;
}

.page-subtitle[b-9msdxlxok0] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    margin: var(--space-1) 0 0 0;
}

/* Alert Bars */
.alert-bar[b-9msdxlxok0] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-9msdxlxok0] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-9msdxlxok0] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-9msdxlxok0] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-9msdxlxok0] {
    opacity: 1;
}

/* Product Header Card */
.product-header-card[b-9msdxlxok0] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-left: var(--border-width-thick) solid var(--color-primary);
    margin-bottom: var(--space-4);
}

.product-header-icon[b-9msdxlxok0] {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

.product-header-info[b-9msdxlxok0] {
    flex: 1;
    min-width: 0;
}

.product-header-title[b-9msdxlxok0] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.product-header-meta[b-9msdxlxok0] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.product-code[b-9msdxlxok0] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

/* Search Bar */
.search-bar[b-9msdxlxok0] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-9msdxlxok0] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-9msdxlxok0] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-9msdxlxok0] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-9msdxlxok0]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-9msdxlxok0] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-9msdxlxok0] {
    color: var(--color-primary);
}

.search-count[b-9msdxlxok0] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty */
.loading-state[b-9msdxlxok0],
.empty-state[b-9msdxlxok0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-9msdxlxok0] {
    opacity: 0.4;
}

.empty-state-text[b-9msdxlxok0] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-9msdxlxok0] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.item-row[b-9msdxlxok0] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-3) var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-9msdxlxok0] {
    border-bottom: none;
}

.item-row:hover[b-9msdxlxok0] {
    background-color: rgba(11, 36, 62, 0.03);
}

.item-row-linked[b-9msdxlxok0] {
    background-color: rgba(11, 36, 62, 0.04);
}

.item-checkbox[b-9msdxlxok0] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

    .item-checkbox input[type="checkbox"][b-9msdxlxok0] {
        width: 18px;
        height: 18px;
        cursor: pointer;
        accent-color: var(--color-primary);
    }

.item-info[b-9msdxlxok0] {
    flex: 1;
    min-width: 0;
}

.item-name[b-9msdxlxok0] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    cursor: pointer;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-9msdxlxok0] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-9msdxlxok0] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-9msdxlxok0] {
    color: var(--color-gray-300);
}

.badge-blocked[b-9msdxlxok0] {
    display: inline-block;
    padding: 1px 6px;
    background-color: rgba(178, 34, 34, 0.1);
    color: var(--color-action);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.badge-linked[b-9msdxlxok0] {
    display: inline-block;
    padding: 1px 6px;
    background-color: rgba(11, 36, 62, 0.08);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
}

.item-busy[b-9msdxlxok0] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    color: var(--color-primary);
}

/* Inline stock editor (qta_scorta_min / qta_scorta_max / qta_pezzixcollo) */
.item-stock-edit[b-9msdxlxok0] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-4) var(--space-3) calc(var(--space-4) + 18px + var(--space-4));
    background-color: rgba(11, 36, 62, 0.02);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    flex-wrap: wrap;
}

.item-list .item-stock-edit:last-child[b-9msdxlxok0] {
    border-bottom: none;
}

.item-row-linked + .item-stock-edit[b-9msdxlxok0] {
    margin-top: -1px;
}

.stock-field[b-9msdxlxok0] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.stock-field label[b-9msdxlxok0] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.stock-input[b-9msdxlxok0] {
    width: 110px;
    text-align: right;
}

.stock-actions[b-9msdxlxok0] {
    display: flex;
    align-items: center;
    margin-left: auto;
}

.stock-actions .btn[b-9msdxlxok0] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
}
/* /Components/Pages/Webs/WebsProductEdit.razor.rz.scp.css */
/* ===========================
   CountryEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-egzmc8m51q] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

.subtitle-code[b-egzmc8m51q] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    opacity: 0.6;
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

/* Alert Bar */
.alert-bar[b-egzmc8m51q] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-danger[b-egzmc8m51q] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-egzmc8m51q] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-egzmc8m51q] {
    opacity: 1;
}

/* Loading / Empty States */
.loading-state[b-egzmc8m51q] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-egzmc8m51q] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-egzmc8m51q] {
    opacity: 0.4;
}

.empty-state-text[b-egzmc8m51q] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Form Sections */
.form-section[b-egzmc8m51q] {
    margin-bottom: var(--space-6);
    padding: var(--space-5);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.section-title[b-egzmc8m51q] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 var(--space-4) 0;
    padding-bottom: var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.section-title svg[b-egzmc8m51q] {
    color: var(--color-primary);
    opacity: 0.6;
    flex-shrink: 0;
}

/* Form Grid */
.form-grid[b-egzmc8m51q] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
}

.form-group[b-egzmc8m51q] {
    display: flex;
    flex-direction: column;
}

.form-group-wide[b-egzmc8m51q] {
    grid-column: span 2;
}

/* Form Controls */
.form-label[b-egzmc8m51q] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-egzmc8m51q] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control:focus[b-egzmc8m51q] {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: none;
}

.form-control[b-egzmc8m51q]::placeholder {
    color: var(--color-gray-400);
}

.form-control-static[b-egzmc8m51q] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    background-color: var(--color-gray-50);
    border: var(--border-width-thin) solid var(--border-color-light);
    font-family: var(--font-mono);
}

.btn-action[b-egzmc8m51q] {
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-egzmc8m51q] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
}

.btn-action:disabled[b-egzmc8m51q] {
    opacity: 0.65;
    cursor: not-allowed;
}

.btn-outline-primary[b-egzmc8m51q] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-egzmc8m51q] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
    text-decoration: none;
}

/* Validation */
[b-egzmc8m51q] .validation-message {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-grid[b-egzmc8m51q] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-egzmc8m51q] {
        grid-column: span 1;
    }
}
/* /Components/Pages/Webs/WebsProductGroupCreate.razor.rz.scp.css */
/* ===========================
   WebsProductGroupCreate - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-1aqsax8eot] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.alert-bar[b-1aqsax8eot] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-1aqsax8eot] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-1aqsax8eot] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-1aqsax8eot] { opacity: 1; }

.form-section[b-1aqsax8eot] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-1aqsax8eot] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-1aqsax8eot] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-1aqsax8eot] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-1aqsax8eot] { display: flex; flex-direction: column; }
.form-group-wide[b-1aqsax8eot] { grid-column: span 2; }
.form-label[b-1aqsax8eot] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-1aqsax8eot] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-1aqsax8eot] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-1aqsax8eot]::placeholder { color: var(--color-gray-400); }
.btn-action[b-1aqsax8eot] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-1aqsax8eot] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-1aqsax8eot] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-1aqsax8eot] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-1aqsax8eot] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-1aqsax8eot] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-1aqsax8eot] { grid-template-columns: 1fr; }
    .form-group-wide[b-1aqsax8eot] { grid-column: span 1; }
}
/* /Components/Pages/Webs/WebsProductGroupEdit.razor.rz.scp.css */
/* ===========================
   WebsProductGroupEdit - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-g6fvepx5cy] { max-width: 900px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.subtitle-code[b-g6fvepx5cy] { font-family: var(--font-mono); font-size: var(--font-size-xs); color: var(--color-primary); opacity: 0.6; padding: 1px var(--space-2); background-color: var(--color-gray-100); }

.alert-bar[b-g6fvepx5cy] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-danger[b-g6fvepx5cy] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-g6fvepx5cy] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-g6fvepx5cy] { opacity: 1; }

.loading-state[b-g6fvepx5cy] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-g6fvepx5cy] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-g6fvepx5cy] { opacity: 0.4; }
.empty-state-text[b-g6fvepx5cy] { font-size: var(--font-size-base); margin: 0; }

.form-section[b-g6fvepx5cy] { margin-bottom: var(--space-6); padding: var(--space-5); background-color: var(--color-white); border: var(--border-width-thin) solid var(--border-color-light); }
.section-title[b-g6fvepx5cy] { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 var(--space-4) 0; padding-bottom: var(--space-3); border-bottom: var(--border-width-thin) solid var(--border-color-light); }
.section-title svg[b-g6fvepx5cy] { color: var(--color-primary); opacity: 0.6; flex-shrink: 0; }

.form-grid[b-g6fvepx5cy] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.form-group[b-g6fvepx5cy] { display: flex; flex-direction: column; }
.form-group-wide[b-g6fvepx5cy] { grid-column: span 2; }
.form-label[b-g6fvepx5cy] { font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: var(--space-1); }
.form-control[b-g6fvepx5cy] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--color-gray-700); border: var(--border-width-thin) solid var(--border-color-light); background-color: var(--color-white); transition: border-color var(--transition-fast) var(--transition-ease); }
.form-control:focus[b-g6fvepx5cy] { border-color: var(--color-primary); outline: none; box-shadow: none; }
.form-control[b-g6fvepx5cy]::placeholder { color: var(--color-gray-400); }
.form-control-static[b-g6fvepx5cy] { padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); color: var(--text-muted); background-color: var(--color-gray-50); border: var(--border-width-thin) solid var(--border-color-light); font-family: var(--font-mono); }
.btn-action[b-g6fvepx5cy] { background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); transition: background-color var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-g6fvepx5cy] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); }
.btn-action:disabled[b-g6fvepx5cy] { opacity: 0.65; cursor: not-allowed; }
.btn-outline-primary[b-g6fvepx5cy] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-g6fvepx5cy] { background-color: var(--color-primary); color: var(--text-on-primary); text-decoration: none; }

[b-g6fvepx5cy] .validation-message { color: var(--color-danger); font-size: var(--font-size-xs); margin-top: 2px; }

@media (max-width: 768px) {
    .form-grid[b-g6fvepx5cy] { grid-template-columns: 1fr; }
    .form-group-wide[b-g6fvepx5cy] { grid-column: span 1; }
}
/* /Components/Pages/Webs/WebsProductGroupList.razor.rz.scp.css */
/* ===========================
   WebsProductGroupList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.page-container[b-rh7ltgexzl] { max-width: 1200px; margin: 0 auto; padding: var(--space-6) var(--space-4); }
.btn-action[b-rh7ltgexzl] { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-action); color: var(--text-on-action); border: var(--border-width-thin) solid var(--color-action); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); text-decoration: none; cursor: pointer; transition: background-color var(--transition-fast) var(--transition-ease), box-shadow var(--transition-fast) var(--transition-ease); }
.btn-action:hover[b-rh7ltgexzl] { background-color: var(--color-action-hover); border-color: var(--color-action-hover); color: var(--text-on-action); text-decoration: none; box-shadow: var(--shadow-sm); }
.btn-action:active[b-rh7ltgexzl] { background-color: var(--color-action-active); }

.alert-bar[b-rh7ltgexzl] { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); border-left: var(--border-width-thick) solid; }
.alert-bar-success[b-rh7ltgexzl] { background-color: #edf7ed; border-left-color: var(--color-success); color: #1e4620; }
.alert-bar-danger[b-rh7ltgexzl] { background-color: #fdeded; border-left-color: var(--color-danger); color: #5f2120; }
.alert-bar-close[b-rh7ltgexzl] { margin-left: auto; background: none; border: none; font-size: var(--font-size-lg); cursor: pointer; color: inherit; opacity: 0.6; line-height: 1; }
.alert-bar-close:hover[b-rh7ltgexzl] { opacity: 1; }

.search-bar[b-rh7ltgexzl] { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--bg-secondary); border: var(--border-width-thin) solid var(--border-color-light); }
.search-input-wrapper[b-rh7ltgexzl] { display: flex; align-items: center; flex: 1; position: relative; }
.search-icon[b-rh7ltgexzl] { color: var(--text-muted); flex-shrink: 0; margin-right: var(--space-2); }
.search-input[b-rh7ltgexzl] { flex: 1; border: none; background: transparent; font-size: var(--font-size-sm); color: var(--color-gray-700); outline: none; padding: var(--space-1) 0; }
.search-input[b-rh7ltgexzl]::placeholder { color: var(--text-muted); }
.search-clear[b-rh7ltgexzl] { background: none; border: none; cursor: pointer; color: var(--text-muted); padding: var(--space-1); display: flex; align-items: center; }
.search-clear:hover[b-rh7ltgexzl] { color: var(--color-primary); }
.search-count[b-rh7ltgexzl] { flex-shrink: 0; font-size: var(--font-size-xs); color: var(--text-muted); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: 0.5px; }

.loading-state[b-rh7ltgexzl] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-4); }
.empty-state[b-rh7ltgexzl] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-16) 0; color: var(--text-muted); gap: var(--space-3); }
.empty-state svg[b-rh7ltgexzl] { opacity: 0.4; }
.empty-state-text[b-rh7ltgexzl] { font-size: var(--font-size-base); margin: 0; }

.item-list[b-rh7ltgexzl] { display: flex; flex-direction: column; border: var(--border-width-thin) solid var(--border-color-light); }
.item-row[b-rh7ltgexzl] { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: var(--border-width-thin) solid var(--border-color-light); transition: background-color var(--transition-fast) var(--transition-ease); }
.item-row:last-child[b-rh7ltgexzl] { border-bottom: none; }
.item-row:hover[b-rh7ltgexzl] { background-color: rgba(11, 36, 62, 0.03); }

.item-avatar[b-rh7ltgexzl] { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray-100); color: var(--color-primary); }
.item-info[b-rh7ltgexzl] { flex: 1; min-width: 0; }
.item-name[b-rh7ltgexzl] { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-meta[b-rh7ltgexzl] { display: flex; align-items: center; gap: var(--space-1); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-secondary); margin-top: 2px; }
.item-code[b-rh7ltgexzl] { font-family: var(--font-mono); font-weight: var(--font-weight-medium); color: var(--color-primary); opacity: 0.7; }

.item-actions[b-rh7ltgexzl] { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-1); }
.btn-icon[b-rh7ltgexzl] { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: var(--border-width-thin) solid transparent; cursor: pointer; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast) var(--transition-ease); }
.btn-icon:hover[b-rh7ltgexzl] { color: var(--color-primary); background-color: var(--color-gray-100); border-color: var(--border-color-light); text-decoration: none; }
.btn-icon-danger:hover[b-rh7ltgexzl] { color: var(--color-action); background-color: rgba(178, 34, 34, 0.06); border-color: rgba(178, 34, 34, 0.2); }

.overlay[b-rh7ltgexzl] { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; z-index: var(--z-modal-backdrop); }
.confirm-dialog[b-rh7ltgexzl] { background-color: var(--color-white); padding: var(--space-8); max-width: 420px; width: 90%; box-shadow: var(--shadow-xl); text-align: center; z-index: var(--z-modal); }
.confirm-icon[b-rh7ltgexzl] { color: var(--color-action); margin-bottom: var(--space-4); }
.confirm-dialog h3[b-rh7ltgexzl] { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary); margin: 0 0 var(--space-2) 0; }
.confirm-dialog p[b-rh7ltgexzl] { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0 0 var(--space-2) 0; }
.confirm-warning[b-rh7ltgexzl] { font-size: var(--font-size-xs) !important; color: var(--color-action) !important; font-weight: var(--font-weight-medium); }
.confirm-actions[b-rh7ltgexzl] { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.confirm-actions .btn[b-rh7ltgexzl] { min-width: 100px; padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; }
.btn-outline-primary[b-rh7ltgexzl] { background: transparent; color: var(--color-primary); border: var(--border-width-thin) solid var(--color-primary); }
.btn-outline-primary:hover[b-rh7ltgexzl] { background-color: var(--color-primary); color: var(--text-on-primary); }

@media (max-width: 768px) {
    .item-row[b-rh7ltgexzl] { flex-wrap: wrap; }
    .item-actions[b-rh7ltgexzl] { order: 6; margin-left: auto; }
}

/* /Components/Pages/Webs/WebsProductList.razor.rz.scp.css */
/* ===========================
   CountryList - Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* Page Container */
.page-container[b-rr0zhpjeap] {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-6) var(--space-4);
}

/* Action Button */
.btn-action[b-rr0zhpjeap] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    background-color: var(--color-action);
    color: var(--text-on-action);
    border: var(--border-width-thin) solid var(--color-action);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast) var(--transition-ease),
                box-shadow var(--transition-fast) var(--transition-ease);
}

.btn-action:hover[b-rr0zhpjeap] {
    background-color: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--text-on-action);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
}

.btn-action:active[b-rr0zhpjeap] {
    background-color: var(--color-action-active);
}

/* Alert Bars */
.alert-bar[b-rr0zhpjeap] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    border-left: var(--border-width-thick) solid;
}

.alert-bar-success[b-rr0zhpjeap] {
    background-color: #edf7ed;
    border-left-color: var(--color-success);
    color: #1e4620;
}

.alert-bar-danger[b-rr0zhpjeap] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

.alert-bar-close[b-rr0zhpjeap] {
    margin-left: auto;
    background: none;
    border: none;
    font-size: var(--font-size-lg);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.alert-bar-close:hover[b-rr0zhpjeap] {
    opacity: 1;
}

/* Search Bar */
.search-bar[b-rr0zhpjeap] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.search-input-wrapper[b-rr0zhpjeap] {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
}

.search-icon[b-rr0zhpjeap] {
    color: var(--text-muted);
    flex-shrink: 0;
    margin-right: var(--space-2);
}

.search-input[b-rr0zhpjeap] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    outline: none;
    padding: var(--space-1) 0;
}

.search-input[b-rr0zhpjeap]::placeholder {
    color: var(--text-muted);
}

.search-clear[b-rr0zhpjeap] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
}

.search-clear:hover[b-rr0zhpjeap] {
    color: var(--color-primary);
}

.search-count[b-rr0zhpjeap] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading / Empty States */
.loading-state[b-rr0zhpjeap] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-4);
}

.empty-state[b-rr0zhpjeap] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-rr0zhpjeap] {
    opacity: 0.4;
}

.empty-state-text[b-rr0zhpjeap] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Item List */
.item-list[b-rr0zhpjeap] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Item Row */
.item-row[b-rr0zhpjeap] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
    transition: background-color var(--transition-fast) var(--transition-ease);
}

.item-row:last-child[b-rr0zhpjeap] {
    border-bottom: none;
}

.item-row:hover[b-rr0zhpjeap] {
    background-color: rgba(11, 36, 62, 0.03);
}

/* Avatar */
.item-avatar[b-rr0zhpjeap] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-100);
    color: var(--color-primary);
}

/* Item Info */
.item-info[b-rr0zhpjeap] {
    flex: 1;
    min-width: 0;
}

.item-name[b-rr0zhpjeap] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-meta[b-rr0zhpjeap] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.item-code[b-rr0zhpjeap] {
    font-family: var(--font-mono);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    opacity: 0.7;
}

.meta-separator[b-rr0zhpjeap] {
    color: var(--color-gray-300);
}

.badge-obsolete[b-rr0zhpjeap] {
    display: inline-block;
    padding: 1px 6px;
    background-color: rgba(178, 34, 34, 0.1);
    color: var(--color-action);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Action Buttons */
.item-actions[b-rr0zhpjeap] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.action-separator[b-rr0zhpjeap] {
    display: inline-block;
    width: 1px;
    height: 20px;
    background-color: var(--border-color-light);
    margin: 0 var(--space-2);
}

.btn-icon[b-rr0zhpjeap] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    color: var(--text-muted);
    text-decoration: none;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover[b-rr0zhpjeap] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    text-decoration: none;
}

.btn-icon-danger:hover[b-rr0zhpjeap] {
    color: var(--color-action);
    background-color: rgba(178, 34, 34, 0.06);
    border-color: rgba(178, 34, 34, 0.2);
}

/* Overlay & Dialog */
.overlay[b-rr0zhpjeap] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal-backdrop);
}

.confirm-dialog[b-rr0zhpjeap] {
    background-color: var(--color-white);
    padding: var(--space-8);
    max-width: 420px;
    width: 90%;
    box-shadow: var(--shadow-xl);
    text-align: center;
    z-index: var(--z-modal);
}

.confirm-icon[b-rr0zhpjeap] {
    color: var(--color-action);
    margin-bottom: var(--space-4);
}

.confirm-dialog h3[b-rr0zhpjeap] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-dialog p[b-rr0zhpjeap] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--space-2) 0;
}

.confirm-warning[b-rr0zhpjeap] {
    font-size: var(--font-size-xs) !important;
    color: var(--color-action) !important;
    font-weight: var(--font-weight-medium);
}

.confirm-actions[b-rr0zhpjeap] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-top: var(--space-6);
}

.confirm-actions .btn[b-rr0zhpjeap] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

/* Outline Primary Button */
.btn-outline-primary[b-rr0zhpjeap] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover[b-rr0zhpjeap] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

/* Responsive */
@media (max-width: 768px) {
    .item-row[b-rr0zhpjeap] {
        flex-wrap: wrap;
    }

    .item-actions[b-rr0zhpjeap] {
        order: 6;
        margin-left: auto;
    }
}

/* /Components/Shared/AmountField.razor.rz.scp.css */
/* AmountField - Scoped Styles */

.form-group[b-jo8j0b00sc] {
    display: flex;
    flex-direction: column;
}

.form-label[b-jo8j0b00sc] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.amount-input-wrapper[b-jo8j0b00sc] {
    position: relative;
    display: flex;
    align-items: stretch;
}

.amount-input[b-jo8j0b00sc] {
    flex: 1;
    text-align: right;
    font-family: var(--font-mono);
    letter-spacing: 0.3px;
}

.amount-input.form-control-readonly[b-jo8j0b00sc] {
    background-color: var(--color-gray-50);
    color: var(--color-gray-700);
    cursor: default;
}

.amount-input:focus[b-jo8j0b00sc] {
    border-color: var(--color-primary);
    outline: var(--border-width-medium) solid var(--color-primary);
    outline-offset: -1px;
    z-index: 1;
}

.amount-decimals-hint[b-jo8j0b00sc] {
    position: absolute;
    right: var(--space-2);
    top: 50%;
    transform: translateY(-50%);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    pointer-events: none;
    font-family: var(--font-mono);
    opacity: 0.5;
    padding: 1px var(--space-1);
    background-color: var(--color-gray-100);
    border-radius: 2px;
}

/* When hint is visible, add right padding to input to avoid overlap */
.amount-input-wrapper .amount-input[b-jo8j0b00sc] {
    padding-right: calc(var(--space-2) + 3.5em);
}
/* /Components/Shared/ColorField.razor.rz.scp.css */
/* ColorField - Scoped Styles */

.color-input-wrapper[b-2nmr9pydxx] {
    display: flex;
    align-items: stretch;
}

/*
 * Il selettore nativo si comporta da pastiglia di colore: si azzerano padding e bordo interni,
 * che i browser rendono in modo diverso fra loro.
 */
.color-swatch[b-2nmr9pydxx] {
    width: var(--control-height);
    flex-shrink: 0;
    padding: 0;
    border: var(--border-width-thin) solid var(--border-color-light);
    border-right: none;
    background-color: var(--color-white);
    cursor: pointer;
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.color-swatch[b-2nmr9pydxx]::-webkit-color-swatch-wrapper {
    padding: 3px;
}

.color-swatch[b-2nmr9pydxx]::-webkit-color-swatch {
    border: var(--border-width-thin) solid var(--border-color-light);
}

.color-swatch[b-2nmr9pydxx]::-moz-color-swatch {
    border: var(--border-width-thin) solid var(--border-color-light);
}

.color-swatch:hover:not(:disabled)[b-2nmr9pydxx] {
    border-color: var(--color-primary);
}

.color-swatch:disabled[b-2nmr9pydxx] {
    cursor: not-allowed;
    opacity: 0.6;
}

.color-text[b-2nmr9pydxx] {
    flex: 1;
    min-width: 0;
    font-family: var(--font-mono);
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.color-text:focus[b-2nmr9pydxx] {
    border-color: var(--color-primary);
    z-index: 1;
}

/* Valore presente ma non esadecimale: si segnala senza bloccare il salvataggio. */
.color-text.is-unrecognized[b-2nmr9pydxx] {
    border-color: var(--color-warning, var(--color-danger));
}

.btn-color-clear[b-2nmr9pydxx] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--control-height);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-left: none;
    background-color: var(--color-gray-50);
    color: var(--text-muted);
    cursor: pointer;
    flex-shrink: 0;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-color-clear:hover[b-2nmr9pydxx] {
    background-color: var(--color-danger);
    border-color: var(--color-danger);
    color: var(--color-white);
}

.color-hint[b-2nmr9pydxx] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: 2px;
}

.color-hint-warn[b-2nmr9pydxx] {
    color: var(--color-warning, var(--color-danger));
}

/* Form integration */
.form-group[b-2nmr9pydxx] {
    display: flex;
    flex-direction: column;
}

.form-label[b-2nmr9pydxx] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-2nmr9pydxx] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control.is-required[b-2nmr9pydxx] {
    border-left: var(--border-width-thick) solid var(--color-danger);
}
/* /Components/Shared/DateField.razor.rz.scp.css */
/* DateField - Scoped Styles */

.form-group[b-vhx0ontkxb] {
    display: flex;
    flex-direction: column;
    max-width: 180px;
}

.form-label[b-vhx0ontkxb] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.date-input-wrapper[b-vhx0ontkxb] {
    position: relative;
    display: flex;
    align-items: stretch;
}

.date-icon[b-vhx0ontkxb] {
    position: absolute;
    left: var(--space-2);
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
    pointer-events: none;
    display: flex;
    align-items: center;
}

.date-input[b-vhx0ontkxb] {
    flex: 1;
    padding-left: calc(var(--space-2) + 18px + var(--space-2));
    padding-right: calc(var(--space-2) + 32px + var(--space-1));
}

.date-input.form-control-readonly[b-vhx0ontkxb] {
    background-color: var(--color-gray-50);
    color: var(--color-gray-700);
    cursor: default;
}

.date-input:focus[b-vhx0ontkxb] {
    border-color: var(--color-primary);
    outline: var(--border-width-medium) solid var(--color-primary);
    outline-offset: -1px;
    z-index: 1;
}

.date-picker-btn[b-vhx0ontkxb] {
    position: absolute;
    right: 1px;
    top: 1px;
    bottom: 1px;
    width: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-gray-50);
    border: none;
    border-left: var(--border-width-thin) solid var(--border-color-light);
    /* Il token --border-radius non è mai esistito nel design system (i token sono --radius-*), e la
       dichiarazione era quindi invalida. Gli angoli qui sono a 90° come ovunque: non serve. */
    color: var(--text-muted);
    cursor: pointer;
    padding: 0;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.date-picker-btn:hover[b-vhx0ontkxb] {
    background: var(--color-gray-100);
    color: var(--color-primary);
}

.date-picker-btn:active[b-vhx0ontkxb] {
    background: var(--color-gray-200);
}

.date-picker-hidden[b-vhx0ontkxb] {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    right: 0;
    bottom: 0;
}
/* /Components/Shared/Devices/DeviceChannelBridge.razor.rz.scp.css */
/* Indicatori dei dispositivi di postazione: stato dello scanner e peso in tempo reale.

   Deliberatamente discreti. Nella maggior parte delle postazioni lo scanner c'è e funziona, e un
   badge appariscente che dice «tutto bene» diventa rumore che si smette di leggere — proprio quando
   servirebbe accorgersi che è diventato rosso. Solo l'errore si fa notare. */

.device-chip[b-d9jh11q7rq] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #64748b;
    white-space: nowrap;
    cursor: help;   /* il tooltip porta la spiegazione per esteso */
}

.device-chip svg[b-d9jh11q7rq] { flex: 0 0 auto; }

/* Canale aperto e servizio operativo — oppure peso fermo, cioè utilizzabile. */
.device-chip.is-ready[b-d9jh11q7rq] {
    border-color: #86efac;
    background: #f0fdf4;
    color: #166534;
}

/* Dispositivo in errore: l'unico caso in cui c'è qualcosa da fare. */
.device-chip.is-fault[b-d9jh11q7rq] {
    border-color: #fca5a5;
    background: #fef2f2;
    color: #7f1d1d;
}

/* Servizio non operativo — oppure peso in assestamento: attendere. */
.device-chip.is-warn[b-d9jh11q7rq] {
    border-color: #fcd34d;
    background: #fffbeb;
    color: #78350f;
}

/* Nessun dispositivo su questo computer: NON è un errore. Chi lavora da ufficio non deve vedere
   nulla di allarmante — resta grigio e il motivo sta solo nel tooltip. */
.device-chip.is-off[b-d9jh11q7rq] {
    border-style: dashed;
    background: transparent;
    color: #94a3b8;
    font-weight: 400;
}

/* ── Peso ─────────────────────────────────────────────────────────────────────────────────────
   Il numero è tabellare e a larghezza fissa: un valore che cambia dieci volte al secondo con cifre
   di larghezza diversa fa "ballare" il chip, e a video sembra un guasto. */
.device-weight-value[b-d9jh11q7rq] {
    font-family: var(--font-mono, 'Courier New', monospace);
    font-variant-numeric: tabular-nums;
    font-size: 13px;
    font-weight: 700;
}

.device-weight-state[b-d9jh11q7rq] {
    font-size: 10px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    opacity: 0.75;
}

@media (max-width: 720px) {
    /* Su schermo stretto resta la sola icona sullo stato: l'etichetta ruberebbe spazio alla card.
       Il peso NON si abbrevia — è il dato, non la cornice. */
    .device-chip-label[b-d9jh11q7rq] { display: none; }
}
/* /Components/Shared/Documents/DocumentSettingsCard.razor.rz.scp.css */
/* ===========================
   DocumentSettingsCard - Scoped Styles
   Card di sola lettura in testa al form. Deve leggersi come "contesto", non come una sezione da
   compilare: sfondo tenue, nessun bordo di input, densità alta.
   =========================== */

.settings-card[b-iw3zot6ae9] {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-left: 4px solid #94a3b8;
    padding: 12px 16px;
    margin-bottom: 16px;

    /* ── Ancorata in cima ──────────────────────────────────────────────────────────────────────
       Il form è lungo: lavorando sulle righe — che stanno in fondo — la card uscirebbe dallo
       schermo, e con lei gli indicatori dei dispositivi. Un peso o uno stato scanner che si vedono
       solo scorrendo in cima non vengono guardati: l'operatore pesa e legge stando sulla griglia.

       `sticky` e non `fixed`: la card resta nel flusso, quindi non serve compensare lo spazio che
       lascerebbe e non copre nulla al primo caricamento.

       Lo sfondo è OBBLIGATORIO qui, non estetico: senza, il contenuto del form scorrerebbe
       visibilmente sotto la card. C'è già, ed è il motivo per cui va lasciato opaco. */
    position: sticky;

    /* DUE STICKY IMPILATI. Sopra questa card sta PageToolbar, anch'essa agganciata: due elementi
       sticky con lo stesso `top` si sovrappongono, quindi la card si ferma SOTTO la toolbar — e
       sotto la toolbar COMPATTA, perché quando la card raggiunge il suo punto di aggancio la
       toolbar lo ha già raggiunto ed è già compatta. I due token stanno in design-system.css e
       sono un contratto: chi cambia l'altezza compatta della toolbar cambia il token, non questo
       file. Prima c'era un letterale 3.5rem, copia di quello di MainLayout.

       `--page-toolbar-offset` vale 0 nelle pagine senza toolbar (components.css lo alza con
       `body:has(.page-toolbar)`), così una form non ancora migrata non lascia un buco.

       Sotto il 641px la barra utente NON è sticky (vedi MainLayout.razor.css): resta la sola
       toolbar come riferimento. */
    top: var(--page-toolbar-offset);

    /* Sopra i campi del form e i totali sticky (3), SOTTO la toolbar (--z-page-toolbar: 5) e
       ben sotto i modali (~1050) e i toast (1080). */
    z-index: 4;

    /* L'ombra dice che la card galleggia sopra il contenuto invece di essere un riquadro rimasto
       indietro. È sempre presente: distinguere «agganciata» da «ferma» richiederebbe JavaScript per
       un guadagno che nessuno noterebbe. */
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08);
}

/* Da 641px in su la barra utente è sticky: la card si ferma sotto barra utente + toolbar compatta,
   altrimenti scivolerebbe sotto e i primi badge resterebbero coperti. */
@media (min-width: 641px) {
    .settings-card[b-iw3zot6ae9] { top: calc(var(--topbar-height) + var(--page-toolbar-offset)); }
}

.settings-card-title[b-iw3zot6ae9] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    margin-bottom: 10px;
}

.settings-empty[b-iw3zot6ae9] {
    font-size: 13px;
    color: #94a3b8;
    font-style: italic;
}

/* I gruppi stanno affiancati finché c'è spazio; su schermi stretti vanno a capo interi, così un
   gruppo non si spezza a metà. */
.settings-groups[b-iw3zot6ae9] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 32px;
}

.settings-group[b-iw3zot6ae9] { min-width: 0; }

/* I dispositivi vanno SEMPRE a capo, su una riga tutta loro.
   Non è impaginazione: gli altri due gruppi descrivono una configurazione ferma, questo mostra dati
   che cambiano da soli — un peso che scorre e uno stato che può diventare rosso. Affiancato agli
   altri li farebbe scivolare a ogni aggiornamento, e soprattutto si leggerebbe come un quarto
   badge di configurazione anziché come lo strumento che è.

   `flex-basis: 100%` in un contenitore `flex-wrap` è ciò che forza l'a capo: occupa l'intera riga,
   quindi non può stare accanto a nessuno. Un modificatore esplicito e non una ridefinizione di
   .settings-group: la variante vale per questo gruppo soltanto. */
.settings-group-devices[b-iw3zot6ae9] {
    flex-basis: 100%;
    padding-top: 10px;
    border-top: 1px dashed #e2e8f0;
}

.settings-group-title[b-iw3zot6ae9] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #94a3b8;
    margin-bottom: 6px;
}

.settings-badges[b-iw3zot6ae9] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
}

/* Usate solo dai badge dichiarati QUI dentro. Il gruppo «Dispositivi» arriva da uno slot e queste
   regole non lo raggiungerebbero — il CSS isolato non attraversa un RenderFragment, che porta lo
   scope del padre — ma non serve: i chip dei dispositivi portano i propri stili con sé. */
.settings-item[b-iw3zot6ae9] { display: flex; flex-direction: column; gap: 3px; }

.settings-item-label[b-iw3zot6ae9] {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #94a3b8;
}

.settings-badge[b-iw3zot6ae9] {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid transparent;
    white-space: nowrap;
    cursor: help;   /* il tooltip porta codice e nome colonna */
}

/* Toni decisi dal valore, non dalla descrizione: reggono anche senza censimento. */
.settings-badge.tone-neutral[b-iw3zot6ae9] { background: #fff; border-color: #cbd5e1; color: #334155; }
.settings-badge.tone-warn[b-iw3zot6ae9]    { background: #fffbeb; border-color: #fcd34d; color: #78350f; }
.settings-badge.tone-alert[b-iw3zot6ae9]   { background: #fef2f2; border-color: #fca5a5; color: #7f1d1d; }

/* Valore non impostato: niente allarme, solo assenza. */
.settings-badge.is-empty[b-iw3zot6ae9] {
    background: transparent;
    border-style: dashed;
    border-color: #cbd5e1;
    color: #94a3b8;
    font-weight: 400;
    cursor: default;
}

/* L'interruttore di aggiunta automatica NON vive più qui: sta accanto al pulsante «Aggiungi riga»,
   perché è quell'azione che modifica. Questa card è di sola lettura. */

@media (max-width: 768px) {
    .settings-groups[b-iw3zot6ae9] { flex-direction: column; gap: 12px; }
}
/* /Components/Shared/Documents/WarehouseLineDetailsModal.razor.rz.scp.css */
.dtl-modal-backdrop[b-kiimk7wxs6] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
}

.dtl-modal[b-kiimk7wxs6] {
    background: #fff;
    border-radius: 8px;
    width: 100%;
    max-width: 920px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

.dtl-modal-header[b-kiimk7wxs6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1.2rem;
    background-color: var(--color-primary, #0B243E);
    color: #fff;
    border-bottom: 1px solid var(--color-primary, #0B243E);
}

.dtl-modal-header h3[b-kiimk7wxs6] { margin: 0; font-size: 1.05rem; color: #fff; }

.dtl-modal-header .btn-close[b-kiimk7wxs6] {
    border: none; background: transparent;
    font-size: 1.5rem; line-height: 1; cursor: pointer; color: rgba(255, 255, 255, 0.85); padding: 0 0.25rem;
}

.dtl-modal-header .btn-close:hover[b-kiimk7wxs6] { color: #fff; }

/* Tabs */
.dtl-tabs[b-kiimk7wxs6] {
    display: flex;
    gap: 0;
    border-bottom: 1px solid #e5e7eb;
    padding: 0 1.2rem;
}

.dtl-tab[b-kiimk7wxs6] {
    border: none;
    background: transparent;
    padding: 0.65rem 1rem;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #6b7280;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}

.dtl-tab.is-active[b-kiimk7wxs6] {
    color: var(--color-primary, #0b243e);
    border-bottom-color: var(--color-primary, #0b243e);
}

.dtl-modal-body[b-kiimk7wxs6] {
    padding: 1.2rem;
    overflow-y: auto;
}

.dtl-modal-footer[b-kiimk7wxs6] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.9rem 1.2rem;
    border-top: 1px solid #e5e7eb;
}

/* Campi tracciabilità */
.trac-grid[b-kiimk7wxs6] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.75rem;
}

/* Griglia a TRE colonne fisse, per i settori in cui la posizione porta significato: sulla carne i
   bolli CE stanno sotto la nazione a cui si riferiscono. Il grid responsivo qui sopra sceglie il
   numero di colonne in base alla larghezza, quindi non può garantire un incolonnamento. */
.trac-grid-3[b-kiimk7wxs6] { grid-template-columns: repeat(3, 1fr); }

/* Cella vuota che tiene l'incolonnamento. Sotto la soglia in cui la griglia collassa a una colonna
   non ha più nulla da allineare e diventa uno spazio bianco inspiegabile: sparisce. */
.trac-spacer[b-kiimk7wxs6] { display: block; }

@media (max-width: 700px) {
    .trac-grid-3[b-kiimk7wxs6] { grid-template-columns: 1fr; }
    .trac-spacer[b-kiimk7wxs6] { display: none; }
}

/* Componenti condivisi dentro la griglia (DateField, ...).
   Portano il proprio `.form-group` con `margin-bottom`, che accanto al `gap` della griglia diventa
   spazio doppio e disallinea la riga: dentro una griglia la spaziatura la decide la griglia.
   Serve `::deep` perché il CSS isolato non raggiunge il markup di un componente figlio — quel markup
   porta lo scope del figlio, non di questo file (CLAUDE.md, «lo scoped non si condivide»). */
.trac-grid[b-kiimk7wxs6]  .form-group { margin-bottom: 0; }

/* L'etichetta del componente condiviso è `.form-label`, non `label` di `.trac-field`: allinearla
   evita che un campo su tre abbia un'etichetta di peso e colore diversi dai vicini. */
.trac-grid[b-kiimk7wxs6]  .form-label { font-size: 0.8rem; color: #374151; font-weight: 600; margin-bottom: 0.25rem; }

.trac-field[b-kiimk7wxs6] { display: flex; flex-direction: column; gap: 0.25rem; }
.trac-field label[b-kiimk7wxs6] { font-size: 0.8rem; color: #374151; font-weight: 600; }
.trac-field-check[b-kiimk7wxs6] { margin-top: 1rem; }
.trac-field-check label[b-kiimk7wxs6] { display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 600; cursor: pointer; }

/* Campi imballi */
.pkg-composition[b-kiimk7wxs6] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    max-width: 420px;
    margin-bottom: 1rem;
    padding-bottom: 0.9rem;
    border-bottom: 1px solid #e5e7eb;
}
.pkg-composition label[b-kiimk7wxs6] { font-size: 0.8rem; color: #374151; font-weight: 600; }

.pkg-table[b-kiimk7wxs6] { width: 100%; border-collapse: collapse; margin-bottom: 1rem; }
.pkg-table th[b-kiimk7wxs6] { font-size: 0.8rem; color: #374151; text-align: left; padding: 0.25rem 0.5rem; border-bottom: 1px solid #e5e7eb; }
.pkg-table td[b-kiimk7wxs6] { padding: 0.25rem 0.5rem; }
.pkg-table .text-end[b-kiimk7wxs6] { text-align: right; }

.pkg-grid[b-kiimk7wxs6] { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 0.75rem; }
.pkg-field[b-kiimk7wxs6] { display: flex; flex-direction: column; gap: 0.25rem; }
.pkg-field label[b-kiimk7wxs6] { font-size: 0.8rem; color: #374151; font-weight: 600; }
/* /Components/Shared/Edi/EdiExportHistoryCard.razor.rz.scp.css */
/* Lo storico degli export EDI (§10.4).

   PERCHE' QUESTO FOGLIO PORTA ANCHE .info-card E .flag-badge, CHE NON SONO SUOI.
     Il CSS isolato di Blazor non scende nei componenti figli: le regole .info-card / .info-row /
     .flag-badge stanno nei .razor.css delle pagine di dettaglio (che le dichiarano gia' due volte
     per conto loro, con valori leggermente diversi), e da la' NON raggiungono questa card. Le
     alternative erano due, entrambe peggiori: mettere ::deep nel foglio di ogni pagina che la usa
     - cioe' affidare l'aspetto della card a chi la ospita - oppure dare alla card un aspetto suo,
     che accanto alle card sorelle si vedrebbe diverso. Cosi' invece la card e' identica sulle due
     pagine, e le sette regole che sono DAVVERO sue stanno qui e in nessun altro posto.

   L'unico scostamento noto: .info-row usa 140px come il dettaglio dell'ordine, mentre il dettaglio
   del documento di vendita usa 160px. Riguarda la colonna dell'etichetta di UNA riga - quella dei
   tre stati degeneri - e non le righe dello storico, che non usano la griglia. */

.info-card[b-e9k1r63zd1] {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 16px;
}
.info-card-title[b-e9k1r63zd1] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    margin-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 8px;
}
.info-grid[b-e9k1r63zd1] { display: grid; gap: 8px; }
.info-row[b-e9k1r63zd1] { display: grid; grid-template-columns: 140px 1fr; gap: 12px; align-items: start; }
.info-label[b-e9k1r63zd1] { font-size: 11px; text-transform: uppercase; color: #6b7280; letter-spacing: 0.04em; padding-top: 2px; }
.info-value[b-e9k1r63zd1] { font-size: 13px; color: #111827; overflow-wrap: anywhere; }

.flag-badge[b-e9k1r63zd1] {
    display: inline-flex;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid transparent;
}
.flag-on[b-e9k1r63zd1] { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.flag-off[b-e9k1r63zd1] { background: #f4f4f5; color: #71717a; border-color: #e4e4e7; }
/* Un export fallito non e' un flag spento: e' un evento andato storto, e la pastiglia grigia lo
   direbbe uguale a «non ancora fatto». Sono due cose che portano a fare due cose diverse. */
.flag-ko[b-e9k1r63zd1] { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }

/* Le sette regole della card. */
.edi-history[b-e9k1r63zd1] { display: flex; flex-direction: column; gap: 6px; }
.edi-history-row[b-e9k1r63zd1] { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.edi-history-main[b-e9k1r63zd1] { color: #4b5563; flex: 1; min-width: 0; }
.edi-history-note[b-e9k1r63zd1] {
    font-size: 11px;
    color: #71717a;
    padding-left: 8px;
    border-left: 2px solid #e4e4e7;
    margin: -2px 0 4px 4px;
}
.edi-forced[b-e9k1r63zd1] {
    margin-left: 6px;
    padding: 1px 6px;
    font-size: 10px;
    font-weight: 600;
    color: #92400e;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 999px;
}
.edi-help[b-e9k1r63zd1] { float: right; font-size: 11px; font-weight: 400; }
/* /Components/Shared/HelpLink.razor.rz.scp.css */
/* ===========================
   HelpLink - Scoped Styles
   Icona "?" contestuale nell'header di pagina
   Flat Industrial Minimal
   =========================== */

.help-link[b-bgvg6f2ygh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    /* Stessa altezza di riga degli altri controlli: la pastiglia sta nell'header accanto a
       RefreshButton e MenuBackLink, e prima erano 36 · 36 · 40. */
    width: var(--control-height);
    height: var(--control-height);
    background: none;
    /* Stesso contorno di MenuBackLink: nella PageToolbar le due pastiglie stanno agli estremi
       della stessa riga e devono essere uguali. Era `transparent`, visibile solo in hover. */
    border: var(--border-width-thin) solid var(--border-color-light);
    color: var(--text-muted);
    text-decoration: none;
    cursor: pointer;
    flex-shrink: 0;
    transition: all var(--transition-fast) var(--transition-ease);
}

/* Con etichetta si espande in orizzontale */
.help-link:has(.help-link-text)[b-bgvg6f2ygh] {
    width: auto;
    padding: 0 var(--space-3);
}

.help-link:hover[b-bgvg6f2ygh] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--color-primary);
    text-decoration: none;
}

.help-link svg[b-bgvg6f2ygh] {
    flex-shrink: 0;
}

.help-link-text[b-bgvg6f2ygh] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
}
/* /Components/Shared/LabelPrintIconButton.razor.rz.scp.css */
/* Icona di azione dentro una riga di tabella, non un controllo di form: per questo usa
   --control-height-xs e non --control-height. È l'unica eccezione dichiarata all'altezza di riga
   (docs/Analisi-ArmonizzazioneControlliShared-MtsSaas.md §8).

   I colori erano dieci esadecimali della palette Tailwind (#4b5563, #eff6ff, #1d4ed8, …), estranei
   al design system: ora vengono dai token, e il feedback usa il pieno delle .alert invece di tinte
   pastello, che è la resa flat industriale del resto dell'interfaccia. */
.btn-icon[b-9bzubuywh9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--control-height-xs);
    height: var(--control-height-xs);
    background: transparent;
    border: var(--border-width-thin) solid transparent;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
}

/* Stesso passaggio del mouse di HelpLink e RefreshButton: è il gesto delle icone MTS. */
.btn-icon-print:hover:not(:disabled)[b-9bzubuywh9] {
    background: var(--color-gray-100);
    color: var(--color-primary);
    border-color: var(--border-color-light);
}

/* Variante riquadrata: sta in una barra di azioni di riga insieme a pulsanti con bordo e
   angoli a 90° (design system MTS). Il feedback di successo/errore la sovrascrive dopo. */
.btn-icon.is-boxed[b-9bzubuywh9] {
    border-color: var(--border-color-light);
    background: var(--bg-primary);
    flex-shrink: 0;
}

.btn-icon:disabled[b-9bzubuywh9] {
    opacity: .5;
    cursor: default;
}

/* Feedback transitorio dopo l'invio stampa: pieno, come le .alert. Su un bersaglio di 28 px una
   tinta chiara non si distingue dallo stato normale a colpo d'occhio, che è l'unico momento in cui
   questo messaggio viene letto. */
.btn-icon.is-success[b-9bzubuywh9],
.btn-icon.is-success:hover[b-9bzubuywh9] {
    color: var(--color-white);
    background: var(--color-success);
    border-color: var(--color-success);
}

.btn-icon.is-error[b-9bzubuywh9],
.btn-icon.is-error:hover[b-9bzubuywh9] {
    color: var(--color-white);
    background: var(--color-danger);
    border-color: var(--color-danger);
}
/* /Components/Shared/LookupField.razor.rz.scp.css */
/* LookupField - Scoped Styles */

.input-with-lookup[b-9vx0twokyo] {
    display: flex;
    align-items: stretch;
}

.input-with-lookup .form-control[b-9vx0twokyo] {
    flex: 1;
    border-right: none;
}

.input-with-lookup .form-control-readonly[b-9vx0twokyo] {
    background-color: var(--color-gray-50);
    color: var(--color-gray-700);
    cursor: default;
}

.input-with-lookup .form-control:focus[b-9vx0twokyo] {
    border-color: var(--color-primary);
    z-index: 1;
}

.btn-lookup[b-9vx0twokyo] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* Quadrato sull'altezza di riga: prima erano 38 px fissi accanto a un campo che ne misurava 39. */
    width: var(--control-height);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-gray-50);
    color: var(--text-muted);
    cursor: pointer;
    flex-shrink: 0;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-lookup:hover[b-9vx0twokyo] {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-white);
}

/* Campo bloccato: lucchetto al posto del pulsante di ricerca, nessuna interazione. */
.btn-lookup-locked[b-9vx0twokyo],
.btn-lookup-locked:hover[b-9vx0twokyo] {
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
    color: var(--text-muted);
    cursor: not-allowed;
}

/* Suggerimento del codice: occupa la sua riga SEMPRE, anche a campo vuoto.
   -----------------------------------------------------------------------
   L'altezza del campo non deve dipendere dal fatto che un valore sia stato scelto. Il markup rende
   sempre questo <span> (vuoto finché non c'è un codice) e il min-height gli dà l'ingombro di una
   riga: senza, uno span vuoto misurerebbe zero e il campo tornerebbe a crescere di 20 px alla
   prima selezione.

   Il valore è l'interlinea 1.5 ereditata dal body su 12 px di corpo. È scritto come calcolo e non
   come 18px perché resti agganciato al corpo se --font-size-xs cambia. NON usa `em`: qui il corpo
   ereditato è quello della pagina (16 px), non quello del suggerimento, e 1em varrebbe 16.

   L'ingombro sta QUI e non sul .form-note perché è questo l'elemento che le pagine tolgono dal
   flusso quando hanno già risolto la stabilità per conto proprio — `display: none` nelle celle di
   tabella, `position: absolute` dentro un padding riservato nelle barre filtro. Sul contenitore
   avrebbe aggiunto a quelle pagine 20 px di vuoto; qui le lascia invariate. */
.lookup-hint[b-9vx0twokyo] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: 2px;
    min-height: calc(var(--font-size-xs) * 1.5);
    font-family: var(--font-mono);
    letter-spacing: 0.3px;
}

/* Form integration */
.form-group[b-9vx0twokyo] {
    display: flex;
    flex-direction: column;
}

.form-label[b-9vx0twokyo] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.form-control[b-9vx0twokyo] {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--color-white);
    transition: border-color var(--transition-fast) var(--transition-ease);
}

.form-control.is-required[b-9vx0twokyo] {
    border-left: var(--border-width-thick) solid var(--color-danger);
}
/* /Components/Shared/MenuBackLink.razor.rz.scp.css */
/* Pulsante quadrato "torna alla scheda di menu" + separatore verticale.
   Design system MTS: angoli a 90 gradi, nessun raggio. */

.menu-back[b-xrk3rwb3nd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* Era 40px letterale: il token dice la stessa cosa, e ora la dice anche a HelpLink e
       RefreshButton, che stanno nello stesso header. */
    width: var(--control-height);
    height: var(--control-height);
    flex-shrink: 0;
    background-color: transparent;
    border: var(--border-width-thin) solid var(--border-color-light);
    color: var(--color-primary);
    text-decoration: none;
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
}

.menu-back:hover[b-xrk3rwb3nd] {
    background-color: var(--color-gray-100);
    border-color: var(--color-primary);
    color: var(--color-primary);
    text-decoration: none;
}

.menu-back:focus-visible[b-xrk3rwb3nd] {
    outline: var(--border-width-thin) solid var(--color-action);
    outline-offset: 2px;
}

.menu-back-separator[b-xrk3rwb3nd] {
    display: inline-block;
    width: 1px;
    height: var(--control-height);
    flex-shrink: 0;
    background-color: var(--border-color-light);
}
/* /Components/Shared/MultiSelectField.razor.rz.scp.css */
/* MultiSelectField - Scoped Styles
   Struttura e misure allineate a SelectField e DateField: stessa altezza di riga, stessa
   etichetta, stesso comportamento del bordo in focus. È l'allineamento che si ottiene gratis
   usando il componente invece di ricostruire la tendina in pagina.

   Questi stili erano duplicati identici — 81 righe per file — in sette pagine di report. */

.form-group[b-2eltw0s8pj] {
    display: flex;
    flex-direction: column;
    max-width: 220px;
}

.form-label[b-2eltw0s8pj] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.multiselect[b-2eltw0s8pj] {
    position: relative;
}

.multiselect-toggle[b-2eltw0s8pj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    width: 100%;
    cursor: pointer;
    text-align: left;
    background-color: var(--bg-primary);
}

.multiselect-toggle:focus[b-2eltw0s8pj] {
    border-color: var(--color-primary);
    outline: var(--border-width-medium) solid var(--color-primary);
    outline-offset: -1px;
}

.multiselect-toggle:disabled[b-2eltw0s8pj] {
    background-color: var(--bg-tertiary);
    cursor: not-allowed;
    opacity: 0.6;
}

.multiselect-toggle svg[b-2eltw0s8pj] {
    flex-shrink: 0;
    color: var(--text-muted);
}

.multiselect-value[b-2eltw0s8pj] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Velo a tutta finestra: intercetta ogni clic esterno, compreso quello sul pulsante di un'altra
   tendina. È ciò che garantisce che non possano restare aperti due pannelli insieme, senza che i
   componenti debbano coordinarsi fra loro. */
.multiselect-backdrop[b-2eltw0s8pj] {
    position: fixed;
    inset: 0;
    z-index: 20;
}

.multiselect-panel[b-2eltw0s8pj] {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    z-index: 21;
    min-width: 280px;
    max-width: 380px;
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.14);
    display: flex;
    flex-direction: column;
}

.multiselect-search[b-2eltw0s8pj] {
    padding: var(--space-2);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.multiselect-search .form-control[b-2eltw0s8pj] {
    width: 100%;
    box-sizing: border-box;
}

.multiselect-actions[b-2eltw0s8pj] {
    display: flex;
    gap: var(--space-4);
    padding: var(--space-2) var(--space-3);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.link-btn[b-2eltw0s8pj] {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.link-btn:hover[b-2eltw0s8pj] {
    text-decoration: underline;
}

.multiselect-list[b-2eltw0s8pj] {
    max-height: 260px;
    overflow-y: auto;
    padding: var(--space-1) 0;
}

.multiselect-item[b-2eltw0s8pj] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    cursor: pointer;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.multiselect-item:hover[b-2eltw0s8pj] {
    background-color: var(--bg-secondary);
}

.multiselect-item input[b-2eltw0s8pj] {
    cursor: pointer;
    flex-shrink: 0;
}

.multiselect-empty[b-2eltw0s8pj] {
    padding: var(--space-3);
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    text-align: center;
}
/* /Components/Shared/PercentageField.razor.rz.scp.css */
/* PercentageField - Scoped Styles */

.form-group[b-3ze2pfdik3] {
    display: flex;
    flex-direction: column;
}

.form-label[b-3ze2pfdik3] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.percentage-input-wrapper[b-3ze2pfdik3] {
    position: relative;
    display: flex;
    align-items: stretch;
}

.percentage-input[b-3ze2pfdik3] {
    flex: 1;
    text-align: right;
    font-family: var(--font-mono);
    letter-spacing: 0.3px;
    padding-right: calc(var(--space-2) + 1.8em);
}

.percentage-input.form-control-readonly[b-3ze2pfdik3] {
    background-color: var(--color-gray-50);
    color: var(--color-gray-700);
    cursor: default;
}

.percentage-input:focus[b-3ze2pfdik3] {
    border-color: var(--color-primary);
    outline: var(--border-width-medium) solid var(--color-primary);
    outline-offset: -1px;
    z-index: 1;
}

.percentage-symbol[b-3ze2pfdik3] {
    position: absolute;
    right: var(--space-2);
    top: 50%;
    transform: translateY(-50%);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    pointer-events: none;
    font-family: var(--font-mono);
    font-weight: 600;
}
/* /Components/Shared/PriceField.razor.rz.scp.css */
/* PriceField - Scoped Styles */

.form-group[b-wqncsuvmtc] {
    display: flex;
    flex-direction: column;
}

.form-label[b-wqncsuvmtc] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.price-input-wrapper[b-wqncsuvmtc] {
    position: relative;
    display: flex;
    align-items: stretch;
}

.price-input[b-wqncsuvmtc] {
    flex: 1;
    text-align: right;
    font-family: var(--font-mono);
    letter-spacing: 0.3px;
}

.price-input.form-control-readonly[b-wqncsuvmtc] {
    background-color: var(--color-gray-50);
    color: var(--color-gray-700);
    cursor: default;
}

.price-input:focus[b-wqncsuvmtc] {
    border-color: var(--color-primary);
    outline: var(--border-width-medium) solid var(--color-primary);
    outline-offset: -1px;
    z-index: 1;
}

.price-decimals-hint[b-wqncsuvmtc] {
    position: absolute;
    right: var(--space-2);
    top: 50%;
    transform: translateY(-50%);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    pointer-events: none;
    font-family: var(--font-mono);
    opacity: 0.5;
    padding: 1px var(--space-1);
    background-color: var(--color-gray-100);
    border-radius: 2px;
}

/* When hint is visible, add right padding to input to avoid overlap */
.price-input-wrapper .price-input[b-wqncsuvmtc] {
    padding-right: calc(var(--space-2) + 3.5em);
}
/* /Components/Shared/Production/WorkTile.razor.rz.scp.css */
.work-tile[b-akc6panuca] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 150px;
    min-height: 118px;
    padding: 10px 12px;
    border: 2px solid var(--color-gray-200);
    background: var(--color-white);
    color: var(--color-primary);
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    position: relative;
}

.work-tile:focus-visible[b-akc6panuca] {
    outline: 3px solid var(--color-info);
    outline-offset: 2px;
}

.work-tile.is-selected[b-akc6panuca] {
    border-color: var(--color-action);
    box-shadow: 0 0 0 2px rgba(178, 34, 34, .15);
}

.work-tile.is-disabled[b-akc6panuca] {
    opacity: .45;
    cursor: not-allowed;
}

.work-tile.is-done[b-akc6panuca] {
    border-color: var(--color-success);
}

.work-tile-parent[b-akc6panuca] {
    background: var(--color-primary);
    color: var(--color-white);
    border-color: var(--color-primary);
    min-width: 200px;
}

.work-tile-parent.is-selected[b-akc6panuca] {
    border-color: var(--color-action);
}

.work-tile-scrap[b-akc6panuca] {
    background: #FFF8E1;
    border-color: #F5D77A;
}

.work-tile-head[b-akc6panuca] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 6px;
}

.work-tile-title[b-akc6panuca] {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
}

.work-tile-subtitle[b-akc6panuca] {
    font-size: 12px;
    opacity: .8;
}

.work-tile-more[b-akc6panuca] {
    width: 30px;
    height: 30px;
    border: 1px solid currentColor;
    background: transparent;
    color: inherit;
    font-size: 18px;
    line-height: 1;
    opacity: .75;
    flex-shrink: 0;
}

.work-tile-more:hover[b-akc6panuca] {
    opacity: 1;
}

.work-tile-body[b-akc6panuca] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
}

.work-tile-value[b-akc6panuca] {
    font-size: 22px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.work-tile-badge[b-akc6panuca] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 2px 7px;
    border: 1px solid currentColor;
    letter-spacing: .3px;
}

.work-tile-badge.badge-ok[b-akc6panuca] {
    color: var(--color-success);
}

.work-tile-badge.badge-warn[b-akc6panuca] {
    color: #856404;
}

.work-tile-badge.badge-manual[b-akc6panuca] {
    color: var(--color-info);
}

.work-tile-progress[b-akc6panuca] {
    height: 6px;
    background: var(--color-gray-100);
}

.work-tile-parent .work-tile-progress[b-akc6panuca] {
    background: rgba(255, 255, 255, .25);
}

.work-tile-progress-bar[b-akc6panuca] {
    height: 100%;
    background: var(--color-success);
}

.work-tile-footer[b-akc6panuca] {
    font-size: 11px;
    opacity: .8;
}
/* /Components/Shared/QuantityField.razor.rz.scp.css */
/* QuantityField - Scoped Styles */

.form-group[b-eqyg8tn0q5] {
    display: flex;
    flex-direction: column;
}

.form-label[b-eqyg8tn0q5] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.quantity-input-wrapper[b-eqyg8tn0q5] {
    position: relative;
    display: flex;
    align-items: stretch;
}

.quantity-input[b-eqyg8tn0q5] {
    flex: 1;
    text-align: right;
    font-family: var(--font-mono);
    letter-spacing: 0.3px;
}

.quantity-input.form-control-readonly[b-eqyg8tn0q5] {
    background-color: var(--color-gray-50);
    color: var(--color-gray-700);
    cursor: default;
}

.quantity-input:focus[b-eqyg8tn0q5] {
    border-color: var(--color-primary);
    outline: var(--border-width-medium) solid var(--color-primary);
    outline-offset: -1px;
    z-index: 1;
}

.quantity-decimals-hint[b-eqyg8tn0q5] {
    position: absolute;
    right: var(--space-2);
    top: 50%;
    transform: translateY(-50%);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    pointer-events: none;
    font-family: var(--font-mono);
    opacity: 0.5;
    padding: 1px var(--space-1);
    background-color: var(--color-gray-100);
    border-radius: 2px;
}

/* When hint is visible, add right padding to input to avoid overlap */
.quantity-input-wrapper .quantity-input[b-eqyg8tn0q5] {
    padding-right: calc(var(--space-2) + 3.5em);
}
/* /Components/Shared/RefreshButton.razor.rz.scp.css */
/* ===========================
   RefreshButton - Scoped Styles
   Icona "ricarica" nell'header di pagina, gemella di HelpLink
   Flat Industrial Minimal
   =========================== */

.refresh-button[b-0egtul6bbe] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    /* Stessa altezza di riga degli altri controlli: gemella di HelpLink, che sta accanto. */
    width: var(--control-height);
    height: var(--control-height);
    background: none;
    border: var(--border-width-thin) solid transparent;
    color: var(--text-muted);
    cursor: pointer;
    flex-shrink: 0;
    padding: 0;
    transition: all var(--transition-fast) var(--transition-ease);
}

/* Con etichetta si espande in orizzontale */
.refresh-button:has(.refresh-button-text)[b-0egtul6bbe] {
    width: auto;
    padding: 0 var(--space-3);
}

.refresh-button:hover:not(:disabled)[b-0egtul6bbe] {
    color: var(--color-primary);
    background-color: var(--color-gray-100);
    border-color: var(--border-color-light);
}

.refresh-button:disabled[b-0egtul6bbe] {
    cursor: default;
    opacity: 0.6;
}

.refresh-button svg[b-0egtul6bbe] {
    flex-shrink: 0;
}

.refresh-button-text[b-0egtul6bbe] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
}

/* Durante il caricamento l'icona ruota: e' l'unico segnale che il click ha avuto effetto quando
   i dati tornano identici a prima. Senza, un refresh su una lista immutata sembra non aver fatto
   nulla e l'utente ripreme. */
.refresh-button.is-busy svg[b-0egtul6bbe] {
    animation: refresh-spin-b-0egtul6bbe 900ms linear infinite;
}

@keyframes refresh-spin-b-0egtul6bbe {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

/* Rispetta la preferenza di sistema per il movimento ridotto: chi la imposta di solito ha un
   motivo (vertigini, disturbi vestibolari), e l'animazione qui e' un di piu', non l'informazione. */
@media (prefers-reduced-motion: reduce) {
    .refresh-button.is-busy svg[b-0egtul6bbe] {
        animation: none;
    }
}
/* /Components/Shared/Sales/DeferredInvoiceDeliveryNoteList.razor.rz.scp.css */
/* ===========================
   DeferredInvoiceDeliveryNoteList - Scoped Styles
   Flat Industrial Minimal

   Lista raggruppata per INTESTATARIO — capogruppo se il gruppo consolida, altrimenti cliente.
   È il raggruppamento che determina quante fatture nasceranno, quindi è quello che si vede.
   Rif: docs/PRD-FatturazioneDifferita-UI-MtsSaas.md §1.2, §2.3, §2.4
   =========================== */

.dn-list[b-p5aidfv6h0] {
    border: var(--border-width-thin) solid var(--border-color-light);
}

.dn-group + .dn-group[b-p5aidfv6h0] {
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

/* ===== Intestazione di gruppo ===== */
.dn-group-header[b-p5aidfv6h0] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    background-color: var(--bg-secondary);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.dn-group-name[b-p5aidfv6h0] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-700);
}

.dn-group-meta[b-p5aidfv6h0] {
    margin-left: auto;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    white-space: nowrap;
}

/* ===== Riga bolla ===== */
.dn-row[b-p5aidfv6h0] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3) var(--space-2) var(--space-6);
    font-size: var(--font-size-sm);
}

.dn-row + .dn-row[b-p5aidfv6h0] {
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

.dn-check[b-p5aidfv6h0] {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    margin: 0;
}

/* Le righe non selezionabili tengono lo spazio della casella: senza, il contenuto scivola a
   sinistra e le colonne non si leggono più incolonnate. */
.dn-check-placeholder[b-p5aidfv6h0] {
    display: inline-block;
}

.dn-number[b-p5aidfv6h0] { width: 90px; flex-shrink: 0; }
.dn-date[b-p5aidfv6h0] { width: 90px; flex-shrink: 0; color: var(--text-muted); }
.dn-customer[b-p5aidfv6h0] { width: 200px; flex-shrink: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dn-destination[b-p5aidfv6h0] { flex: 1; min-width: 0; color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.dn-amount[b-p5aidfv6h0] {
    width: 100px;
    flex-shrink: 0;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

/* ===== Stati riga =====
   Le righe non elaborabili NON si nascondono: l'operatore deve capire perché una bolla non
   compare nell'esito. Nasconderle produce segnalazioni del tipo «manca una bolla». */

/* Già fatturata: stato del dato, non errore di configurazione. Attenuata, non allarmante. */
.dn-row-locked[b-p5aidfv6h0] {
    opacity: 0.6;
}

/* Bloccante: c'è qualcosa da correggere, e si vede. */
.dn-row-blocked[b-p5aidfv6h0] {
    background-color: #fdeded;
}

.dn-reason[b-p5aidfv6h0] {
    flex: 1;
    min-width: 0;
    font-size: var(--font-size-xs);
    color: #5f2120;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dn-row-locked .dn-reason[b-p5aidfv6h0] {
    color: var(--text-muted);
}

.dn-link[b-p5aidfv6h0] {
    flex-shrink: 0;
    font-size: var(--font-size-xs);
}

/* ===== Stato vuoto ===== */
.empty-state[b-p5aidfv6h0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}
/* /Components/Shared/Sales/DeliveryOrderSalesCandidateList.razor.rz.scp.css */
/* ===========================
   DeliveryOrderSalesCandidateList - Scoped Styles
   Flat Industrial Minimal — token del design system MTS (wwwroot/css/design-system.css)
   =========================== */

/* ===== Barra di selezione ===== */
.selection-bar[b-955s23s6mr] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-bottom: none;
}

.selection-all[b-955s23s6mr] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    cursor: pointer;
    user-select: none;
}

.selection-all input[type="checkbox"][b-955s23s6mr] {
    width: 15px;
    height: 15px;
    cursor: pointer;
}

.selection-spacer[b-955s23s6mr] {
    flex: 1;
}

.selection-count[b-955s23s6mr] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: var(--font-weight-medium);
}

.selection-count strong[b-955s23s6mr] {
    color: var(--text-primary);
    font-weight: var(--font-weight-bold);
}

/* ===== Gruppi ===== */
.candidate-group[b-955s23s6mr] {
    border: var(--border-width-thin) solid var(--border-color-light);
    border-top: none;
    background-color: var(--bg-primary);
}

.candidate-group-header[b-955s23s6mr] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-4);
    background-color: var(--bg-tertiary);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.candidate-group-name[b-955s23s6mr] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--text-primary);
}

.candidate-group-count[b-955s23s6mr] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ===== Righe ===== */
.candidate-row[b-955s23s6mr] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.candidate-row:last-child[b-955s23s6mr] {
    border-bottom: none;
}

/* Riga già elaborata: attenuata ma leggibile, con il link al documento. */
.candidate-row-processed[b-955s23s6mr] {
    opacity: 0.72;
}

/* Riga bloccante: resta visibile, altrimenti l'utente non capisce perché
   l'ordine non compare nell'esito. */
.candidate-row-blocked[b-955s23s6mr] {
    background-color: #fdeded;
}

.candidate-select[b-955s23s6mr] {
    width: 18px;
    display: flex;
    justify-content: center;
    flex-shrink: 0;
}

.candidate-select input[type="checkbox"][b-955s23s6mr] {
    width: 15px;
    height: 15px;
    cursor: pointer;
}

.candidate-state-icon[b-955s23s6mr] {
    color: var(--text-muted);
    display: inline-flex;
}

.candidate-row-blocked .candidate-state-icon[b-955s23s6mr] {
    color: var(--color-danger);
}

.candidate-info[b-955s23s6mr] {
    flex: 1;
    min-width: 0;
}

.candidate-name[b-955s23s6mr] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-primary);
}

.candidate-meta[b-955s23s6mr] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: var(--space-1);
}

.meta-separator[b-955s23s6mr] {
    margin: 0 var(--space-2);
    color: var(--border-color-light);
}

.candidate-blocking[b-955s23s6mr] {
    font-size: var(--font-size-xs);
    color: var(--color-danger);
    margin-top: var(--space-1);
}

.candidate-processed[b-955s23s6mr] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: var(--space-1);
}

/* ===== Tipo documento ===== */
.candidate-doctype[b-955s23s6mr] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    min-width: 120px;
    flex-shrink: 0;
}

.doctype-badge[b-955s23s6mr] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    padding: 2px var(--space-2);
    letter-spacing: 0.5px;
}

.doctype-blv[b-955s23s6mr] {
    background-color: #e6f1fb;
    color: #0c447c;
}

.doctype-fav[b-955s23s6mr] {
    background-color: #eeedfe;
    color: #3c3489;
}

.doctype-name[b-955s23s6mr] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* ===== Evasione ===== */
.candidate-gauge[b-955s23s6mr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 60px;
    flex-shrink: 0;
}

.gauge-value[b-955s23s6mr] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
}

.gauge-complete[b-955s23s6mr] {
    color: var(--color-success);
}

.gauge-partial[b-955s23s6mr] {
    color: #a06000;
}

.gauge-label[b-955s23s6mr] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ===== Azioni ===== */
.candidate-actions[b-955s23s6mr] {
    min-width: 32px;
    display: flex;
    justify-content: flex-end;
    flex-shrink: 0;
}

.btn-icon[b-955s23s6mr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    color: var(--text-muted);
    border: var(--border-width-thin) solid transparent;
    background: transparent;
    cursor: pointer;
    text-decoration: none;
}

.btn-icon:hover[b-955s23s6mr] {
    color: var(--color-primary);
    border-color: var(--border-color-light);
}

/* ===== Stato vuoto ===== */
.empty-state[b-955s23s6mr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-16) 0;
    color: var(--text-muted);
    gap: var(--space-3);
}

.empty-state svg[b-955s23s6mr] {
    opacity: 0.4;
}

.empty-state-text[b-955s23s6mr] {
    font-size: var(--font-size-base);
    margin: 0;
}
/* /Components/Shared/Sales/SalesInvoiceGenerationDialog.razor.rz.scp.css */
/* ===========================
   SalesInvoiceGenerationDialog - Scoped Styles
   Flat Industrial Minimal — token del design system MTS (wwwroot/css/design-system.css)
   =========================== */

.dialog-backdrop[b-9krpsjyjtd] {
    position: fixed;
    inset: 0;
    background-color: rgba(11, 36, 62, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal);
    padding: var(--space-6);
}

.dialog-panel[b-9krpsjyjtd] {
    background-color: var(--bg-primary);
    border: var(--border-width-thin) solid var(--border-color-light);
    box-shadow: var(--shadow-lg);
    width: 100%;
    max-width: 560px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
}

/* ===== Header ===== */
.dialog-header[b-9krpsjyjtd] {
    padding: var(--space-4);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.dialog-title[b-9krpsjyjtd] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    margin: 0;
}

.dialog-subtitle[b-9krpsjyjtd] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    margin: var(--space-1) 0 0 0;
}

/* ===== Body ===== */
.dialog-body[b-9krpsjyjtd] {
    padding: var(--space-4);
    overflow-y: auto;
    flex: 1;
}

.dialog-body-centered[b-9krpsjyjtd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-12) var(--space-4);
}

.dialog-progress-text[b-9krpsjyjtd] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    margin: 0;
}

.dialog-label[b-9krpsjyjtd] {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: var(--space-1);
}

.dialog-input[b-9krpsjyjtd] {
    width: 100%;
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-sm);
    border: var(--border-width-thin) solid var(--border-color-light);
    background-color: var(--bg-primary);
    color: var(--color-gray-700);
    margin-bottom: var(--space-4);
}

.dialog-input:focus[b-9krpsjyjtd] {
    outline: none;
    border-color: var(--color-primary);
}

/* ===== Elenco ===== */
.dialog-list[b-9krpsjyjtd] {
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

.dialog-list-row[b-9krpsjyjtd] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) 0;
    font-size: var(--font-size-sm);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.dialog-list-row > span:not(.dialog-list-value):not(.result-icon)[b-9krpsjyjtd],
.result-label[b-9krpsjyjtd] {
    flex: 1;
    min-width: 0;
}

.dialog-list-value[b-9krpsjyjtd] {
    color: var(--text-muted);
    text-align: right;
    font-size: var(--font-size-xs);
}

a.dialog-list-value[b-9krpsjyjtd] {
    color: var(--color-action);
    text-decoration: none;
    font-size: var(--font-size-sm);
}

a.dialog-list-value:hover[b-9krpsjyjtd] {
    text-decoration: underline;
}

/* ===== Avvisi ===== */
.dialog-callout[b-9krpsjyjtd] {
    padding: var(--space-3);
    font-size: var(--font-size-xs);
    margin-top: var(--space-4);
    border-left: var(--border-width-thick) solid;
}

.dialog-callout-warn[b-9krpsjyjtd] {
    background-color: #fff8e6;
    border-left-color: var(--color-warning);
    color: #6b4c00;
}

.dialog-callout-danger[b-9krpsjyjtd] {
    background-color: #fdeded;
    border-left-color: var(--color-danger);
    color: #5f2120;
}

/* ===== Footer ===== */
.dialog-footer[b-9krpsjyjtd] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    border-top: var(--border-width-thin) solid var(--border-color-light);
}

/* ===== Riepilogo esito ===== */
.result-cards[b-9krpsjyjtd] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.result-card[b-9krpsjyjtd] {
    background-color: var(--bg-secondary);
    padding: var(--space-3);
    display: flex;
    flex-direction: column;
}

.result-card-label[b-9krpsjyjtd] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.result-card-value[b-9krpsjyjtd] {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--text-primary);
}

.result-icon[b-9krpsjyjtd] {
    display: inline-flex;
    flex-shrink: 0;
}

.result-success[b-9krpsjyjtd] {
    color: var(--color-success);
}

.result-danger[b-9krpsjyjtd] {
    color: var(--color-danger);
}

.result-muted[b-9krpsjyjtd] {
    color: var(--text-muted);
}
/* /Components/Shared/SelectField.razor.rz.scp.css */
/* SelectField - Scoped Styles
   Struttura e misure allineate a DateField: stessa altezza di riga, stessa etichetta, stesso
   comportamento del bordo in focus. È l'allineamento che si ottiene gratis usando il componente
   invece di un <select> nudo. */

.form-group[b-a6kc7tv1ix] {
    display: flex;
    flex-direction: column;
    max-width: 180px;
}

.form-label[b-a6kc7tv1ix] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.select-input-wrapper[b-a6kc7tv1ix] {
    position: relative;
    display: flex;
    align-items: stretch;
}

.select-input[b-a6kc7tv1ix] {
    flex: 1;
    width: 100%;
    /* La freccia nativa cambia forma e ingombro fra browser: si nasconde e se ne disegna una
       coerente con le icone del resto dell'interfaccia. */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: calc(var(--space-2) + 16px + var(--space-2));
    cursor: pointer;
    /* Un <select> non eredita la font-family come un <input>: senza questa riga il controllo
       userebbe il font di sistema e stonerebbe accanto agli altri campi. */
    font-family: var(--font-primary);
}

.select-input:focus[b-a6kc7tv1ix] {
    border-color: var(--color-primary);
    outline: var(--border-width-medium) solid var(--color-primary);
    outline-offset: -1px;
    z-index: 1;
}

.select-input:disabled[b-a6kc7tv1ix] {
    background-color: var(--bg-tertiary);
    cursor: not-allowed;
    opacity: 0.6;
}

.select-chevron[b-a6kc7tv1ix] {
    position: absolute;
    right: var(--space-2);
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
    pointer-events: none;
    display: flex;
    align-items: center;
}
/* /Components/Shared/Support/TicketConversation.razor.rz.scp.css */
/* Conversazione del ticket — Flat Industrial Minimal, angoli a 90°.
   Solo token del design system (design-system.css): nessun colore inventato. */

.conversation[b-cv9gb0l4vg] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.msg[b-cv9gb0l4vg] {
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--color-white);
    padding: var(--space-3) var(--space-4);
    max-width: 100%;
}

/* Il colore del bordo dice chi parla: navy il cliente, rosso MTS l'assistenza. */
.msg-in[b-cv9gb0l4vg]     { border-left: var(--border-width-thick) solid var(--color-primary); }
.msg-out[b-cv9gb0l4vg]    { border-left: var(--border-width-thick) solid var(--color-action); }
.msg-system[b-cv9gb0l4vg] { border-style: dashed; color: var(--text-muted); font-size: var(--font-size-sm); background: var(--bg-secondary); }
.msg-note[b-cv9gb0l4vg]   { background: #fff8e6; border-left: var(--border-width-thick) solid #d9a300; }

.msg-head[b-cv9gb0l4vg] {
    display: flex;
    justify-content: space-between;
    gap: var(--space-4);
    flex-wrap: wrap;
    font-size: var(--font-size-sm);
    margin-bottom: var(--space-2);
}

.msg-author[b-cv9gb0l4vg] { font-weight: var(--font-weight-semibold); color: var(--color-primary); display: inline-flex; align-items: center; gap: var(--space-2); }
.msg-meta[b-cv9gb0l4vg] { color: var(--text-muted); display: inline-flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; font-size: var(--font-size-xs); }
.msg-body[b-cv9gb0l4vg] { white-space: pre-wrap; word-break: break-word; font-size: var(--font-size-sm); color: var(--color-gray-700); }

.msg-attachments[b-cv9gb0l4vg] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-top: var(--space-3);
}

.attachment-chip[b-cv9gb0l4vg] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    border: var(--border-width-thin) solid var(--border-color-light);
    background: var(--bg-secondary);
    color: var(--color-gray-700);
    padding: 0.2rem 0.6rem;
    font-size: var(--font-size-xs);
    cursor: pointer;
}

.attachment-chip:hover[b-cv9gb0l4vg] { background: var(--color-gray-100); border-color: var(--color-primary); }
.attachment-size[b-cv9gb0l4vg] { color: var(--text-muted); }

/* Stato di invio e note interne: stesse pastiglie delle pagine. */
.badge[b-cv9gb0l4vg] { display: inline-block; padding: 0.1rem 0.5rem; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; border: 1px solid transparent; white-space: nowrap; }
.badge-info[b-cv9gb0l4vg]      { background: #e6f4f7; border-color: #b6dfe7; color: #0f5462; }
.badge-warning[b-cv9gb0l4vg]   { background: #fff8e6; border-color: #f5d78e; color: #7a4b06; }
.badge-success[b-cv9gb0l4vg]   { background: #e8f5ee; border-color: #b7e0c8; color: #17603f; }
.badge-secondary[b-cv9gb0l4vg] { background: #f1f3f5; border-color: #d5d9de; color: #495057; }
.badge-danger[b-cv9gb0l4vg]    { background: #fdeded; border-color: #f5b5b5; color: #7a1c1c; }
/* /Components/Shared/TimeField.razor.rz.scp.css */
/* TimeField - Scoped Styles */

.form-group[b-a94bzoiprb] {
    display: flex;
    flex-direction: column;
    max-width: 180px;
    min-width: 150px;
}

.form-label[b-a94bzoiprb] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: var(--space-1);
}

.time-input-wrapper[b-a94bzoiprb] {
    position: relative;
    display: flex;
    align-items: stretch;
}

.time-icon[b-a94bzoiprb] {
    position: absolute;
    left: var(--space-2);
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
    pointer-events: none;
    display: flex;
    align-items: center;
}

.time-input[b-a94bzoiprb] {
    flex: 1;
    padding-left: calc(var(--space-2) + 18px + var(--space-2));
}

.time-input.form-control-readonly[b-a94bzoiprb] {
    background-color: var(--color-gray-50);
    color: var(--color-gray-700);
    cursor: default;
}

.time-input:focus[b-a94bzoiprb] {
    border-color: var(--color-primary);
    outline: var(--border-width-medium) solid var(--color-primary);
    outline-offset: -1px;
    z-index: 1;
}
/* /Components/Shared/ToggleSwitch.razor.rz.scp.css */
/* ===========================
   ToggleSwitch - Shared Scoped Styles
   Flat Industrial Minimal
   =========================== */

/* L'interruttore vale come controllo di riga: nelle barre filtro sta accanto a DateField e
   SelectField, e con il solo padding misurava 36 px contro i loro 38–40.
   Il min-height lo porta all'altezza di riga dichiarata senza toccare il cursore, che resta
   centrato dall'align-items. */
.toggle-switch[b-jl6ayj5yw1] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    cursor: pointer;
    padding: var(--space-2) 0;
    min-height: var(--control-height);
    user-select: none;
}

.toggle-switch-disabled[b-jl6ayj5yw1] {
    opacity: 0.5;
    cursor: not-allowed;
}

.toggle-switch-input[b-jl6ayj5yw1] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

/* Slider track */
.toggle-switch-slider[b-jl6ayj5yw1] {
    position: relative;
    width: 36px;
    height: 20px;
    background-color: var(--color-gray-300);
    border-radius: 10px !important;
    flex-shrink: 0;
    transition: background-color var(--transition-fast) var(--transition-ease);
}

/* Slider knob */
.toggle-switch-slider[b-jl6ayj5yw1]::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    background-color: var(--color-white);
    border-radius: 50% !important;
    transition: transform var(--transition-fast) var(--transition-ease);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

/* Active state */
.toggle-switch-input:checked + .toggle-switch-slider[b-jl6ayj5yw1] {
    background-color: var(--color-primary);
}

.toggle-switch-input:checked + .toggle-switch-slider[b-jl6ayj5yw1]::after {
    transform: translateX(16px);
}

/* Focus ring */
.toggle-switch-input:focus-visible + .toggle-switch-slider[b-jl6ayj5yw1] {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

/* Label text */
.toggle-switch-label[b-jl6ayj5yw1] {
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    line-height: 1.3;
}
/* /Components/Shared/TraceabilityGraph.razor.rz.scp.css */
.trace-graph-panel[b-jzjup1r3z8] {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
}

.trace-graph-title[b-jzjup1r3z8] {
    padding: 10px 16px;
    font-weight: 600;
    font-size: 14px;
    color: #fff;
}

.trace-graph-title.trace-up[b-jzjup1r3z8] { background: #7c3aed; }
.trace-graph-title.trace-down[b-jzjup1r3z8] { background: #0d9488; }

.trace-graph-meta[b-jzjup1r3z8] {
    padding: 8px 16px;
    font-size: 12px;
    color: #64748b;
    border-bottom: 1px dashed #e2e8f0;
}

.trace-hint[b-jzjup1r3z8] { color: #94a3b8; }

.trace-graph-empty[b-jzjup1r3z8] {
    padding: 24px 16px;
    color: #94a3b8;
    font-style: italic;
}

.trace-graph-viewport[b-jzjup1r3z8] {
    height: 680px;
    overflow: hidden;
    background:
        linear-gradient(90deg, #f1f5f9 1px, transparent 1px) 0 0 / 24px 24px,
        linear-gradient(#f1f5f9 1px, transparent 1px) 0 0 / 24px 24px,
        #fff;
}

.trace-graph[b-jzjup1r3z8] {
    width: 100%;
    height: 100%;
    cursor: grab;
    touch-action: none;
    user-select: none;
}

.trace-graph.panning[b-jzjup1r3z8] { cursor: grabbing; }

/* archi */
.trace-edge[b-jzjup1r3z8] {
    stroke-width: 2;
    fill: none;
    opacity: .85;
    transition: opacity .15s, stroke-width .15s;
}

.trace-edge.edge-article[b-jzjup1r3z8] { stroke: #64748b; }
.trace-edge.edge-package[b-jzjup1r3z8] { stroke: #0ea5e9; }
.trace-edge.edge-logistic[b-jzjup1r3z8] { stroke: #8b5cf6; }
.trace-edge.edge-aggregate[b-jzjup1r3z8] { stroke: #f59e0b; }

/* nodi */
.trace-node[b-jzjup1r3z8] { cursor: pointer; }

.node-box[b-jzjup1r3z8] {
    fill: #ffffff;
    stroke: #cbd5e1;
    stroke-width: 1;
    transition: opacity .15s;
}

.trace-node.is-pivot .node-box[b-jzjup1r3z8] {
    fill: #ecfeff;
    stroke: #06b6d4;
    stroke-width: 2;
}

.node-doctype[b-jzjup1r3z8] {
    font-size: 11px;
    font-weight: 700;
    fill: #0d9488;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.node-barcode[b-jzjup1r3z8] {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 12px;
    font-weight: 600;
    fill: #0f172a;
}

.node-item[b-jzjup1r3z8] {
    font-size: 11px;
    fill: #64748b;
}

/* ---- evidenziazione alla selezione di un nodo ---- */
.trace-graph.has-selection .trace-node[b-jzjup1r3z8] { opacity: .25; }
.trace-graph.has-selection .trace-node.selected[b-jzjup1r3z8],
.trace-graph.has-selection .trace-node.neighbor[b-jzjup1r3z8] { opacity: 1; }

.trace-node.selected .node-box[b-jzjup1r3z8] {
    stroke: #ef4444;
    stroke-width: 3;
}

.trace-node.neighbor .node-box[b-jzjup1r3z8] {
    stroke: #f59e0b;
    stroke-width: 2.5;
}

.trace-graph.has-selection .trace-edge[b-jzjup1r3z8] { opacity: .07; }
.trace-graph.has-selection .trace-edge.edge-active[b-jzjup1r3z8] {
    opacity: 1;
    stroke-width: 3;
}
/* /Components/Shared/Traceability/TraceabilityBar.razor.rz.scp.css */
/* ===========================
   TraceabilityBar - Scoped Styles
   Barra della tracciabilità corrente: sta fra le card di testata e la griglia righe, quindi deve
   leggersi come una fascia operativa distinta dai form section.
   =========================== */

.trac-bar[b-16vmpg54vr] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-left: 4px solid #cbd5e1;
    padding: 12px 16px;
    margin-bottom: 16px;
}

/* Tracciabilità obbligatoria (ind_default_detailtype = 'T'): bordo ambra finché non è risolta. */
.trac-bar.is-required[b-16vmpg54vr] { border-left-color: #d97706; }

/* Risolta: bordo verde, coerente col badge delle righe tracciabili. */
.trac-bar.has-selection[b-16vmpg54vr] { border-left-color: #047857; }

.trac-bar-input-row[b-16vmpg54vr] { display: flex; flex-direction: column; gap: 6px; }

.trac-bar-label[b-16vmpg54vr] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
}

.trac-bar-controls[b-16vmpg54vr] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

.trac-bar-barcode[b-16vmpg54vr] {
    flex: 1 1 320px;
    min-width: 220px;
    padding: 8px 12px;
    font-size: 15px;
    /* Monospazio: i barcode si leggono e si confrontano a occhio. */
    font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
    letter-spacing: 0.04em;
    border: 1px solid #d1d5db;
    background: #fff;
    color: #111827;
}
.trac-bar-barcode:focus[b-16vmpg54vr] {
    outline: none;
    border-color: #1d4ed8;
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.12);
}
.trac-bar-barcode:disabled[b-16vmpg54vr] { background: #f3f4f6; color: #9ca3af; }

.trac-bar-spinner[b-16vmpg54vr] { display: inline-flex; align-items: center; color: #6b7280; }

.btn-trac[b-16vmpg54vr] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid #d1d5db;
    background: #f9fafb;
    color: #374151;
    cursor: pointer;
}
.btn-trac:hover:not(:disabled)[b-16vmpg54vr] { background: #f3f4f6; color: #111827; }
.btn-trac:disabled[b-16vmpg54vr] { opacity: 0.5; cursor: default; }

.btn-trac-picker[b-16vmpg54vr] { border-color: #bfdbfe; background: #eff6ff; color: #1d4ed8; }
.btn-trac-picker:hover:not(:disabled)[b-16vmpg54vr] { background: #dbeafe; }

.btn-trac-clear[b-16vmpg54vr] { padding: 8px 10px; }
.btn-trac-clear:hover:not(:disabled)[b-16vmpg54vr] { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }

/* ── Esito della lettura ───────────────────────────────────────────────────── */

.trac-bar-result[b-16vmpg54vr] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
    padding: 8px 10px;
    font-size: 13px;
}

.trac-bar-result.is-ok[b-16vmpg54vr] { background: #f0fdf4; color: #14532d; }
.trac-bar-result.is-error[b-16vmpg54vr] { background: #fef2f2; color: #7f1d1d; }
.trac-bar-result.is-hint[b-16vmpg54vr] { background: #fffbeb; color: #78350f; font-style: italic; }

.trac-flag[b-16vmpg54vr] { font-weight: 700; color: #047857; white-space: nowrap; }

.trac-chip[b-16vmpg54vr] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    background: #fff;
    border: 1px solid #a7f3d0;
    font-size: 12px;
    color: #065f46;
    white-space: nowrap;
}
.trac-chip-article[b-16vmpg54vr] { font-weight: 600; }
.trac-chip-stock[b-16vmpg54vr] { border-color: #bfdbfe; color: #1d4ed8; font-variant-numeric: tabular-nums; }

.trac-barcode-echo[b-16vmpg54vr] {
    margin-left: auto;
    font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
    font-size: 11px;
    color: #6b7280;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .trac-barcode-echo[b-16vmpg54vr] { margin-left: 0; }
    .trac-bar-barcode[b-16vmpg54vr] { flex-basis: 100%; }
}
/* /Components/Shared/Traceability/TraceabilityPickerDialog.razor.rz.scp.css */
/* ===========================
   TraceabilityPickerDialog - Scoped Styles

   Le regole .dtl-modal-* replicano quelle di WarehouseLineDetailsModal: con l'isolamento CSS di
   Blazor le classi non si ereditano fra componenti, quindi l'uniformità visiva si ottiene
   ripetendo le stesse regole. Se cambia lo stile dei modali, vanno aggiornati entrambi.
   =========================== */

.dtl-modal-backdrop[b-ymzirn89ir] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
}

.dtl-modal[b-ymzirn89ir] {
    background: #fff;
    border-radius: 8px;
    width: 100%;
    /* Più largo del modale dettagli: la griglia dei risultati porta otto colonne e deve leggersi
       senza scorrimento orizzontale — è su quei dati che si sceglie il collo. */
    max-width: 1100px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

.dtl-modal-header[b-ymzirn89ir] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1.2rem;
    background-color: var(--color-primary, #0B243E);
    color: #fff;
    border-bottom: 1px solid var(--color-primary, #0B243E);
}

.dtl-modal-header h3[b-ymzirn89ir] { margin: 0; font-size: 1.05rem; color: #fff; }

.dtl-modal-header .btn-close[b-ymzirn89ir] {
    border: none; background: transparent;
    font-size: 1.5rem; line-height: 1; cursor: pointer; color: rgba(255, 255, 255, 0.85); padding: 0 0.25rem;
}

.dtl-modal-header .btn-close:hover[b-ymzirn89ir] { color: #fff; }

.dtl-tabs[b-ymzirn89ir] {
    display: flex;
    gap: 0;
    border-bottom: 1px solid #e5e7eb;
    padding: 0 1.2rem;
}

.dtl-tab[b-ymzirn89ir] {
    border: none;
    background: transparent;
    padding: 0.65rem 1rem;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #6b7280;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}

.dtl-tab.is-active[b-ymzirn89ir] {
    color: var(--color-primary, #0b243e);
    border-bottom-color: var(--color-primary, #0b243e);
}

.dtl-modal-body[b-ymzirn89ir] {
    padding: 1.2rem;
    overflow-y: auto;
}

.dtl-modal-footer[b-ymzirn89ir] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    padding: 0.9rem 1.2rem;
    border-top: 1px solid #e5e7eb;
}

/* ── Filtri: articolo sulla prima riga, il resto sulla seconda ────────────── */
.pk-filters[b-ymzirn89ir] {
    padding: 1rem 1.2rem;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
}

.pk-row[b-ymzirn89ir] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem 1rem;
}

.pk-row-article[b-ymzirn89ir] { margin-bottom: 0.9rem; }

.pk-field[b-ymzirn89ir] { display: flex; flex-direction: column; gap: 0.25rem; }
.pk-field-grow[b-ymzirn89ir] { flex: 1 1 100%; }

.pk-field label[b-ymzirn89ir] {
    font-size: 0.8rem;
    color: #374151;
    font-weight: 600;
}

.pk-field .form-control-sm[b-ymzirn89ir] { padding: 0.3rem 0.5rem; font-size: 0.85rem; min-width: 150px; }

/* Campo articolo con pulsante di ricerca affiancato. */
.pk-lookup[b-ymzirn89ir] { display: flex; align-items: stretch; gap: 0.35rem; }
.pk-lookup .form-control[b-ymzirn89ir] { flex: 1 1 auto; min-width: 0; }

.btn-lookup-sm[b-ymzirn89ir] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    flex: 0 0 32px;
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    color: #374151;
    cursor: pointer;
    border-radius: 4px;
    padding: 0;
}
.btn-lookup-sm:hover:not(:disabled)[b-ymzirn89ir] { background: #e5e7eb; color: #111827; }
.btn-lookup-sm:disabled[b-ymzirn89ir] { opacity: 0.5; cursor: default; }

.pk-article-select[b-ymzirn89ir] { margin-top: 0.35rem; width: 100%; }

.pk-selected[b-ymzirn89ir] {
    margin-top: 0.3rem;
    font-size: 0.8rem;
    color: #047857;
}

/* DateField porta la propria label e il proprio wrapper: con l'isolamento CSS le regole
   .pk-field label non lo raggiungono, quindi si usa ::deep per allinearlo alla densità degli altri
   filtri. Stesso schema già adottato dai campi numerici nella griglia righe del form. */
.pk-field-date[b-ymzirn89ir] { min-width: 190px; }
.pk-field-date[b-ymzirn89ir]  .form-group { margin: 0; padding: 0; gap: 0.25rem; }
.pk-field-date[b-ymzirn89ir]  .form-label {
    font-size: 0.8rem;
    color: #374151;
    font-weight: 600;
}
.pk-field-date[b-ymzirn89ir]  .date-input {
    padding: 0.3rem 0.5rem;
    font-size: 0.85rem;
}

.pk-field-action[b-ymzirn89ir] { margin-left: auto; }

/* ── Interruttori dei segni di esistenza ───────────────────────────────────
   Al posto delle caselle: sono tre filtri combinabili e lo stato acceso/spento si legge a colpo
   d'occhio, anche da lontano e su un terminale in reparto. */
.pk-switches[b-ymzirn89ir] { display: flex; align-items: center; gap: 0.9rem; }

.pk-switch[b-ymzirn89ir] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    cursor: pointer;
    user-select: none;
    font-size: 0.85rem;
    color: #334155;
    font-weight: 500;
    margin: 0;
}

.pk-switch input[b-ymzirn89ir] { position: absolute; opacity: 0; width: 0; height: 0; }

.pk-switch-track[b-ymzirn89ir] {
    position: relative;
    width: 32px;
    height: 17px;
    background: #cbd5e1;
    border-radius: 999px;
    transition: background-color 140ms ease;
    flex-shrink: 0;
}

.pk-switch-thumb[b-ymzirn89ir] {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 13px;
    height: 13px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    transition: transform 140ms ease;
}

.pk-switch input:checked + .pk-switch-track[b-ymzirn89ir] { background: var(--color-primary, #0b243e); }
.pk-switch input:checked + .pk-switch-track .pk-switch-thumb[b-ymzirn89ir] { transform: translateX(15px); }
.pk-switch input:focus-visible + .pk-switch-track[b-ymzirn89ir] { box-shadow: 0 0 0 3px rgba(11, 36, 62, 0.2); }

.pk-switch-label[b-ymzirn89ir] { font-variant-numeric: tabular-nums; }

/* ── Esiti ─────────────────────────────────────────────────────────────────── */
.pk-error[b-ymzirn89ir] {
    padding: 0.6rem 1.2rem;
    background: #fef2f2;
    color: #7f1d1d;
    font-size: 0.85rem;
    border-bottom: 1px solid #fecaca;
}

.pk-results[b-ymzirn89ir] { flex: 1 1 auto; padding: 0; }

.pk-empty[b-ymzirn89ir] {
    display: flex; align-items: center; justify-content: center; gap: 0.5rem;
    padding: 2.5rem 1rem; color: #9ca3af; font-size: 0.85rem; font-style: italic;
}

.pk-table[b-ymzirn89ir] { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
.pk-table thead th[b-ymzirn89ir] {
    position: sticky;
    top: 0;
    text-align: left;
    padding: 0.5rem 0.65rem;
    background: #f3f4f6;
    border-bottom: 1px solid #e5e7eb;
    font-size: 0.7rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.04em; color: #374151;
}
.pk-table tbody td[b-ymzirn89ir] { padding: 0.45rem 0.65rem; border-bottom: 1px solid #f1f5f9; white-space: nowrap; }
/* Doppio click sulla riga = scegli: la riga deve sembrare cliccabile. */
.pk-table tbody tr[b-ymzirn89ir] { cursor: pointer; }
.pk-table tbody tr:hover[b-ymzirn89ir] { background: #eff6ff; }
.pk-table .text-end[b-ymzirn89ir] { text-align: right; font-variant-numeric: tabular-nums; }

.btn-xs[b-ymzirn89ir] { padding: 0.15rem 0.5rem; font-size: 0.75rem; }

.pk-count[b-ymzirn89ir] { font-size: 0.8rem; color: #6b7280; }
.pk-scope[b-ymzirn89ir] { color: #9ca3af; }

@media (max-width: 768px) {
    .pk-field-action[b-ymzirn89ir] { margin-left: 0; }
    .pk-switches[b-ymzirn89ir] { flex-wrap: wrap; }
}
/* /Components/Shared/Warehouse/PackageLevelEditor.razor.rz.scp.css */
/* ===========================
   PackageLevelEditor - Scoped Styles
   Flat Industrial Minimal

   Il CSS isolato vale solo sul markup dichiarato QUI dentro: i controlli condivisi
   (LookupField, IndicatorField, QuantityField, AmountField) portano il proprio.
   =========================== */

.level-card[b-4xovdwv3uz] {
    padding: var(--space-4);
    margin-bottom: var(--space-3);
    background-color: var(--color-white);
    border: var(--border-width-thin) solid var(--border-color-light);
    border-left: var(--border-width-thick) solid var(--color-primary);
}

/* Uno slot senza imballaggio si legge come «non impostato», non come «campo vuoto». */
.level-card-empty[b-4xovdwv3uz] {
    border-left-color: var(--border-color-light);
    background-color: var(--bg-secondary);
}

.level-header[b-4xovdwv3uz] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
}

.level-title[b-4xovdwv3uz] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.level-badge[b-4xovdwv3uz] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    padding: 1px var(--space-2);
    background-color: var(--color-gray-100);
}

.level-clear[b-4xovdwv3uz] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: var(--text-muted);
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
}

.level-clear:hover[b-4xovdwv3uz] {
    color: var(--color-danger);
    border-color: var(--color-danger);
    background-color: #fdeded;
}

/* Griglia dei campi dello slot. Quattro colonne: imballaggio (doppia), assegnazione,
   quantità, costo. */
.form-grid[b-4xovdwv3uz] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-3);
}

.form-group-wide[b-4xovdwv3uz] {
    grid-column: span 2;
}

.level-cost[b-4xovdwv3uz] {
    margin-top: var(--space-3);
    padding-top: var(--space-2);
    border-top: var(--border-width-thin) solid var(--border-color-light);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.level-cost-note[b-4xovdwv3uz] {
    color: var(--text-muted);
    font-style: italic;
}

@media (max-width: 900px) {
    .form-grid[b-4xovdwv3uz] {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 600px) {
    .form-grid[b-4xovdwv3uz] {
        grid-template-columns: 1fr;
    }

    .form-group-wide[b-4xovdwv3uz] {
        grid-column: span 1;
    }
}
/* /Components/Shared/Warehouse/PalletLayoutPreview.razor.rz.scp.css */
/* ===========================
   PalletLayoutPreview - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.layout-preview[b-usvw1uo1eq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-4);
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

/* Il disegno non deve mai far scorrere la pagina in orizzontale: si adatta al contenitore
   mantenendo le proporzioni della griglia. */
.layout-svg[b-usvw1uo1eq] {
    max-width: 100%;
    max-height: 320px;
    height: auto;
}

.layout-pallet[b-usvw1uo1eq] {
    fill: var(--color-white);
    stroke: var(--border-color-light);
    stroke-width: 1;
}

.layout-parcel[b-usvw1uo1eq] {
    fill: var(--color-gray-100);
    stroke: var(--color-primary);
    stroke-width: 1;
}

.layout-empty[b-usvw1uo1eq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-6) var(--space-4);
    color: var(--text-muted);
    text-align: center;
}

.layout-empty svg[b-usvw1uo1eq] {
    opacity: 0.4;
}

.layout-empty p[b-usvw1uo1eq] {
    margin: 0;
    font-size: var(--font-size-sm);
}

.layout-caption[b-usvw1uo1eq] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.layout-caption-separator[b-usvw1uo1eq] {
    color: var(--border-color-light);
}

.layout-total[b-usvw1uo1eq] {
    color: var(--color-primary);
}

.layout-caption-note[b-usvw1uo1eq] {
    color: var(--color-warning);
    font-style: italic;
}
/* /Components/Shared/Warehouse/ProductPalletCompositionRows.razor.rz.scp.css */
/* ===========================
   ProductPalletCompositionRows - Scoped Styles
   Flat Industrial Minimal
   =========================== */

.rows-panel[b-gww2teszx3] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.rows-list[b-gww2teszx3] {
    display: flex;
    flex-direction: column;
    border: var(--border-width-thin) solid var(--border-color-light);
}

.row-item[b-gww2teszx3] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    background-color: var(--color-white);
    border-bottom: var(--border-width-thin) solid var(--border-color-light);
}

.row-item:last-child[b-gww2teszx3] {
    border-bottom: none;
}

/* L'abbinamento esiste ma la composizione no: si legge come stato, non come descrizione. */
.row-item-orphan[b-gww2teszx3] {
    background-color: #fff4e5;
    border-left: var(--border-width-thick) solid var(--color-warning);
}

.row-order[b-gww2teszx3] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    background-color: var(--color-gray-100);
}

.row-info[b-gww2teszx3] {
    flex: 1;
    min-width: 0;
}

.row-name[b-gww2teszx3] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-700);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.row-meta[b-gww2teszx3] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-1);
    margin-top: 2px;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.row-code[b-gww2teszx3] {
    font-family: var(--font-mono);
}

.row-separator[b-gww2teszx3] {
    color: var(--border-color-light);
}

.row-orphan-note[b-gww2teszx3] {
    color: var(--color-warning);
    font-weight: var(--font-weight-medium);
}

.row-actions[b-gww2teszx3] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-shrink: 0;
}

.btn-icon[b-gww2teszx3] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    color: var(--text-muted);
    background: none;
    border: var(--border-width-thin) solid transparent;
    cursor: pointer;
    transition: all var(--transition-fast) var(--transition-ease);
}

.btn-icon:hover:not(:disabled)[b-gww2teszx3] {
    color: var(--color-primary);
    border-color: var(--border-color-light);
    background-color: var(--color-gray-50);
}

.btn-icon:disabled[b-gww2teszx3] {
    opacity: 0.35;
    cursor: not-allowed;
}

.btn-icon-danger:hover:not(:disabled)[b-gww2teszx3] {
    color: var(--color-danger);
    border-color: var(--color-danger);
    background-color: #fdeded;
}

.rows-empty[b-gww2teszx3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-6) var(--space-4);
    color: var(--text-muted);
    text-align: center;
    background-color: var(--bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-light);
}

.rows-empty svg[b-gww2teszx3] {
    opacity: 0.4;
}

.rows-empty p[b-gww2teszx3] {
    margin: 0;
    font-size: var(--font-size-sm);
}

.rows-footer[b-gww2teszx3] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
}

.rows-footer .btn[b-gww2teszx3] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

.btn-outline-primary[b-gww2teszx3] {
    background: transparent;
    color: var(--color-primary);
    border: var(--border-width-thin) solid var(--color-primary);
}

.btn-outline-primary:hover:not(:disabled)[b-gww2teszx3] {
    background-color: var(--color-primary);
    color: var(--text-on-primary);
}

.btn-outline-primary:disabled[b-gww2teszx3] {
    opacity: 0.65;
    cursor: not-allowed;
}

.rows-hint[b-gww2teszx3] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-style: italic;
}
