Revert "chore(plating): retire fusion_plating_culture — not a priority"

This reverts commit 95310c459d.
This commit is contained in:
gsinghpal
2026-04-20 20:31:02 -04:00
parent 95310c459d
commit 729743e268
20 changed files with 1513 additions and 0 deletions

View File

@@ -0,0 +1,128 @@
// =============================================================================
// Fusion Plating — Culture & Values — backend styles
// Copyright 2026 Nexa Systems Inc.
// License OPL-1 (Odoo Proprietary License v1.0)
//
// THEME AWARENESS
// ---------------
// Like the core fusion_plating SCSS, this file uses ONLY Bootstrap /
// Odoo CSS custom properties so every surface adapts to light and dark
// mode automatically. No hardcoded hex colors anywhere.
//
// background: var(--bs-body-bg)
// surface: var(--o-view-background-color)
// foreground: var(--bs-body-color)
// muted text: var(--bs-secondary-color)
// border: var(--bs-border-color)
// primary: var(--o-action)
//
// Semantic tints use color-mix() so a green badge darkens on light mode
// and brightens on dark mode automatically.
// =============================================================================
// -----------------------------------------------------------------------------
// Value kanban tile — a colourful card showing number + name + icon
// -----------------------------------------------------------------------------
.o_fp_value_card {
background-color: var(--o-view-background-color, var(--bs-body-bg));
color: var(--bs-body-color);
border: 1px solid var(--bs-border-color);
border-radius: 12px;
padding: 16px 18px;
min-height: 140px;
transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
&:hover {
border-color: color-mix(in srgb, var(--o-action) 50%, var(--bs-border-color));
box-shadow: 0 4px 14px color-mix(in srgb, var(--bs-body-color) 10%, transparent);
transform: translateY(-1px);
}
.o_fp_value_number {
font-size: 2.4rem;
font-weight: 700;
line-height: 1;
color: var(--o-action);
letter-spacing: -0.02em;
}
.o_fp_value_icon {
font-size: 1.4rem;
opacity: 0.6;
}
.o_fp_value_name {
font-size: 1rem;
line-height: 1.25;
color: var(--bs-body-color);
}
.o_fp_value_meta {
color: var(--bs-secondary-color);
}
}
// -----------------------------------------------------------------------------
// Recognition kanban card — badge-style card grouped by state
// -----------------------------------------------------------------------------
.o_fp_recognition_card {
background-color: var(--o-view-background-color, var(--bs-body-bg));
color: var(--bs-body-color);
border: 1px solid var(--bs-border-color);
border-left-width: 4px;
border-left-color: color-mix(in srgb, var(--o-action) 70%, var(--bs-border-color));
border-radius: 10px;
padding: 12px 14px;
transition: border-color 120ms ease, box-shadow 120ms ease;
&:hover {
border-color: color-mix(in srgb, var(--o-action) 50%, var(--bs-border-color));
box-shadow: 0 2px 8px color-mix(in srgb, var(--bs-body-color) 8%, transparent);
}
strong {
color: var(--bs-body-color);
font-size: 0.95rem;
line-height: 1.2;
}
.text-muted {
color: var(--bs-secondary-color) !important;
}
}
// -----------------------------------------------------------------------------
// Recognition kanban — state-based accent on the left border
// -----------------------------------------------------------------------------
.o_fp_recognition_kanban {
// Draft — subtle muted accent
.o_kanban_group[data-id$="draft"] .o_fp_recognition_card {
border-left-color: var(--bs-secondary-color);
}
// Published — success accent
.o_kanban_group[data-id$="published"] .o_fp_recognition_card {
border-left-color: var(--bs-success);
}
// Archived — dimmed
.o_kanban_group[data-id$="archived"] .o_fp_recognition_card {
border-left-color: color-mix(in srgb, var(--bs-secondary-color) 60%, transparent);
opacity: 0.75;
}
}
// -----------------------------------------------------------------------------
// Value kanban — spacing for the grouped kanban columns
// -----------------------------------------------------------------------------
.o_fp_value_kanban {
.o_kanban_record {
margin-bottom: 8px;
}
}