diff --git a/fusion_plating/fusion_plating_configurator/__manifest__.py b/fusion_plating/fusion_plating_configurator/__manifest__.py index 5b09f35a..06a7561d 100644 --- a/fusion_plating/fusion_plating_configurator/__manifest__.py +++ b/fusion_plating/fusion_plating_configurator/__manifest__.py @@ -5,7 +5,7 @@ { 'name': 'Fusion Plating — Configurator', - 'version': '19.0.23.4.0', + 'version': '19.0.23.5.0', 'category': 'Manufacturing/Plating', 'summary': 'Quotation configurator with part catalog, coating configs, and formula-based pricing engine.', 'description': """ diff --git a/fusion_plating/fusion_plating_configurator/static/src/scss/_express_tokens.scss b/fusion_plating/fusion_plating_configurator/static/src/scss/_express_tokens.scss index fc450dd5..f5787cc9 100644 --- a/fusion_plating/fusion_plating_configurator/static/src/scss/_express_tokens.scss +++ b/fusion_plating/fusion_plating_configurator/static/src/scss/_express_tokens.scss @@ -29,6 +29,7 @@ $_xpr-border-table-hex: #e5e7eb; $_xpr-accent-hex: #714b67; $_xpr-accent-hover-hex: #875a7b; $_xpr-accent-bg-hex: #faf5f8; +$_xpr-accent-tint-hex: #f1e6ee; // a touch deeper than accent-bg, for visible washes $_xpr-bake-bg-hex: #fff7ed; $_xpr-bake-text-hex: #9a3412; $_xpr-bake-border-hex: #fdba74; @@ -53,6 +54,7 @@ $_xpr-bad-hex: #dc2626; $_xpr-accent-hex: #b88fb5 !global; $_xpr-accent-hover-hex: #a07a9d !global; $_xpr-accent-bg-hex: #2d2330 !global; + $_xpr-accent-tint-hex: #322636 !global; $_xpr-bake-bg-hex: #3d2818 !global; $_xpr-bake-text-hex: #fed7aa !global; $_xpr-bake-border-hex: #c2410c !global; @@ -82,3 +84,11 @@ $xpr-bake-text: var(--xpr-bake-text, #{$_xpr-bake-text-hex}); $xpr-bake-border: var(--xpr-bake-border, #{$_xpr-bake-border-hex}); $xpr-good: var(--xpr-good, #{$_xpr-good-hex}); $xpr-bad: var(--xpr-bad, #{$_xpr-bad-hex}); +$xpr-accent-tint: var(--xpr-accent-tint, #{$_xpr-accent-tint-hex}); + +// ---- Subtle decorative gradients (composed from the tokens above, +// so they branch light/dark automatically) ---- +$xpr-grad-surface: linear-gradient(135deg, #{$xpr-accent-tint}, #{$xpr-card}); // faint plum wash → card +$xpr-grad-head: linear-gradient(180deg, #{$xpr-table-head}, #{$xpr-card-soft}); // header depth +$xpr-grad-accent: linear-gradient(135deg, #{$xpr-accent}, #{$xpr-accent-hover}); // filled accent pill +$xpr-grad-grand: linear-gradient(160deg, #{$xpr-card}, #{$xpr-accent-tint}); // total-bar weight diff --git a/fusion_plating/fusion_plating_configurator/static/src/scss/express_order.scss b/fusion_plating/fusion_plating_configurator/static/src/scss/express_order.scss index 9f75c945..8e43cf2d 100644 --- a/fusion_plating/fusion_plating_configurator/static/src/scss/express_order.scss +++ b/fusion_plating/fusion_plating_configurator/static/src/scss/express_order.scss @@ -7,13 +7,14 @@ // Title pill // ============================================================ .o_fp_xpr_pill { - background: $xpr-accent-bg; - color: $xpr-accent; + background: $xpr-grad-accent; + color: #fff; padding: 2px 10px; border-radius: 3px; font-size: 10px; font-weight: 700; letter-spacing: 0.5px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15); } // ============================================================ @@ -215,7 +216,7 @@ // PO BLOCK — consolidated card-within-card // ============================================================ .o_fp_xpr_po_block { - background: $xpr-accent-bg; + background: $xpr-grad-surface; border: 1px solid lighten(#d8b4d4, 5%); border-left: 4px solid $xpr-accent; border-radius: 4px; @@ -312,7 +313,8 @@ letter-spacing: 0.5px; margin: 16px 0 8px; padding-bottom: 4px; - border-bottom: 1px solid $xpr-border; + border-bottom: 2px solid $xpr-border; + border-image: linear-gradient(90deg, $xpr-accent, $xpr-border) 1; } // ============================================================ @@ -335,7 +337,7 @@ td[name="action_btns_anchor"] { padding: 2px !important; text-align: center; } } .o_fp_xpr_lines .o_list_view thead th { - background: $xpr-table-head; + background: $xpr-grad-head; color: $xpr-text-muted; font-size: 11px; text-transform: uppercase; @@ -519,14 +521,14 @@ .o_fp_xpr_totals { // Caption bar so the block reads as a titled table .o_fp_xpr_totals_head { - background: $xpr-table-head; - border-bottom: 1px solid $xpr-border-strong; + background: $xpr-grad-surface; + border-bottom: 1px solid $xpr-accent; padding: 8px 14px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; - color: $xpr-text-muted; + color: $xpr-accent; } .o_fp_xpr_total_row { @@ -573,8 +575,8 @@ // Footer row — emphasised + tinted, closes the table .o_fp_xpr_total_row.o_fp_xpr_grand { border-bottom: 0; - border-top: 2px solid $xpr-border-strong; - background: $xpr-accent-bg; + border-top: 2px solid $xpr-accent; + background: $xpr-grad-grand; font-size: 18px; font-weight: 700; @@ -591,8 +593,8 @@ } } .o_fp_xpr_currency_pill { - background: $xpr-accent-bg !important; - color: $xpr-accent !important; + background: $xpr-grad-accent !important; + color: #fff !important; padding: 2px 10px; border-radius: 3px; font-size: 11px; @@ -608,14 +610,15 @@ flex-wrap: wrap; gap: 24px; padding: 8px 16px; - background: $xpr-section-bg; + background: $xpr-grad-surface; border: 1px solid $xpr-border; + border-left: 3px solid $xpr-accent; border-radius: 4px; margin-bottom: 8px; font-size: 12px; color: $xpr-text-muted; - strong { color: $xpr-text; } + strong { color: $xpr-accent; } } // ============================================================