/* Tema scuro operativo SALGRADO - palette centralizzata */
body.salgrado-theme {
    --background-app: #0c1422;
    --background-nav: #0f1928;
    --background-panel: #162235;
    --background-card: #162235;
    --background-input: #111d2d;
    --background-input-focus: #13243a;
    --background-table: #162235;
    --background-table-header: #111d2d;
    --background-table-row: #162235;
    --background-table-row-alt: #17263a;
    --background-hover: #203149;
    --border-default: #2b3b52;
    --border-strong: #38577f;
    --bg-primary: var(--background-app);
    --bg-secondary: var(--background-input);
    --surface: var(--background-card);
    --surface-elevated: #1b2a40;
    --surface-soft: var(--background-input);
    --surface-hover: var(--background-hover);
    --text-primary: #e6edf7;
    --text-secondary: #a9b7ca;
    --text-muted: #7f91aa;
    --border: var(--border-default);
    --accent-primary: #4b8bf5;
    --accent-secondary: #f59e0b;
    --primary: #4b8bf5;
    --primary-dark: #75a7ff;
    --primary-light: #8bb5ff;
    --accent: #f59e0b;
    --background: #0c1422;
    --background-alt: #101b2b;
    --surface-glass: rgba(22, 34, 53, 0.92);
    --text-main: #e6edf7;
    --text-light: #9babc0;
    --secondary: #c3cfde;
    --card-bg: #162235;
    --success: #34d399;
    --warning: #fbbf24;
    --danger: #f87171;
    --shadow-sm: 0 3px 10px rgba(0, 0, 0, 0.18);
    --shadow-md: 0 8px 22px rgba(0, 0, 0, 0.22);
    --shadow-lg: 0 16px 38px rgba(0, 0, 0, 0.28);
    --shadow-xl: 0 24px 55px rgba(0, 0, 0, 0.34);
    color-scheme: dark;
    background: var(--bg-primary) !important;
    color: var(--text-primary);
    scrollbar-color: #435675 var(--bg-primary);
}

/* Pagine operative: maggiore profondità senza alterare la HOME istituzionale. */
body.salgrado-theme:not(.salgrado-home) {
    --background-app: #142235;
    --background-nav: #08111d;
    --background-panel: #263e5a;
    --background-card: #20344d;
    --background-input: #0f1c2b;
    --background-input-focus: #142a42;
    --background-table: #1d3048;
    --background-table-header: #2d4a6b;
    --background-table-row: #192b41;
    --background-table-row-alt: #1d3149;
    --background-hover: #365d82;
    --border-default: #496887;
    --border-strong: #6285aa;
    --surface-elevated: #29435f;
    --text-primary: #f1f5fb;
    --text-secondary: #c0cad8;
    --text-muted: #8fa1b8;
    --surface-glass: rgba(32, 52, 77, 0.96);
    --card-bg: var(--background-card);
    --shadow-sm: 0 2px 8px rgba(2, 8, 18, 0.16);
    --shadow-md: 0 6px 18px rgba(2, 8, 18, 0.2);
    --shadow-lg: 0 12px 30px rgba(2, 8, 18, 0.25);
    --shadow-xl: 0 20px 46px rgba(2, 8, 18, 0.3);
}

