diff --git a/fusion_plating/fusion_plating_shopfloor/__manifest__.py b/fusion_plating/fusion_plating_shopfloor/__manifest__.py index b022fc00..d7d57395 100644 --- a/fusion_plating/fusion_plating_shopfloor/__manifest__.py +++ b/fusion_plating/fusion_plating_shopfloor/__manifest__.py @@ -57,6 +57,10 @@ Copyright (c) 2026 Nexa Systems Inc. All rights reserved. ], 'assets': { 'web.assets_backend': [ + # Tokens MUST load first — other SCSS files reference its mixins + # and variables directly (Odoo 19 forbids @import in custom SCSS, + # so tokens are resolved via bundle concatenation order). + 'fusion_plating_shopfloor/static/src/scss/_fp_shopfloor_tokens.scss', 'fusion_plating_shopfloor/static/src/scss/fusion_plating_shopfloor.scss', 'fusion_plating_shopfloor/static/src/scss/plant_overview.scss', 'fusion_plating_shopfloor/static/src/scss/process_tree.scss', diff --git a/fusion_plating/fusion_plating_shopfloor/static/src/scss/fusion_plating_shopfloor.scss b/fusion_plating/fusion_plating_shopfloor/static/src/scss/fusion_plating_shopfloor.scss index 8d2c68bc..6bca12a0 100644 --- a/fusion_plating/fusion_plating_shopfloor/static/src/scss/fusion_plating_shopfloor.scss +++ b/fusion_plating/fusion_plating_shopfloor/static/src/scss/fusion_plating_shopfloor.scss @@ -6,10 +6,12 @@ // Modernised 2026-04 design: hero banner, gradient KPI cards, tap-first // action rows. Works in Odoo's light + dark themes because every colour // resolves from CSS custom properties or color-mix'd tokens. +// +// Variables / mixins come from _fp_shopfloor_tokens.scss — loaded FIRST +// in the asset bundle (see __manifest__.py). No @import; Odoo 19 forbids +// local @import statements in custom SCSS. // ============================================================================= -@import "./fp_shopfloor_tokens"; - // ============================================================================= // Global touch / hover suppression (kept from previous rev) diff --git a/fusion_plating/fusion_plating_shopfloor/static/src/scss/manager_dashboard.scss b/fusion_plating/fusion_plating_shopfloor/static/src/scss/manager_dashboard.scss index 153f45c2..2132882b 100644 --- a/fusion_plating/fusion_plating_shopfloor/static/src/scss/manager_dashboard.scss +++ b/fusion_plating/fusion_plating_shopfloor/static/src/scss/manager_dashboard.scss @@ -6,10 +6,11 @@ // Shares design tokens + panel / KPI / chip classes from the Tablet Station // SCSS. Only the manager-specific components live here: hero banner with // live dot, 3-column workload grid, richer MO cards, gradient avatars. +// +// Variables / mixins come from _fp_shopfloor_tokens.scss — loaded FIRST in +// the asset bundle (see __manifest__.py). No @import; Odoo 19 forbids it. // ============================================================================= -@import "./fp_shopfloor_tokens"; - // Touch-device hover suppression @media (hover: none) { diff --git a/fusion_plating/fusion_plating_shopfloor/static/src/scss/plant_overview.scss b/fusion_plating/fusion_plating_shopfloor/static/src/scss/plant_overview.scss index 8747291b..25cef175 100644 --- a/fusion_plating/fusion_plating_shopfloor/static/src/scss/plant_overview.scss +++ b/fusion_plating/fusion_plating_shopfloor/static/src/scss/plant_overview.scss @@ -4,11 +4,11 @@ // License OPL-1 (Odoo Proprietary License v1.0) // // Modernised 2026-04: gradient column headers, card depth, theme-safe -// using shared design tokens. +// using shared design tokens. Variables / mixins come from +// _fp_shopfloor_tokens.scss — loaded FIRST in the asset bundle +// (see __manifest__.py). No @import; Odoo 19 forbids it. // ============================================================================= -@import "./fp_shopfloor_tokens"; - .o_fp_plant_overview { display: flex;