/*
 * Richiamo estetico V1.332.
 * Override esclusivamente presentazionale del tema Windows predefinito.
 * Gli altri temi e la cascata modulare V1.355 restano invariati.
 */

body.gv-theme-windows {
    --v1332-green: var(--gv-user-primary);
    --v1332-green-dark: color-mix(in srgb, var(--gv-user-primary) 72%, #07351c);
    --v1332-green-soft: color-mix(in srgb, var(--gv-user-primary) 10%, #ffffff);
    --v1332-page: color-mix(in srgb, var(--gv-user-bg) 38%, #f2f5f2);
    --v1332-panel: color-mix(in srgb, var(--gv-user-bg) 7%, #ffffff);
    --v1332-border: color-mix(in srgb, var(--gv-user-border) 72%, #d5ded7);
    --v1332-table-head: color-mix(in srgb, var(--gv-user-table-head) 38%, #e6f2e8);
    background: var(--v1332-page) !important;
}

body.gv-theme-windows::before {
    background: none !important;
}

/* Barra superiore chiara, orizzontale e compatta. */
body.gv-theme-windows .topbar,
body.gv-theme-windows.core-home-clean-v1302 .compact-titlebar-v1300.topbar {
    min-height: 38px !important;
    padding: 3px 7px !important;
    gap: 6px !important;
    align-items: center !important;
    background: color-mix(in srgb, var(--gv-user-topbar) 9%, #ffffff) !important;
    border: 0 !important;
    border-bottom: 2px solid var(--v1332-green) !important;
    box-shadow: 0 1px 3px rgba(23, 57, 35, .08) !important;
    color: var(--gv-user-text) !important;
}

body.gv-theme-windows .compact-brand-v1300,
body.gv-theme-windows.core-home-clean-v1302 .compact-brand-v1300 {
    min-width: 178px !important;
    max-width: 225px !important;
    padding: 2px 6px !important;
    border: 1px solid var(--v1332-border) !important;
    border-radius: 5px !important;
    background: rgba(255, 255, 255, .82) !important;
}

body.gv-theme-windows .compact-brand-v1300 a {
    color: var(--gv-user-text) !important;
}

body.gv-theme-windows .brand-logo,
body.gv-theme-windows.core-home-clean-v1302 .compact-brand-v1300 .brand-logo {
    display: block !important;
    width: 27px !important;
    height: 27px !important;
    padding: 1px !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: #ffffff !important;
}

body.gv-theme-windows .brand-text {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0 !important;
}

body.gv-theme-windows .brand-text strong,
body.gv-theme-windows.core-home-clean-v1302 .compact-brand-v1300 .brand-text strong {
    color: var(--gv-user-text) !important;
    font-size: 13px !important;
    line-height: 1.05 !important;
}

body.gv-theme-windows .brand-text small,
body.gv-theme-windows.core-home-clean-v1302 .compact-brand-v1300 .brand-text small {
    margin-top: 1px !important;
    color: color-mix(in srgb, var(--gv-user-text) 62%, #ffffff) !important;
    font-size: 9px !important;
    line-height: 1.05 !important;
    opacity: 1 !important;
}

body.gv-theme-windows .compact-ribbon-v1300 {
    gap: 3px !important;
    align-items: center !important;
}

body.gv-theme-windows .compact-ribbon-v1300 > a,
body.gv-theme-windows .compact-ribbon-v1300 summary {
    min-height: 28px !important;
    padding: 4px 7px !important;
    border: 1px solid color-mix(in srgb, var(--v1332-green) 28%, var(--v1332-border)) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    color: var(--v1332-green-dark) !important;
    font-size: 11.5px !important;
    font-weight: 650 !important;
}

body.gv-theme-windows .compact-ribbon-v1300 > a:hover,
body.gv-theme-windows .compact-ribbon-v1300 summary:hover,
body.gv-theme-windows .compact-menu-v1300[open] > summary {
    background: var(--v1332-green-soft) !important;
    border-color: color-mix(in srgb, var(--v1332-green) 55%, var(--v1332-border)) !important;
    color: var(--v1332-green-dark) !important;
}

body.gv-theme-windows .compact-menu-v1300 > div {
    padding: 4px !important;
    border: 1px solid var(--v1332-border) !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    box-shadow: 0 4px 12px rgba(24, 55, 34, .13) !important;
}

body.gv-theme-windows .compact-menu-v1300 > div a {
    padding: 6px 7px !important;
    border-radius: 3px !important;
    color: var(--v1332-green-dark) !important;
}

body.gv-theme-windows .compact-menu-v1300 > div a:hover {
    background: var(--v1332-green-soft) !important;
}

body.gv-theme-windows .top-search-v1301 {
    gap: 3px !important;
    min-width: 215px !important;
}

body.gv-theme-windows .top-search-v1301 input,
body.gv-theme-windows .top-search-v1301 button {
    min-height: 28px !important;
    border-radius: 4px !important;
}

body.gv-theme-windows .top-search-v1301 input {
    border-color: var(--v1332-border) !important;
    background: #ffffff !important;
}

/* Superficie applicativa piana: sfondo chiaro, pannelli bianchi, bordi sottili. */
body.gv-theme-windows .container {
    max-width: none !important;
    margin: 5px 7px 18px !important;
    padding: 5px 0 18px !important;
    background: transparent !important;
}

body.gv-theme-windows .card,
body.gv-theme-windows .form-card,
body.gv-theme-windows .filters,
body.gv-theme-windows .summary,
body.gv-theme-windows .panel,
body.gv-theme-windows .gv336-section,
body.gv-theme-windows .platform-panel,
body.gv-theme-windows .home-workbench-v1323,
body.gv-theme-windows .core-action-group-v1323,
body.gv-theme-windows .recent-panel-v1302,
body.gv-theme-windows .core-workbar-v1303,
body.gv-theme-windows .core-filter-panel-v1303,
body.gv-theme-windows .core-new-row-card-v1303,
body.gv-theme-windows .core-technical-line-v1303,
body.gv-theme-windows .core-summary-strip-v1303 {
    border: 1px solid var(--v1332-border) !important;
    border-radius: 5px !important;
    background: var(--v1332-panel) !important;
    box-shadow: 0 1px 2px rgba(24, 55, 34, .055) !important;
}

body.gv-theme-windows h1 {
    margin: 3px 0 5px !important;
    color: var(--gv-user-text) !important;
    font-size: 22px !important;
    line-height: 1.12 !important;
}

body.gv-theme-windows h2 {
    margin: 8px 0 5px !important;
    color: var(--gv-user-text) !important;
    font-size: 16px !important;
    line-height: 1.15 !important;
}

body.gv-theme-windows h3 {
    margin: 6px 0 4px !important;
    color: var(--gv-user-text) !important;
    font-size: 14px !important;
}

body.gv-theme-windows .note,
body.gv-theme-windows .muted {
    color: color-mix(in srgb, var(--gv-user-text) 66%, #ffffff) !important;
}

body.gv-theme-windows a:not(.button):not(.danger-link):not(.nav-danger) {
    color: var(--v1332-green-dark);
}

/* Controlli compatti senza neutralizzare le tre densità personali. */
body.gv-theme-windows input:not([readonly]):not([disabled]),
body.gv-theme-windows select:not([disabled]),
body.gv-theme-windows textarea:not([readonly]):not([disabled]) {
    border-color: var(--v1332-border) !important;
    border-radius: 4px !important;
    background-color: #ffffff !important;
    color: var(--gv-user-text) !important;
    box-shadow: none !important;
}

body.gv-theme-windows input:focus,
body.gv-theme-windows select:focus,
body.gv-theme-windows textarea:focus {
    border-color: color-mix(in srgb, var(--v1332-green) 64%, var(--v1332-border)) !important;
    outline: 2px solid color-mix(in srgb, var(--v1332-green) 18%, transparent) !important;
    outline-offset: 0;
}

body.gv-theme-windows button,
body.gv-theme-windows .button,
body.gv-theme-windows .mini-button {
    border-radius: 4px !important;
    box-shadow: none !important;
    font-weight: 650;
}

body.gv-theme-windows .button.secondary,
body.gv-theme-windows button.secondary,
body.gv-theme-windows .workbar-tab-v1303 {
    border-color: color-mix(in srgb, var(--v1332-green) 34%, var(--v1332-border)) !important;
    background: color-mix(in srgb, var(--v1332-green) 7%, #ffffff) !important;
    color: var(--v1332-green-dark) !important;
}

body.gv-theme-windows .workbar-tab-v1303 {
    min-height: 28px !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
}

body.gv-theme-windows .workbar-tab-v1303:hover,
body.gv-theme-windows .workbar-tab-v1303.is-active {
    background: var(--v1332-green-soft) !important;
    border-color: color-mix(in srgb, var(--v1332-green) 58%, var(--v1332-border)) !important;
}

/* Tabelle dense, regolari e facilmente scandibili. */
body.gv-theme-windows table {
    margin-top: 5px !important;
    border: 1px solid var(--v1332-border) !important;
    border-collapse: collapse !important;
    border-radius: 3px !important;
    background: #ffffff !important;
    font-size: 12px;
}

body.gv-theme-windows table th {
    background: var(--v1332-table-head) !important;
    border-color: var(--v1332-border) !important;
    color: var(--v1332-green-dark) !important;
    font-weight: 700 !important;
}

body.gv-theme-windows table td {
    border-color: var(--v1332-border) !important;
}

body.gv-theme-windows .inventory-table,
body.gv-theme-windows .inventory-detail-table,
body.gv-theme-windows .sheet-like-table,
body.gv-theme-windows .compact-table-v1301,
body.gv-theme-windows .compact-table-v1302 {
    font-size: 11.5px !important;
}

/* Home: una scrivania operativa, non una pagina vetrina. */
body.gv-theme-windows .home-workbench-v1323 {
    grid-template-columns: minmax(210px, .75fr) minmax(330px, 1.25fr) !important;
    gap: 9px !important;
    align-items: center !important;
    margin-bottom: 6px !important;
    padding: 7px 9px !important;
}

body.gv-theme-windows .home-workbench-copy-v1323 h1 {
    margin: 1px 0 2px !important;
    font-size: 20px !important;
}

body.gv-theme-windows .home-workbench-copy-v1323 p {
    font-size: 12px !important;
}

body.gv-theme-windows .workbench-search-v1323 {
    padding: 5px !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

body.gv-theme-windows .workbench-search-v1323 label {
    margin-bottom: 2px !important;
}

body.gv-theme-windows .core-kpis-v1323.cards {
    gap: 5px !important;
    margin: 0 0 6px !important;
}

body.gv-theme-windows .core-kpis-v1323 .card,
body.gv-theme-windows .core-kpis-v1323 a.card {
    min-height: 44px !important;
    padding: 5px 8px !important;
}

body.gv-theme-windows .core-kpis-v1323 .card span {
    margin-bottom: 2px !important;
    font-size: 11px !important;
}

body.gv-theme-windows .core-kpis-v1323 .card strong {
    color: var(--v1332-green-dark) !important;
    font-size: 19px !important;
}

body.gv-theme-windows .core-action-board-v1323 {
    gap: 7px !important;
    margin: 6px 0 !important;
}

body.gv-theme-windows .core-action-group-v1323 {
    padding: 6px !important;
}

body.gv-theme-windows .section-title-row-v1323 {
    margin-bottom: 4px !important;
}

body.gv-theme-windows .core-action-strip-v1323,
body.gv-theme-windows .core-action-strip-v1323.compact {
    grid-template-columns: repeat(auto-fit, minmax(88px, 1fr)) !important;
    gap: 4px !important;
}

body.gv-theme-windows .core-action-strip-v1323 .button {
    min-height: 28px !important;
    padding: 4px 7px !important;
}

body.gv-theme-windows .recent-stack-v1323 {
    gap: 6px !important;
    margin-top: 6px !important;
}

body.gv-theme-windows .recent-panel-v1302 {
    padding: 6px !important;
}

body.gv-theme-windows .recent-panel-v1302 .compact-table-v1302 {
    margin-top: 4px !important;
}

/* Magazzino e Inventario: testate e barre tecniche ridotte all'essenziale. */
body.gv-theme-windows.core-professional-v1303 .core-page-head-v1303 {
    gap: 8px !important;
    margin-bottom: 6px !important;
}

body.gv-theme-windows.core-professional-v1303 .core-workbar-v1303,
body.gv-theme-windows.core-professional-v1303 .core-filter-panel-v1303 {
    margin-bottom: 6px !important;
    padding: 6px !important;
}

body.gv-theme-windows.core-professional-v1303 .core-workbar-row-v1303 {
    padding-bottom: 5px !important;
}

body.gv-theme-windows.core-professional-v1303 .core-action-row-v1303 {
    padding-top: 5px !important;
}

body.gv-theme-windows.core-professional-v1303 .core-workbar-row-v1303,
body.gv-theme-windows.core-professional-v1303 .core-action-row-v1303,
body.gv-theme-windows.core-professional-v1303 .core-filters-v1303 {
    gap: 5px !important;
}

body.gv-theme-windows.core-professional-v1303 .core-filter-panel-v1303 summary {
    margin-bottom: 5px !important;
    color: var(--v1332-green-dark) !important;
}

body.gv-theme-windows.core-professional-v1303 .core-new-row-card-v1303 {
    margin-bottom: 6px !important;
}

body.gv-theme-windows.core-professional-v1303 .core-summary-strip-v1303 {
    gap: 8px !important;
    margin-bottom: 6px !important;
    padding: 5px 7px !important;
}

/* Il tema Touch non è coinvolto. Sul tema Windows stretto la navigazione resta comoda. */
@media (max-width: 1060px) {
    body.gv-theme-windows .compact-brand-v1300,
    body.gv-theme-windows.core-home-clean-v1302 .compact-brand-v1300 {
        min-width: 0 !important;
        max-width: none !important;
    }

    body.gv-theme-windows .compact-ribbon-v1300 > a,
    body.gv-theme-windows .compact-ribbon-v1300 summary {
        min-height: 38px !important;
    }

    body.gv-theme-windows .home-workbench-v1323,
    body.gv-theme-windows .core-action-board-v1323 {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    body.gv-theme-windows .topbar,
    body.gv-theme-windows.core-home-clean-v1302 .compact-titlebar-v1300.topbar {
        padding: 6px !important;
    }

    body.gv-theme-windows .compact-ribbon-v1300 > a,
    body.gv-theme-windows .compact-ribbon-v1300 summary {
        min-height: 42px !important;
    }

    body.gv-theme-windows .container {
        margin: 4px !important;
        padding-bottom: 12px !important;
    }

    body.gv-theme-windows .home-workbench-v1323 {
        padding: 8px !important;
    }
}