body.salgrado-theme ::selection { background: rgba(75, 139, 245, 0.35); color: #f3f7fc; }
body.salgrado-theme ::-webkit-scrollbar { width: 10px; height: 10px; }
body.salgrado-theme ::-webkit-scrollbar-track { background: var(--bg-primary); }
body.salgrado-theme ::-webkit-scrollbar-thumb { background: #435675; border: 2px solid var(--bg-primary); border-radius: 999px; }
body.salgrado-theme ::-webkit-scrollbar-thumb:hover { background: #587096; }
body.salgrado-theme::before { display: none !important; content: none !important; }

/* Navigazione condivisa */
.salgrado-theme .salgrado-global-nav {
    border-color: var(--border);
    background: color-mix(in srgb, var(--background-nav) 96%, transparent);
    box-shadow: 0 7px 24px rgba(0, 0, 0, 0.3);
}
.salgrado-theme .salgrado-nav-brand { color: #dce8fb; }
.salgrado-theme .salgrado-brand-mark { background: var(--accent-primary); color: #f7faff; }
.salgrado-theme .salgrado-nav-links a { color: var(--text-secondary); }
.salgrado-theme .salgrado-nav-links a:hover,
.salgrado-theme .salgrado-nav-links a:focus-visible { border-color: #38577f; background: #182a42; color: #dce9ff; }
.salgrado-theme .salgrado-nav-links a.active { background: #316fd4; color: #f8fbff; box-shadow: 0 7px 18px rgba(37, 99, 235, 0.25); }

/* HOME: stessa struttura, nuova palette */
.salgrado-home { background: var(--bg-primary) !important; }
.salgrado-home .welcome-section h1 { color: #6fa2ff; text-shadow: 0 8px 30px rgba(37, 99, 235, 0.16); }
.salgrado-home .welcome-section p,
.salgrado-home .section-heading,
.salgrado-home .home-footer { color: var(--text-secondary); }
.salgrado-home .section-heading::after { background: var(--border); }
.salgrado-home .launch-card { border-color: #263850 !important; background: var(--surface) !important; box-shadow: 0 12px 34px rgba(0, 0, 0, 0.22) !important; }
.salgrado-home .launch-card:hover,
.salgrado-home .launch-card:focus-visible { border-color: var(--card-accent, var(--accent-primary)) !important; background: var(--surface-hover) !important; box-shadow: 0 20px 46px rgba(0, 0, 0, 0.32) !important; }
.salgrado-home .launch-card i { --card-icon-bg: #172a45; }
.salgrado-home .launch-card h3 { color: var(--card-title, #78a8ff); }
.salgrado-home .launch-card p { color: var(--text-secondary); }
.salgrado-home .launch-card.highlight { --card-icon-bg: #352814; --card-title: #fbbf4b; }
.salgrado-home .launch-card.future-module { border-color: #243247 !important; background: #131e2e !important; opacity: 0.6; filter: saturate(0.5); }
.salgrado-home .launch-card.future-module:hover { opacity: 0.78; }
.salgrado-home .coming-soon { background: #26364c; color: #b2bfd0; }

/* Superfici condivise */
.salgrado-theme .main-content,
.salgrado-theme .std-page-container,
.salgrado-theme .std-content-wrapper,
.salgrado-theme .settings-container { color: var(--text-primary); }
.salgrado-theme .std-controls,
.salgrado-theme .std-table-wrapper,
.salgrado-theme .std-table,
.salgrado-theme .table-compact,
.salgrado-theme .glass-card,
.salgrado-theme .modal-content,
.salgrado-theme .card,
.salgrado-theme .panel { border-color: var(--border) !important; background: var(--background-card) !important; color: var(--text-primary) !important; box-shadow: var(--shadow-md) !important; }
.salgrado-theme:not(.salgrado-home) .sg-filter-card,
.salgrado-theme:not(.salgrado-home) .registry-toolbar,
.salgrado-theme:not(.salgrado-home) .wf-toolbar,
.salgrado-theme:not(.salgrado-home) .filters,
.salgrado-theme:not(.salgrado-home) .ea-toolbar,
.salgrado-theme:not(.salgrado-home) .ea-filters,
.salgrado-theme:not(.salgrado-home) .std-controls { background: var(--background-panel) !important; border-color: var(--border-strong) !important; box-shadow: var(--shadow-sm) !important; }
.salgrado-theme:not(.salgrado-home) .sg-table-card,
.salgrado-theme:not(.salgrado-home) .registry-table-wrap { background: var(--background-table) !important; border-color: var(--border-strong) !important; box-shadow: var(--shadow-md) !important; }
.salgrado-theme:not(.salgrado-home) .wf-group,
.salgrado-theme:not(.salgrado-home) .operation-card,
.salgrado-theme:not(.salgrado-home) .settings-card,
.salgrado-theme:not(.salgrado-home) .kpi-card,
.salgrado-theme:not(.salgrado-home) .ea-group,
.salgrado-theme:not(.salgrado-home) .ea-panel { background: var(--background-card) !important; border-color: var(--border-default) !important; box-shadow: var(--shadow-md) !important; }
.salgrado-theme table { color: var(--text-primary); }
.salgrado-theme .std-table thead,
.salgrado-theme .std-table th,
.salgrado-theme .table-compact th,
.salgrado-theme .inv-table thead th,
.salgrado-theme table th { border-color: var(--border-strong) !important; background: var(--background-table-header) !important; color: #cfdaea !important; }
.salgrado-theme .std-table td,
.salgrado-theme .table-compact td,
.salgrado-theme table td { border-color: var(--border) !important; background-color: var(--background-table-row); color: var(--text-secondary); }
.salgrado-theme .std-table tr:hover td,
.salgrado-theme .table-compact tr:hover td,
.salgrado-theme table tbody tr:hover td { background: color-mix(in srgb, var(--background-hover) 88%, var(--accent-primary)) !important; color: var(--text-primary); }

.salgrado-theme input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.salgrado-theme select,
.salgrado-theme textarea,
.salgrado-theme .multi-select-trigger,
.salgrado-theme .inline-edit-input { border-color: var(--border-strong) !important; background: var(--background-input) !important; color: var(--text-primary) !important; }
.salgrado-theme input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):hover,
.salgrado-theme select:hover,
.salgrado-theme textarea:hover { border-color: #7ba3ce !important; background: color-mix(in srgb, var(--background-input) 88%, var(--accent-primary)) !important; }
.salgrado-theme input::placeholder,
.salgrado-theme textarea::placeholder { color: var(--text-muted) !important; opacity: .9; }
.salgrado-theme option { background: var(--surface-elevated); color: var(--text-primary); }
.salgrado-theme input:focus,
.salgrado-theme select:focus,
.salgrado-theme textarea:focus,
.salgrado-theme .inline-edit-input:focus { border-color: var(--accent-primary) !important; background: var(--background-input-focus) !important; box-shadow: 0 0 0 3px rgba(75, 139, 245, 0.18) !important; outline: none !important; }
.salgrado-theme button:focus-visible,
.salgrado-theme a:focus-visible,
.salgrado-theme input:focus-visible,
.salgrado-theme select:focus-visible,
.salgrado-theme textarea:focus-visible { outline: 2px solid var(--accent-primary); outline-offset: 2px; }
.salgrado-theme button:disabled,
.salgrado-theme input:disabled,
.salgrado-theme select:disabled,
.salgrado-theme textarea:disabled { opacity: .52; cursor: not-allowed; }
.salgrado-theme .multi-select-options,
.salgrado-theme .dropdown-content,
.salgrado-theme .search-results,
.salgrado-theme .ea-actions-menu { border-color: var(--border-strong) !important; background: var(--surface-elevated) !important; color: var(--text-primary) !important; box-shadow: var(--shadow-lg) !important; }
.salgrado-theme .multi-option:hover,
.salgrado-theme .dropdown-content a:hover,
.salgrado-theme .result-button:hover,
.salgrado-theme .ea-actions-menu button:hover { background: var(--surface-hover) !important; }

/* Stratificazione coerente delle schermate operative con CSS locali storici. */
.salgrado-theme:not(.salgrado-home) .ic-page,
.salgrado-theme:not(.salgrado-home) .wf-page,
.salgrado-theme:not(.salgrado-home) .registry-main,
.salgrado-theme:not(.salgrado-home) .withdrawal-page,
.salgrado-theme:not(.salgrado-home) .sg-inventory-page,
.salgrado-theme:not(.salgrado-home) .ea-main,
.salgrado-theme:not(.salgrado-home) .settings-container { background-color: var(--background-app) !important; color: var(--text-primary); }
.salgrado-theme:not(.salgrado-home) .ic-card,
.salgrado-theme:not(.salgrado-home) .ic-table-wrap,
.salgrado-theme:not(.salgrado-home) .wf-modal-panel,
.salgrado-theme:not(.salgrado-home) .registry-dialog,
.salgrado-theme:not(.salgrado-home) .sg-modal-dialog,
.salgrado-theme:not(.salgrado-home) .sg-quick-supplier-panel { border-color: var(--border-default) !important; background: var(--background-card) !important; box-shadow: var(--shadow-md) !important; }
.salgrado-theme:not(.salgrado-home) .wf-modal-body section,
.salgrado-theme:not(.salgrado-home) .sg-form-section,
.salgrado-theme:not(.salgrado-home) .sg-compatibility-box,
.salgrado-theme:not(.salgrado-home) .sg-selection-tools,
.salgrado-theme:not(.salgrado-home) .ic-tabs { background-color: var(--background-panel) !important; border-color: var(--border-default) !important; }
.salgrado-theme:not(.salgrado-home) .ic-form input,
.salgrado-theme:not(.salgrado-home) .ic-table-wrap input,
.salgrado-theme:not(.salgrado-home) .wf-toolbar input,
.salgrado-theme:not(.salgrado-home) .wf-toolbar select,
.salgrado-theme:not(.salgrado-home) .wf-form-grid input,
.salgrado-theme:not(.salgrado-home) .wf-form-grid select,
.salgrado-theme:not(.salgrado-home) .wf-modal-body textarea,
.salgrado-theme:not(.salgrado-home) .wf-upload-row input,
.salgrado-theme:not(.salgrado-home) .wf-mapping select,
.salgrado-theme:not(.salgrado-home) .wf-review-table select { border-color: var(--border-strong) !important; background: var(--background-input) !important; color: var(--text-primary) !important; }
.salgrado-theme:not(.salgrado-home) tbody tr[aria-selected="true"] td,
.salgrado-theme:not(.salgrado-home) tbody tr.selected td,
.salgrado-theme:not(.salgrado-home) tbody tr.sg-selected-row td { background: color-mix(in srgb, var(--background-hover) 72%, var(--accent-primary)) !important; }
.salgrado-theme:not(.salgrado-home) label,
.salgrado-theme:not(.salgrado-home) .sg-table-meta,
.salgrado-theme:not(.salgrado-home) .registry-table td,
.salgrado-theme:not(.salgrado-home) .wf-group td { color: var(--text-secondary); }
.salgrado-theme:not(.salgrado-home) .sg-table-meta,
.salgrado-theme:not(.salgrado-home) .sg-pagination,
.salgrado-theme:not(.salgrado-home) .registry-dialog > header,
.salgrado-theme:not(.salgrado-home) .wf-modal-panel footer,
.salgrado-theme:not(.salgrado-home) .sg-modal-footer { border-color: var(--border-default) !important; background-color: var(--background-panel) !important; }

/* Secondo passaggio: separazione netta dei livelli nelle sole pagine operative. */
.salgrado-theme:not(.salgrado-home) table {
    border-color: var(--border-strong) !important;
    background: var(--background-table) !important;
}
.salgrado-theme:not(.salgrado-home) table thead th {
    border-bottom-color: #7898b9 !important;
    background: var(--background-table-header) !important;
    color: #eef4fc !important;
}
.salgrado-theme:not(.salgrado-home) table tbody td {
    border-bottom-color: #405c79 !important;
    background: var(--background-table-row) !important;
}
.salgrado-theme:not(.salgrado-home) table tbody tr:nth-child(even) td {
    background: var(--background-table-row-alt) !important;
}
.salgrado-theme:not(.salgrado-home) table tbody tr:hover td {
    background: var(--background-hover) !important;
    color: #f7faff !important;
}
.salgrado-theme:not(.salgrado-home) .std-table-wrapper,
.salgrado-theme:not(.salgrado-home) .sg-table-card,
.salgrado-theme:not(.salgrado-home) .registry-table-wrap,
.salgrado-theme:not(.salgrado-home) .ic-table-wrap {
    border-color: var(--border-strong) !important;
    background: var(--background-table) !important;
}

/* Magazzino */
.salgrado-theme .inv-modal-content,
.salgrado-theme .modal-content-multi { border: 1px solid var(--border); background: var(--surface) !important; color: var(--text-primary); box-shadow: var(--shadow-xl); }
.salgrado-theme .inv-modal-footer { border-color: var(--border); background: var(--surface-soft) !important; }
.salgrado-theme .inv-form-group label { color: var(--text-secondary); }
.salgrado-theme .dropdown-content a { color: var(--text-primary); }
.salgrado-theme .inventory-toolbar .web-filter,
.salgrado-theme .inventory-toolbar .multi-select-trigger { color: var(--text-primary); }
.salgrado-theme .btn-scanner-action { border-color: var(--border) !important; background: var(--surface-soft) !important; color: #9fc2ff !important; }
.salgrado-theme #ai-upload-zone { background: var(--surface-soft) !important; color: var(--text-secondary) !important; }
.salgrado-theme .stock-low { border-color: #713044; background: #3a1e2a; color: #fda4af; }
.salgrado-theme .stock-ok { border-color: #1f5c49; background: #17362f; color: #6ee7b7; }
.salgrado-theme .stock-empty { border-color: #6f3035; background: #3a2025; color: #fca5a5; }
.salgrado-theme #aliases-modal p,
.salgrado-theme #ai-settings-modal p { color: var(--text-secondary) !important; }

/* Produzione */
.salgrado-theme .module-intro,
.salgrado-theme .module-card { border-color: var(--border) !important; background: var(--surface) !important; color: var(--text-primary); box-shadow: var(--shadow-md); }
.salgrado-theme .module-card i { background: #172e4f; color: #76a8ff; }

/* Prelievo Tecnico */
.salgrado-theme .flow-step,
.salgrado-theme .operation-card { border-color: var(--border); background: var(--surface) !important; color: var(--text-primary); box-shadow: var(--shadow-md); }
.salgrado-theme .flow-step { color: var(--text-secondary); }
.salgrado-theme .flow-step span { background: #18345b; color: #8bb5ff; }
.salgrado-theme .section-title h2,
.salgrado-theme .confirm-copy strong,
.salgrado-theme .history-header h2 { color: var(--text-primary); }
.salgrado-theme .section-title p,
.salgrado-theme .confirm-copy span { color: var(--text-secondary); }
.salgrado-theme .field label { color: var(--text-secondary); }
.salgrado-theme .selected-panel { border-color: #315887; background: #142b48; }
.salgrado-theme .data-item span { color: #8ea1ba; }
.salgrado-theme .data-item strong { color: #b9d2ff; }
.salgrado-theme .result-button { color: var(--text-primary); }
.salgrado-theme .result-button small { color: var(--text-secondary); }
.salgrado-theme .result-chip { background: #183958; color: #8bd3ff; }
.salgrado-theme .selected-product { background: #17372f; color: #83e6bd; }
.salgrado-theme .refresh-button { border-color: var(--border); background: var(--surface-soft); color: var(--text-secondary); }
.salgrado-theme .message.success { border-color: #276752; background: #17372f; color: #83e6bd; }
.salgrado-theme .message.error { border-color: #753a43; background: #3a2028; color: #fda4af; }

/* Cruscotto */
.salgrado-theme .filters,
.salgrado-theme .kpi-card,
.salgrado-theme .dashboard-grid .card,
.salgrado-theme .modal-content { border: 1px solid var(--border); background: var(--surface) !important; color: var(--text-primary); box-shadow: var(--shadow-md); }
.salgrado-theme .kpi-label,
.salgrado-theme .kpi-sub,
.salgrado-theme .filter-group label { color: var(--text-secondary); }
.salgrado-theme .kpi-value,
.salgrado-theme .card-title { color: var(--text-primary); }
.salgrado-theme .progress-container { background: #293950; }

/* Impostazioni */
.salgrado-theme .settings-card { border: 1px solid var(--border); background: var(--surface) !important; color: var(--text-primary); box-shadow: var(--shadow-md); }
.salgrado-theme .settings-header { border-color: var(--border); }
.salgrado-theme .settings-header h2 { color: #79a9ff; }
.salgrado-theme .settings-header p,
.salgrado-theme .settings-card p { color: var(--text-secondary) !important; }
.salgrado-theme .form-group label { color: var(--text-secondary); }
.salgrado-theme .alert-success { border-color: #276752; background: #17372f; color: #83e6bd; }
.salgrado-theme .alert-error { border-color: #753a43; background: #3a2028; color: #fda4af; }

/* Assistenza SALGRADO */
.salgrado-theme .ea-company-chip,
.salgrado-theme .ea-toolbar,
.salgrado-theme .ea-filters,
.salgrado-theme .ea-group,
.salgrado-theme .ea-panel,
.salgrado-theme .ea-technician-card,
.salgrado-theme .ea-kpi,
.salgrado-theme .ea-form-section,
.salgrado-theme .ea-related-item,
.salgrado-theme .ea-modal form,
.salgrado-theme .ea-drawer { border-color: var(--border) !important; background: var(--surface) !important; color: var(--text-primary) !important; box-shadow: var(--shadow-md); }
.salgrado-theme .ea-group-header { border-color: var(--border) !important; background: var(--surface-soft) !important; color: var(--text-primary) !important; }
.salgrado-theme .ea-table td { border-color: var(--border) !important; background: var(--surface) !important; color: var(--text-primary) !important; }
.salgrado-theme .ea-table tbody tr:hover td { background: var(--surface-hover) !important; }
.salgrado-theme .ea-company-chip strong,
.salgrado-theme .ea-section-heading h2,
.salgrado-theme .ea-group-header,
.salgrado-theme .ea-group-title,
.salgrado-theme .ea-item strong,
.salgrado-theme .ea-agenda-item strong,
.salgrado-theme .ea-mini-item strong,
.salgrado-theme .ea-related-item strong,
.salgrado-theme .ea-timeline-item strong,
.salgrado-theme .ea-kpi strong,
.salgrado-theme .ea-form-section h3 { color: var(--text-primary) !important; }
.salgrado-theme .ea-btn,
.salgrado-theme .ea-select-button,
.salgrado-theme .ea-actions-button { border-color: var(--border); background: var(--surface-soft); color: var(--text-secondary); }
.salgrado-theme .ea-btn-primary { border-color: #3778dd; background: #3778dd; color: #fff; }
.salgrado-theme .ea-btn-success { border-color: #21805f; background: #21805f; color: #fff; }
.salgrado-theme .ea-btn-danger { border-color: #6e3540; background: #392028; color: #fda4af; }
.salgrado-theme .ea-view-switcher { background: var(--surface-soft); }
.salgrado-theme .ea-view-switcher button { color: var(--text-secondary); }
.salgrado-theme .ea-view-switcher button.active { background: #22446f; color: #c9dcff; box-shadow: none; }
.salgrado-theme .ea-filter-grid label,
.salgrado-theme .ea-form-grid label,
.salgrado-theme .ea-import-mode,
.salgrado-theme .ea-filter-checks,
.salgrado-theme .ea-group-summary,
.salgrado-theme .ea-loading { color: var(--text-secondary); }
.salgrado-theme .ea-filter-checks,
.salgrado-theme .ea-drawer-header,
.salgrado-theme .ea-drawer-footer,
.salgrado-theme .ea-related-tabs { border-color: var(--border); }
.salgrado-theme .ea-empty { border-color: #3a4a60; background: var(--surface-soft); color: var(--text-secondary); }
.salgrado-theme .ea-empty h2 { color: var(--text-primary); }
.salgrado-theme .ea-group-count,
.salgrado-theme .ea-import-stat { background: #26364c; color: #bdc9d8; }
.salgrado-theme .ea-agenda-day h3 { border-color: var(--border); color: var(--text-secondary); }
.salgrado-theme .ea-agenda-item,
.salgrado-theme .ea-mini-item,
.salgrado-theme .ea-dropzone { border-color: var(--border); background: var(--surface-soft); color: var(--text-secondary); }
.salgrado-theme .ea-dropzone strong { color: var(--text-primary); }
.salgrado-theme .ea-dropzone:hover { border-color: #4b78ad; background: #172b45; color: #9fc2ff; }
.salgrado-theme .ea-avatar { background: #17345d; color: #8bb5ff; }
.salgrado-theme .ea-equipment { background: #312650; color: #c4b5fd; }
.salgrado-theme .ea-status-completed { background: #17372f; color: #83e6bd; }
.salgrado-theme .ea-timeline-item::before { border-color: var(--surface); }
.salgrado-theme .ea-preview-table th { background: var(--surface-soft); color: var(--text-secondary); }

@media (prefers-reduced-motion: reduce) {
    .salgrado-theme *,
    .salgrado-theme *::before,
    .salgrado-theme *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}
