diff --git a/fusion_plating/fusion_plating_shopfloor/static/src/scss/plant_kanban.scss b/fusion_plating/fusion_plating_shopfloor/static/src/scss/plant_kanban.scss
index 3020e352..1911cd09 100644
--- a/fusion_plating/fusion_plating_shopfloor/static/src/scss/plant_kanban.scss
+++ b/fusion_plating/fusion_plating_shopfloor/static/src/scss/plant_kanban.scss
@@ -72,6 +72,8 @@
}
}
.toolbar-btn {
+ display: inline-flex;
+ align-items: center;
padding: 8px 14px;
font-size: 14px;
font-weight: 500;
@@ -81,8 +83,10 @@
cursor: pointer;
color: $plant-text;
font-family: inherit;
+ white-space: nowrap;
box-shadow: 0 1px 2px rgba(0,0,0,0.05);
transition: transform 0.1s ease, box-shadow 0.1s ease;
+ i { font-size: 15px; line-height: 1; }
&:hover {
transform: translateY(-1px);
box-shadow: 0 2px 4px rgba(0,0,0,0.08);
@@ -93,6 +97,24 @@
color: #5e4400;
font-weight: 700;
}
+ // Scan pair — matched look. "Scan QR" (camera, the primary way to
+ // scan a printed job sticker) is accent-filled so it stands out;
+ // "Enter Code" (manual / hardware scanner-gun) is the accent-tinted
+ // secondary. Matched FA icons (fa-qrcode / fa-keyboard-o), no emoji.
+ &.o_fp_qr_btn {
+ background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
+ border-color: #1d4ed8;
+ color: #fff;
+ font-weight: 600;
+ i { color: #fff; }
+ &:hover { box-shadow: 0 3px 8px rgba(29, 78, 216, 0.32); }
+ }
+ &.scan-alt {
+ background: linear-gradient(135deg, $plant-mine-bg 0%, $plant-card-bg 100%);
+ border-color: $plant-mine-border;
+ font-weight: 600;
+ i { color: #1d4ed8; }
+ }
}
// 8 tiles — Work Orders, At My Station, Bakes Due, On Hold,
diff --git a/fusion_plating/fusion_plating_shopfloor/static/src/xml/plant_kanban.xml b/fusion_plating/fusion_plating_shopfloor/static/src/xml/plant_kanban.xml
index 413fe49d..ae27fb3d 100644
--- a/fusion_plating/fusion_plating_shopfloor/static/src/xml/plant_kanban.xml
+++ b/fusion_plating/fusion_plating_shopfloor/static/src/xml/plant_kanban.xml
@@ -32,9 +32,9 @@
gun text drawer (a wedge gun types the code;
no camera). -->
-
+