:root{--bg:#071522;--panel:rgba(12,30,46,.78);--panel2:rgba(18,43,63,.68);--text:#edf7ff;--muted:#91aabd;--line:rgba(170,220,255,.14);--accent:#52c8ff;--green:#4fe39a;--orange:#ffad5c;--red:#ff6f78;--teal:#61e2d3;--shadow:0 18px 50px rgba(0,0,0,.28)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 20% 0%,#12334b 0,#071522 42%,#040d15 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}body{min-height:100vh}.wrap{max-width:1200px;margin:auto;padding:18px}.topbar{display:flex;align-items:center;gap:12px;padding:8px 4px 18px}.brand{flex:1}.brand b{display:block;font-size:20px;letter-spacing:.3px}.brand small{color:var(--muted);font-size:11px}.home,.settingsBtn,.lang,.secondary,.primary,.danger,.metricCard,.metrics button,.stage,.orderCard,.themeCard,.motionChoice{font:inherit;border:0;cursor:pointer}.home,.settingsBtn{width:40px;height:40px;border-radius:13px;background:var(--panel);color:var(--text);border:1px solid var(--line)}.langs{display:flex;gap:5px}.lang{padding:8px 10px;border-radius:10px;background:transparent;color:var(--muted)}.lang.on{background:rgba(82,200,255,.14);color:var(--accent)}.pageTitle h1{font-size:25px;margin:4px 0 16px}.glass{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(16px);border-radius:20px}.auth{max-width:520px;margin:8vh auto;padding:28px}.auth h2{margin:0 0 16px}.auth label{display:block;margin:13px 0 7px;color:var(--muted);font-size:13px}.field{width:100%;padding:13px 14px;border-radius:13px;border:1px solid var(--line);background:rgba(0,0,0,.18);color:var(--text);outline:none}.field:focus{border-color:rgba(82,200,255,.55)}.primary,.secondary,.danger{padding:11px 15px;border-radius:12px;margin-top:12px}.primary{background:linear-gradient(135deg,#3ab7ef,#64e1cf);color:#03121c;font-weight:750}.secondary{background:rgba(145,190,215,.1);color:var(--text);border:1px solid var(--line)}.danger{background:rgba(255,111,120,.12);color:#ff9aa0;border:1px solid rgba(255,111,120,.25)}.small{padding:8px 11px;margin-top:0;font-size:12px}.muted{color:var(--muted)}.error{color:#ff9299;min-height:20px;margin-top:12px}.scheduleNote{padding:9px 11px;border-radius:11px;background:rgba(255,173,92,.08);color:#ffc98d;font-size:12px}.remember{display:flex!important;gap:8px;align-items:center}.dashboard{display:block}.toolbar{display:flex;gap:9px;align-items:center;padding:10px;margin-bottom:14px}.search{display:flex;align-items:center;gap:8px;flex:1}.search input{width:100%;background:transparent;border:0;outline:0;color:var(--text);padding:9px}.metrics{display:flex;gap:9px;overflow:auto;padding:2px 1px 12px}.metricCard,.metrics button{min-width:108px;padding:13px 14px;border-radius:15px;background:var(--panel);color:var(--text);border:1px solid var(--line);text-align:left}.metricCard b,.metrics button b{display:block;font-size:20px}.metricCard small,.metrics button small{display:block;color:var(--muted);margin-top:3px}.metricIcon{display:block;color:var(--accent);margin-bottom:4px}.urgentMetric{border-color:rgba(255,173,92,.3)!important}.delivered{border-color:rgba(97,226,211,.3)!important}.customerMetrics button.selected,.metricCard.selected{outline:2px solid rgba(82,200,255,.35)}.stageScroll{display:flex;gap:8px;overflow:auto;padding-bottom:12px}.stage{white-space:nowrap;padding:9px 13px;border-radius:12px;background:rgba(145,190,215,.08);color:var(--muted);border:1px solid var(--line)}.stage.sel{color:var(--text);background:rgba(82,200,255,.14);border-color:rgba(82,200,255,.32)}.orders{display:grid;gap:10px}.orderCard{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:14px;border-radius:17px;background:var(--panel);color:var(--text);border:1px solid var(--line);box-shadow:0 8px 30px rgba(0,0,0,.18)}.orderCard.sectionAwareCard{background:var(--section-card-bg,var(--panel)) !important;border-color:var(--section-card-border,var(--line)) !important;}.orderCard.sectionAwareCard:hover{background:var(--section-card-bg,var(--panel)) !important;border-color:var(--section-card-border,rgba(82,200,255,.5)) !important;}.orderCard:hover{border-color:rgba(82,200,255,.3)}.orderIcon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(82,200,255,.1);color:var(--accent);font-size:20px}.orderMain{flex:1;min-width:0}.orderMain b,.orderMain span,.orderMain small{display:block}.orderMain span{margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.orderMain small{color:var(--muted);margin-top:5px;font-size:11px}.orderBadges{display:flex;align-items:flex-end;flex-direction:column;gap:5px}.pill,.urgentBadge,.deliveryBadge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:6px 9px;font-size:11px;white-space:nowrap}.pill{background:rgba(82,200,255,.12);color:#9bdfff}.pill.green{background:rgba(79,227,154,.12);color:#83edb3}.pill.orange{background:rgba(255,173,92,.12);color:#ffc78e}.pill.teal{background:rgba(97,226,211,.12);color:#8cf0e4}.urgentBadge{background:rgba(255,173,92,.13);color:#ffc78e}.deliveryBadge.partial{background:rgba(255,173,92,.12);color:#ffc98d}.deliveryBadge.full{background:rgba(79,227,154,.12);color:#8ef0b8}.nowStage{color:#8ed8f5}.empty{padding:30px;text-align:center;color:var(--muted)}.info,.work{padding:16px;margin-bottom:13px;display:grid;gap:8px}.info b{font-size:17px}.sectionLabel{margin:20px 3px 10px;color:var(--muted);font-size:12px;letter-spacing:1px}.lineCard{padding:15px;margin-bottom:10px}.lineTop{display:flex;justify-content:space-between;gap:10px}.lineTop span{color:var(--muted);font-size:12px}.lineCard p{margin:9px 0;color:#d9e8f2}.route{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:10px}.route span{font-size:10px;padding:5px 7px;border-radius:8px;background:rgba(145,190,215,.08);color:var(--muted)}.route span.current{background:rgba(82,200,255,.16);color:var(--accent)}.route span.done{color:var(--green)}.lineState{margin-top:10px;font-size:12px}.lineState.issue{color:#ffad92}.lineState.ok{color:#a8d8eb}.note{margin-top:8px;padding:8px;border-radius:9px;background:rgba(255,173,92,.07);color:#ffcda0;font-size:12px}.work{border-color:rgba(82,200,255,.18)}.readyBanner,.issueBanner,.urgentBanner,.viewOnlyBanner{padding:11px 12px;border-radius:11px;margin-top:10px}.readyBanner{background:rgba(79,227,154,.08);color:#8ef0b8}.issueBanner{background:rgba(255,111,120,.08);color:#ffaaa8}.issueBanner small{display:block;color:var(--muted);margin-top:4px}.urgentBanner{background:rgba(255,173,92,.1);color:#ffd09a}.viewOnlyBanner{background:rgba(145,190,215,.08);color:var(--muted)}.qc{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.settingsPage{display:grid;gap:16px}.settingsHero,.settingsBlock{padding:20px}.themeGrid,.motionGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.themeCard,.motionChoice{position:relative;text-align:left;padding:15px;border-radius:15px;background:rgba(145,190,215,.06);color:var(--text);border:1px solid var(--line)}.themeCard small,.motionChoice small{display:block;color:var(--muted);margin-top:5px}.themeCard.selected,.motionChoice.selected{border-color:rgba(82,200,255,.45);background:rgba(82,200,255,.1)}.themeCheck{position:absolute;right:12px;top:12px;color:var(--green)}.liveOrb{width:55px;height:55px;border-radius:50%;background:radial-gradient(circle,#7de4ff,transparent 70%);box-shadow:0 0 35px rgba(82,200,255,.35)}.settingsHero{display:flex;justify-content:space-between;align-items:center}.settingsNote{color:var(--muted);text-align:center;padding:8px}@media(max-width:650px){.wrap{padding:10px}.toolbar{flex-wrap:wrap}.toolbar .search{min-width:100%}.orderCard{padding:11px}.orderBadges{align-items:flex-end}.deliveryBadge{font-size:10px}.metrics{margin-right:-10px;margin-left:-10px;padding-left:10px;padding-right:10px}.auth{margin-top:4vh}.langs{gap:2px}.lang{padding:7px 8px}}

/* v42 navigation: no back control on main orders page; prominent back on detail/settings */
.backSpacer{width:40px;height:40px;flex:0 0 40px}.home.backBtn.visibleBack{width:auto;min-width:92px;height:46px;padding:0 15px;border-radius:14px;font-weight:750;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:rgba(82,200,255,.16);border:1px solid rgba(82,200,255,.42);box-shadow:0 6px 20px rgba(0,0,0,.2)}.home.backBtn.visibleBack:hover{background:rgba(82,200,255,.24);border-color:rgba(82,200,255,.65)}@media(max-width:650px){.home.backBtn.visibleBack{min-width:86px;height:44px;padding:0 12px}}

html,body{width:100%;max-width:100%;overflow-x:hidden}body{overscroll-behavior-x:none}.wrap,.dashboard,.topbar,.pageTitle,.settingsPage{min-width:0;max-width:100%;width:100%}.toolbar{min-width:0;max-width:100%}.metrics,.stageScroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.metrics::-webkit-scrollbar,.stageScroll::-webkit-scrollbar{display:none}.metrics button,.metricCard{flex:0 0 auto}.orderCard{min-width:0;max-width:100%}.orderMain{min-width:0}.backExitHint{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;z-index:9999;padding:11px 16px;border-radius:999px;background:rgba(10,22,32,.94);color:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:0 8px 30px rgba(0,0,0,.35);font-size:13px;font-weight:700;pointer-events:none;transition:opacity .2s,transform .2s;white-space:nowrap}.backExitHint.show{opacity:1;transform:translate(-50%,0)}@media(max-width:650px){.wrap{padding:8px}.topbar{gap:7px}.brand b{font-size:18px}.pageTitle h1{font-size:22px}.toolbar{padding:8px}.metrics{margin-right:0;margin-left:0;padding-left:2px;padding-right:2px}.orderCard{width:100%;max-width:100%;overflow:hidden}.orderBadges{max-width:45%}.orderBadges .pill,.orderBadges .urgentBadge,.orderBadges .deliveryBadge{max-width:100%;overflow:hidden;text-overflow:ellipsis}.backExitHint{bottom:18px}}

/* v50 — real theme system + Android APK visual language */
:root{
  --bg1:#071522;--bg2:#040d15;--bgGlow:#12334b;--panelA:rgba(15,34,50,.86);--panelB:rgba(22,48,69,.72);
  --text2:#edf7ff;--muted2:#9db2c2;--accent2:#5cdfff;--accent3:#36d3be;--field:rgba(3,13,22,.38);
  --border2:rgba(205,238,255,.16);--shadow2:0 14px 40px rgba(0,0,0,.30);--buttonText:#04131c;
}
html[data-theme="aurora"]{--bg1:#071522;--bg2:#040d15;--bgGlow:#123b55;--accent2:#5cdfff;--accent3:#36d3be}
html[data-theme="ocean"]{--bg1:#061625;--bg2:#03101c;--bgGlow:#0d4161;--accent2:#46dcf4;--accent3:#5096ff}
html[data-theme="midnight"]{--bg1:#070d20;--bg2:#030713;--bgGlow:#17285c;--accent2:#69afff;--accent3:#735fff}
html[data-theme="neon"]{--bg1:#090d1d;--bg2:#040610;--bgGlow:#32114a;--accent2:#00ebff;--accent3:#46ffb9}
html[data-theme="arctic"],html[data-theme="glacier"]{--bg1:#0a1c28;--bg2:#06111a;--bgGlow:#17465c;--accent2:#9bf0ff;--accent3:#55b7e6}
html[data-theme="emerald"],html[data-theme="forest"],html[data-theme="mint"],html[data-theme="olive"]{--bg1:#071914;--bg2:#04100c;--bgGlow:#154737;--accent2:#69eba5;--accent3:#3cd6aa}
html[data-theme="sunset"],html[data-theme="copper"]{--bg1:#1b100d;--bg2:#0d0807;--bgGlow:#4c291b;--accent2:#ffb069;--accent3:#dc5596}
html[data-theme="rose"]{--bg1:#1a0d16;--bg2:#0c070c;--bgGlow:#472036;--accent2:#ff9fbe;--accent3:#d06b9e}
html[data-theme="violet"],html[data-theme="plum"],html[data-theme="lilac"]{--bg1:#110d1c;--bg2:#080610;--bgGlow:#3b235b;--accent2:#c35fff;--accent3:#735fff}
html[data-theme="graphite"],html[data-theme="charcoal"]{--bg1:#11161b;--bg2:#080b0f;--bgGlow:#2c353d;--accent2:#a8b8c6;--accent3:#6f8494}
html[data-theme="sand"]{--bg1:#1b1710;--bg2:#0d0b07;--bgGlow:#514128;--accent2:#f1c78a;--accent3:#b9d5a2}
html[data-theme="sky"]{--bg1:#071a2b;--bg2:#05101c;--bgGlow:#1c5075;--accent2:#83d9ff;--accent3:#64e1cf}
html[data-theme="coral"]{--bg1:#1a1211;--bg2:#0d0908;--bgGlow:#54312a;--accent2:#ff927f;--accent3:#4de0d0}
html[data-theme="sapphire"]{--bg1:#071329;--bg2:#030914;--bgGlow:#163c7a;--accent2:#5791ff;--accent3:#56d8ff}
html[data-theme="lava"]{--bg1:#190c0a;--bg2:#0b0605;--bgGlow:#522017;--accent2:#ff735f;--accent3:#ffb05e}
html{background:var(--bg2);color:var(--text2)}
html,body{background:radial-gradient(900px 500px at 15% -10%,var(--bgGlow) 0%,transparent 62%),linear-gradient(145deg,var(--bg1),var(--bg2));color:var(--text2)}
body{transition:background .35s ease,color .25s ease}
.glass,.metricCard,.metrics button,.orderCard,.themeCard,.motionChoice,.toolbar,.info,.work,.settingsHero,.settingsBlock{background:linear-gradient(145deg,var(--panelA),var(--panelB));border-color:var(--border2);box-shadow:var(--shadow2)}
.topbar{padding:10px 4px 14px}.brand b{font-size:19px;font-weight:800}.brand small{color:var(--muted2)}
.home,.settingsBtn{background:rgba(255,255,255,.055);border-color:var(--border2);box-shadow:0 6px 20px rgba(0,0,0,.16)}
.settingsBtn:hover,.home:hover{border-color:color-mix(in srgb,var(--accent2) 55%,transparent);background:color-mix(in srgb,var(--accent2) 11%,transparent)}
.field{background:var(--field);border-color:var(--border2);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.field:focus{border-color:color-mix(in srgb,var(--accent2) 70%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent2) 12%,transparent)}
.primary{background:linear-gradient(135deg,var(--accent2),var(--accent3));color:var(--buttonText);box-shadow:0 8px 22px color-mix(in srgb,var(--accent2) 16%,transparent)}
.secondary{background:rgba(255,255,255,.055);border-color:var(--border2)}
.lang.on,.stage.sel,.themeCard.selected,.motionChoice.selected{background:color-mix(in srgb,var(--accent2) 14%,transparent);color:var(--accent2);border-color:color-mix(in srgb,var(--accent2) 42%,transparent)}
.metricIcon,.nowStage,.route span.current{color:var(--accent2)}
.orderIcon{background:color-mix(in srgb,var(--accent2) 12%,transparent);color:var(--accent2);border:1px solid color-mix(in srgb,var(--accent2) 18%,transparent)}
.pill{background:color-mix(in srgb,var(--accent2) 12%,transparent);color:color-mix(in srgb,var(--accent2) 55%,white)}
.themeSwatch{display:block;width:100%;height:34px;border-radius:11px;margin-bottom:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 10px 22px rgba(0,0,0,.24),0 0 22px color-mix(in srgb,var(--swatch-a) 22%,transparent);background:linear-gradient(115deg,var(--swatch-a),var(--swatch-b))!important;position:relative;overflow:hidden}.themeSwatch:after{content:"";position:absolute;inset:1px 12% 45% 5%;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.34),transparent);opacity:.7}
.themeCard.theme-aurora{--swatch-a:#5cdfff;--swatch-b:#36d3be}.themeCard.theme-ocean{--swatch-a:#46dcf4;--swatch-b:#5096ff}.themeCard.theme-midnight{--swatch-a:#69afff;--swatch-b:#735fff}.themeCard.theme-neon{--swatch-a:#00ebff;--swatch-b:#46ffb9}.themeCard.theme-arctic{--swatch-a:#d8f7ff;--swatch-b:#55b7e6}.themeCard.theme-emerald{--swatch-a:#69eba5;--swatch-b:#3cd6aa}.themeCard.theme-copper{--swatch-a:#ffb069;--swatch-b:#c96a3d}.themeCard.theme-mint{--swatch-a:#73f7d1;--swatch-b:#39c7a4}.themeCard.theme-forest{--swatch-a:#8edc7a;--swatch-b:#3a9b67}.themeCard.theme-sunset{--swatch-a:#ffb069;--swatch-b:#dc5596}.themeCard.theme-rose{--swatch-a:#ffd0d9;--swatch-b:#d06b9e}.themeCard.theme-violet{--swatch-a:#c35fff;--swatch-b:#735fff}.themeCard.theme-graphite{--swatch-a:#a8b8c6;--swatch-b:#6f8494}.themeCard.theme-sand{--swatch-a:#f1c78a;--swatch-b:#b9d5a2}.themeCard.theme-sky{--swatch-a:#83d9ff;--swatch-b:#64e1cf}.themeCard.theme-coral{--swatch-a:#ff927f;--swatch-b:#4de0d0}.themeCard.theme-sapphire{--swatch-a:#5791ff;--swatch-b:#56d8ff}.themeCard.theme-plum{--swatch-a:#b76cff;--swatch-b:#6651c8}.themeCard.theme-lava{--swatch-a:#ff735f;--swatch-b:#ffb05e}.themeCard.theme-glacier{--swatch-a:#c9f6ff;--swatch-b:#55b7e6}.themeCard.theme-teal{--swatch-a:#2fd7cf;--swatch-b:#2f8cff}.themeCard.theme-charcoal{--swatch-a:#9aa9b5;--swatch-b:#4d5b66}.themeCard.theme-lilac{--swatch-a:#d7a4ff;--swatch-b:#8c72e8}.themeCard.theme-olive{--swatch-a:#b6d65c;--swatch-b:#6b9b3e}
.settingsHero{min-height:118px}.liveOrb{background:radial-gradient(circle,var(--accent2),transparent 70%);box-shadow:0 0 35px color-mix(in srgb,var(--accent2) 35%,transparent)}
.orderCard{transition:transform .15s ease,border-color .2s ease,box-shadow .2s ease}.orderCard:active{transform:scale(.992)}
@media(max-width:650px){.wrap{padding:9px}.topbar{padding-bottom:12px}.toolbar{border-radius:16px}.metrics{padding-bottom:10px}.orderCard{border-radius:16px}.glass{border-radius:17px}.primary,.secondary,.danger{min-height:46px}}

/* v51 — stronger theme atmosphere + true glassmorphism */
:root{
  --glassTop:rgba(255,255,255,.115);--glassBottom:rgba(255,255,255,.045);
  --glassHighlight:rgba(255,255,255,.18);--glassInner:rgba(255,255,255,.035);
  --glowA:rgba(92,223,255,.22);--glowB:rgba(54,211,190,.14);
}
html[data-theme="ocean"]{--glowA:rgba(70,220,244,.28);--glowB:rgba(80,150,255,.20)}
html[data-theme="midnight"]{--glowA:rgba(105,175,255,.22);--glowB:rgba(115,95,255,.18)}
html[data-theme="neon"]{--glowA:rgba(0,235,255,.30);--glowB:rgba(70,255,185,.20)}
html[data-theme="arctic"],html[data-theme="glacier"]{--glowA:rgba(155,240,255,.30);--glowB:rgba(85,183,230,.18)}
html[data-theme="emerald"],html[data-theme="forest"],html[data-theme="mint"],html[data-theme="olive"]{--glowA:rgba(105,235,165,.24);--glowB:rgba(60,214,170,.18)}
html[data-theme="sunset"],html[data-theme="copper"]{--glowA:rgba(255,176,105,.27);--glowB:rgba(220,85,150,.18)}
html[data-theme="rose"]{--glowA:rgba(255,159,190,.25);--glowB:rgba(208,107,158,.18)}
html[data-theme="violet"],html[data-theme="plum"],html[data-theme="lilac"]{--glowA:rgba(195,95,255,.28);--glowB:rgba(115,95,255,.20)}
html[data-theme="graphite"],html[data-theme="charcoal"]{--glowA:rgba(168,184,198,.18);--glowB:rgba(111,132,148,.13)}
html[data-theme="sand"]{--glowA:rgba(241,199,138,.22);--glowB:rgba(185,213,162,.14)}
html[data-theme="sky"]{--glowA:rgba(131,217,255,.28);--glowB:rgba(100,225,207,.18)}
html[data-theme="coral"]{--glowA:rgba(255,146,127,.26);--glowB:rgba(77,224,208,.18)}
html[data-theme="sapphire"]{--glowA:rgba(87,145,255,.30);--glowB:rgba(86,216,255,.18)}
html[data-theme="lava"]{--glowA:rgba(255,115,95,.27);--glowB:rgba(255,176,94,.17)}

html,body{min-height:100%;background:var(--bg2)!important}
body{position:relative;overflow-x:hidden;background:
 radial-gradient(700px 420px at 8% -5%,var(--glowA),transparent 65%),
 radial-gradient(620px 420px at 96% 8%,var(--glowB),transparent 62%),
 linear-gradient(145deg,var(--bg1),var(--bg2))!important;transition:background .7s ease,color .3s ease}
body::before,body::after{content:"";position:fixed;pointer-events:none;z-index:-1;border-radius:50%;filter:blur(12px);opacity:.72;transition:background .7s ease,transform 1.2s ease}
body::before{width:42vw;height:42vw;max-width:520px;max-height:520px;left:-16vw;top:24vh;background:radial-gradient(circle,var(--glowA),transparent 68%);animation:gfFloatA 16s ease-in-out infinite}
body::after{width:36vw;height:36vw;max-width:460px;max-height:460px;right:-14vw;bottom:6vh;background:radial-gradient(circle,var(--glowB),transparent 68%);animation:gfFloatB 19s ease-in-out infinite}
html[data-motion="off"] body::before,html[data-motion="off"] body::after{animation:none}
html[data-motion="subtle"] body::before{animation-duration:22s}html[data-motion="subtle"] body::after{animation-duration:26s}
html[data-motion="flow"] body::before{animation-duration:11s}html[data-motion="flow"] body::after{animation-duration:13s}
@keyframes gfFloatA{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(8vw,-4vh,0) scale(1.13)}}
@keyframes gfFloatB{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-7vw,5vh,0) scale(1.16)}}

.glass,.metricCard,.metrics button,.orderCard,.themeCard,.motionChoice,.toolbar,.info,.work,.settingsHero,.settingsBlock{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--glassTop),var(--glassBottom))!important;
  border:1px solid rgba(255,255,255,.15)!important;
  box-shadow:0 20px 55px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.13),inset 0 -1px 0 rgba(255,255,255,.035)!important;
  backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);
  transition:background .45s ease,border-color .3s ease,box-shadow .3s ease,transform .2s ease
}
.glass::before,.metricCard::before,.metrics button::before,.orderCard::before,.themeCard::before,.motionChoice::before,.toolbar::before,.info::before,.work::before,.settingsHero::before,.settingsBlock::before{
  content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.13),transparent 22%,transparent 68%,rgba(255,255,255,.045));opacity:.65
}
.glass::after,.orderCard::after,.metricCard::after,.metrics button::after{
  content:"";position:absolute;left:-30%;top:-40%;width:65%;height:160%;pointer-events:none;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);opacity:.55
}
.orderCard:hover,.metricCard:hover,.metrics button:hover,.themeCard:hover,.motionChoice:hover{border-color:color-mix(in srgb,var(--accent2) 50%,rgba(255,255,255,.18))!important;box-shadow:0 22px 60px rgba(0,0,0,.34),0 0 28px color-mix(in srgb,var(--accent2) 10%,transparent),inset 0 1px 0 rgba(255,255,255,.17)!important}
.metricCard,.metrics button{min-height:92px}.orderCard{padding:15px;border-radius:18px}.orderIcon{box-shadow:0 0 24px color-mix(in srgb,var(--accent2) 16%,transparent),inset 0 1px 0 rgba(255,255,255,.13)}
.toolbar{border-radius:18px}.topbar .home,.topbar .settingsBtn,.lang{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.primary{position:relative;overflow:hidden;background:linear-gradient(110deg,var(--accent2),var(--accent3))!important;box-shadow:0 10px 30px color-mix(in srgb,var(--accent2) 20%,transparent),inset 0 1px 0 rgba(255,255,255,.35)!important}
.primary::after{content:"";position:absolute;top:0;left:-60%;width:45%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);animation:gfButtonShine 4.8s ease-in-out infinite}
@keyframes gfButtonShine{0%,65%{left:-60%}85%,100%{left:125%}}
html[data-motion="off"] .primary::after{animation:none}
.field{background:rgba(0,0,0,.24)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.themeCard .themeSwatch{height:34px;width:100%;border-radius:11px;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 22px rgba(0,0,0,.22);background:linear-gradient(115deg,var(--accent2),var(--accent3))}
.themeCard.theme-ocean .themeSwatch{background:linear-gradient(115deg,#46dcf4,#5096ff)}.themeCard.theme-neon .themeSwatch{background:linear-gradient(115deg,#00ebff,#46ffb9)}.themeCard.theme-sunset .themeSwatch{background:linear-gradient(115deg,#ffb069,#dc5596)}.themeCard.theme-violet .themeSwatch{background:linear-gradient(115deg,#c35fff,#735fff)}
.approvalWait{text-align:center;padding:12px 2px 4px}.approvalWait h3{margin:12px 0 6px}.approvalStatus{margin:16px 0;padding:11px;border-radius:13px;background:rgba(255,255,255,.055);border:1px solid var(--border2);color:var(--accent2)}.approvalSpinner{width:42px;height:42px;margin:5px auto;border-radius:50%;border:3px solid rgba(255,255,255,.10);border-top-color:var(--accent2);box-shadow:0 0 24px color-mix(in srgb,var(--accent2) 22%,transparent);animation:gfSpin 1s linear infinite}@keyframes gfSpin{to{transform:rotate(360deg)}}
#bootSplash{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;background:radial-gradient(650px 420px at 50% 0%,var(--bgGlow,#12334b),transparent 70%),linear-gradient(145deg,var(--bg1,#071522),var(--bg2,#040d15));transition:opacity .22s ease,visibility .22s ease}#bootSplash.hide{opacity:0;visibility:hidden;pointer-events:none}.bootCard{width:min(320px,82vw);padding:28px;border-radius:26px;text-align:center;background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.045));border:1px solid rgba(255,255,255,.16);box-shadow:0 24px 70px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.14);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.bootLogo{width:58px;height:58px;margin:0 auto 14px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent2,#5cdfff),var(--accent3,#36d3be));color:#03131d;font-size:27px;font-weight:900;box-shadow:0 0 38px color-mix(in srgb,var(--accent2,#5cdfff) 28%,transparent)}.bootCard b{display:block;font-size:20px}.bootCard small{display:block;margin-top:6px;color:var(--muted2,#9db2c2)}
@media(max-width:650px){.glass,.orderCard,.metricCard,.metrics button{backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}.glass{border-radius:18px}.orderCard{padding:13px}.metricCard,.metrics button{min-height:88px}}

/* v52 — barcode production scanner */
.scanToolbarBtn{box-shadow:0 10px 30px color-mix(in srgb,var(--accent2) 22%,transparent),inset 0 1px 0 rgba(255,255,255,.35)!important}
.scanModal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:16px;background:rgba(2,8,15,.68);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:scanFade .18s ease-out}
.scanPanel{width:min(620px,96vw);max-height:92vh;overflow:auto;padding:18px;border-radius:26px!important}
.scanHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.scanHeader h2{margin:4px 0 3px}.scanHeader small{color:var(--muted2)}
.scanViewport{position:relative;min-height:270px;border-radius:22px;overflow:hidden;background:#02080d;border:1px solid rgba(255,255,255,.13);display:grid;place-items:center}.scanViewport video{width:100%;height:320px;object-fit:cover}.scanFrame{position:absolute;width:min(72vw,330px);height:180px;border:1px solid rgba(255,255,255,.25);border-radius:20px;box-shadow:0 0 0 999px rgba(0,0,0,.18),0 0 35px color-mix(in srgb,var(--accent2) 20%,transparent);pointer-events:none}.scanFrame i{position:absolute;width:28px;height:28px;border-color:var(--accent2);border-style:solid}.scanFrame i:nth-child(1){left:-2px;top:-2px;border-width:3px 0 0 3px;border-radius:12px 0 0 0}.scanFrame i:nth-child(2){right:-2px;top:-2px;border-width:3px 3px 0 0;border-radius:0 12px 0 0}.scanFrame i:nth-child(3){left:-2px;bottom:-2px;border-width:0 0 3px 3px;border-radius:0 0 0 12px}.scanFrame i:nth-child(4){right:-2px;bottom:-2px;border-width:0 3px 3px 0;border-radius:0 0 12px 0}.scanStatus{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);padding:8px 12px;border-radius:999px;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:12px;white-space:nowrap}
.scanActions,.scanManual{display:flex;gap:10px;margin-top:12px}.scanActions>*{flex:1}.scanManual input{flex:1;min-width:0}.scanManual button{flex:0 0 auto}.scanOrderSummary{display:flex;gap:10px;flex-wrap:wrap;padding:12px 14px;margin:10px 0 14px;border-radius:15px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.10)}.scanOrderSummary span{color:var(--muted2)}
.scanOptionGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.scanOption{min-height:118px;text-align:start;padding:18px;border-radius:19px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.035));color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 14px 30px rgba(0,0,0,.22);display:flex;flex-direction:column;gap:5px;transition:.18s ease}.scanOption:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent2) 55%,transparent);box-shadow:0 18px 40px rgba(0,0,0,.28),0 0 24px color-mix(in srgb,var(--accent2) 12%,transparent)}.scanOption strong{font-size:25px;color:var(--accent2)}.scanOption b{font-size:16px}.scanOption small{color:var(--muted2)}.scanOption:disabled{opacity:.42;filter:saturate(.45);cursor:not-allowed}.issueOption strong{color:#ffbd68}.fixedOption strong{color:#65e5a5}
.scanLineChoices{display:grid;gap:10px}.scanLineChoice{display:flex;flex-direction:column;align-items:flex-start;text-align:start;gap:4px;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.055);color:var(--text)}.scanLineChoice:hover{border-color:var(--accent2);background:rgba(255,255,255,.08)}.scanLineChoice span,.scanLineChoice small{color:var(--muted2)}
@keyframes scanFade{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@media(max-width:650px){.scanPanel{padding:13px;border-radius:21px!important}.scanViewport,.scanViewport video{height:280px;min-height:240px}.scanOptionGrid{grid-template-columns:1fr}.scanActions{flex-direction:column}.scanManual{flex-direction:column}.scanManual button{width:100%}}
/* v53 — streamlined staff barcode workflow */
.scanMainBtn{min-height:52px!important;padding:0 24px!important;font-size:15px!important;font-weight:800!important;border-radius:18px!important;box-shadow:0 12px 36px color-mix(in srgb,var(--accent2) 30%,transparent),inset 0 1px 0 rgba(255,255,255,.42)!important;transform:translateZ(0);}
.scanMainBtn:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 18px 44px color-mix(in srgb,var(--accent2) 36%,transparent),inset 0 1px 0 rgba(255,255,255,.48)!important}
.scanCameraPanel{width:min(680px,96vw)!important}
.scanCameraPanel .scanViewport{min-height:420px;background:rgba(0,0,0,.34);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 24px 70px rgba(0,0,0,.28)}
.scanCameraPanel .scanViewport video{height:min(62vh,520px);min-height:360px}
.scanOption{position:relative;overflow:hidden;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.scanOption:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.13),transparent 42%,rgba(255,255,255,.035));pointer-events:none}
.readyOption{border-color:rgba(80,220,135,.42)!important;background:linear-gradient(135deg,rgba(47,210,112,.20),rgba(47,210,112,.055))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 16px 38px rgba(24,180,91,.13)!important}
.readyOption strong{color:#57e58d!important;text-shadow:0 0 18px rgba(87,229,141,.35)}
.issueOption{border-color:rgba(255,82,82,.42)!important;background:linear-gradient(135deg,rgba(255,72,72,.18),rgba(255,72,72,.05))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 16px 38px rgba(220,40,40,.12)!important}
.issueOption strong{color:#ff6d72!important;text-shadow:0 0 18px rgba(255,109,114,.32)!important}
.fixedOption{border-color:rgba(255,171,64,.46)!important;background:linear-gradient(135deg,rgba(255,166,54,.19),rgba(255,166,54,.055))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 16px 38px rgba(235,139,25,.12)!important}
.fixedOption strong{color:#ffb85b!important;text-shadow:0 0 18px rgba(255,184,91,.3)!important}
.viewOption{border-color:rgba(77,159,255,.42)!important;background:linear-gradient(135deg,rgba(77,159,255,.18),rgba(77,159,255,.05))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 16px 38px rgba(45,115,220,.12)!important}
.viewOption strong{color:#6daeff!important;text-shadow:0 0 18px rgba(109,174,255,.3)!important}
@media(min-width:651px){.scanOptionGrid{grid-template-columns:1fr 1fr}.readyOption{grid-column:span 1}}
@media(max-width:650px){.scanMainBtn{width:100%;justify-content:center;min-height:58px!important}.scanCameraPanel .scanViewport,.scanCameraPanel .scanViewport video{height:calc(100vh - 180px);min-height:420px}.scanOptionGrid{grid-template-columns:1fr 1fr}.scanOption{min-height:110px;padding:15px}.scanOption b{font-size:15px}}
/* v54: make piece dimensions the dominant visual detail on every line/piece row */
.lineCard{position:relative}
.lineTop{align-items:center}
.lineTop .pieceDimensions{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;margin:0 0 0 auto;padding:8px 12px;border-radius:12px;background:linear-gradient(135deg,rgba(82,200,255,.18),rgba(97,226,211,.10));border:1px solid rgba(82,200,255,.28);color:#e9fbff!important;font-size:17px!important;font-weight:850;letter-spacing:.2px;line-height:1.1;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 6px 18px rgba(0,0,0,.16);text-shadow:0 1px 8px rgba(82,200,255,.18)}
.lineTop .pieceDimensions::before{content:'↔';font-size:13px;font-weight:700;opacity:.72;margin-right:7px}
.customerLine .pieceDimensions{font-size:18px!important;padding:9px 13px;background:linear-gradient(135deg,rgba(82,200,255,.22),rgba(97,226,211,.12));border-color:rgba(82,200,255,.36)}
.scanLineMeta{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.scanLineMeta strong{font-size:16px;color:#e9fbff;font-weight:850}
@media(max-width:650px){.lineTop{gap:8px}.lineTop .pieceDimensions{font-size:15px!important;padding:7px 9px}.customerLine .pieceDimensions{font-size:16px!important}.lineTop b{min-width:0}.scanLineMeta strong{font-size:15px}}
/* v56 — staff in-app notifications */
.notificationBell{position:relative;width:48px;height:48px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);color:var(--text);font-size:21px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 24px rgba(0,0,0,.14)}
.notificationBell.hasUnread{border-color:rgba(255,82,82,.42);box-shadow:0 0 0 1px rgba(255,82,82,.08),0 10px 30px rgba(255,60,70,.12),inset 0 1px 0 rgba(255,255,255,.16)}
.notificationCount{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#ff5260;color:#fff;font-size:10px;font-weight:900;line-height:19px;text-align:center;opacity:0;transform:scale(.75);transition:.18s ease;box-shadow:0 4px 12px rgba(255,50,70,.35)}
.notificationCount.show{opacity:1;transform:scale(1)}
.notificationPanel{position:fixed;z-index:10050;top:82px;right:18px;width:min(430px,calc(100vw - 28px));max-height:min(72vh,620px);overflow:hidden;padding:0!important;border-radius:22px!important;box-shadow:0 30px 90px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.14)!important}
.notificationPanelHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035)}
.notificationList{overflow:auto;max-height:calc(min(72vh,620px) - 62px)}
.notificationItem{width:100%;display:flex;align-items:flex-start;gap:12px;text-align:start;padding:14px 16px;border:0;border-bottom:1px solid rgba(255,255,255,.065);background:transparent;color:var(--text);cursor:pointer}
.notificationItem:hover{background:rgba(255,255,255,.055)}
.notificationItem.unread{background:linear-gradient(90deg,rgba(76,191,255,.09),transparent)}
.notificationIcon{width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;border-radius:11px;background:rgba(255,255,255,.07)}
.notificationCopy{display:flex;min-width:0;flex-direction:column;gap:3px}.notificationCopy b{font-size:13px}.notificationCopy span{font-size:13px;line-height:1.35;color:var(--muted)}.notificationCopy small{font-size:10px;color:var(--muted2)}
.notificationEmpty{padding:28px 18px;text-align:center;color:var(--muted)}
@media(max-width:650px){.notificationBell{width:44px;height:44px}.notificationPanel{top:72px;right:10px;width:calc(100vw - 20px);max-height:70vh}.notificationList{max-height:calc(70vh - 62px)}}

/* v58 — stronger background life, compact detail header, and cleaner role UI */
body::before,body::after{z-index:0!important;mix-blend-mode:screen!important;opacity:.92!important}
.wrap{position:relative;z-index:2}
html[data-motion="off"] body::before,html[data-motion="off"] body::after{display:none!important}
html[data-motion="subtle"] body::before{animation:gfFloatA 13s ease-in-out infinite, gfPulseA 6s ease-in-out infinite!important}
html[data-motion="subtle"] body::after{animation:gfFloatB 16s ease-in-out infinite, gfPulseB 7s ease-in-out infinite!important}
html[data-motion="flow"] body::before{animation:gfFloatA 7s ease-in-out infinite, gfPulseA 3.2s ease-in-out infinite!important}
html[data-motion="flow"] body::after{animation:gfFloatB 8s ease-in-out infinite, gfPulseB 3.8s ease-in-out infinite!important}
@keyframes gfPulseA{0%,100%{opacity:.48;filter:blur(18px)}50%{opacity:1;filter:blur(5px)}}
@keyframes gfPulseB{0%,100%{opacity:.38;filter:blur(22px)}50%{opacity:.95;filter:blur(7px)}}
html[data-motion="flow"] body{background-size:150% 150%!important;animation:gfBgShift 10s ease-in-out infinite!important}
html[data-motion="subtle"] body{background-size:125% 125%!important;animation:gfBgShift 22s ease-in-out infinite!important}
html[data-motion="off"] body{animation:none!important;background-size:auto!important}
@keyframes gfBgShift{0%,100%{background-position:0% 0%,100% 0%,0% 0%}50%{background-position:35% 12%,65% 78%,100% 100%}}

.detailTopbar{gap:7px;padding-left:2px;padding-right:2px}
.detailTopbar .brand{min-width:0}
.detailTopbar .brand b{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.detailTopbar .brand small{font-size:9px;white-space:nowrap}
.detailTopbar .backBtn{min-width:74px!important;width:74px!important;height:40px!important;padding:0 8px!important;font-size:12px!important}
.detailTopbar .settingsBtn{width:38px;height:38px;flex:0 0 38px}
.detailTopbar .notificationBell{width:38px;height:38px;flex:0 0 38px}
.detailTopbar .langs{gap:2px;flex:0 0 auto}
.detailTopbar .lang{padding:6px 6px;font-size:10px;white-space:nowrap}
@media(max-width:650px){
  .detailTopbar{gap:5px}
  .detailTopbar .brand small{display:none}
  .detailTopbar .brand b{font-size:15px}
  .detailTopbar .backBtn{min-width:67px!important;width:67px!important;padding:0 6px!important}
  .detailTopbar .settingsBtn,.detailTopbar .notificationBell{width:34px;height:34px;flex-basis:34px}
  .detailTopbar .lang{padding:5px 5px;font-size:9px}
}

/* Customer and Office never need the production scanner action. */
@media(max-width:650px){.scanMainBtn{min-width:150px}}

/* Prevent a stale launch/paint snapshot from looking like live content. */
html,body{background-color:var(--bg2)!important}


/* v60 — launch isolation + unmistakable ambient glow */
html,body{background-color:var(--bg2)!important}
#gfAmbient{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;contain:strict}
#gfAmbient i{position:absolute;display:block;border-radius:50%;pointer-events:none;mix-blend-mode:screen;will-change:transform,opacity,filter}
#gfAmbient i:nth-child(1){width:58vmax;height:58vmax;left:-22vmax;top:-8vmax;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent2) 55%,transparent),transparent 62%);filter:blur(26px);opacity:.62}
#gfAmbient i:nth-child(2){width:50vmax;height:50vmax;right:-20vmax;top:10vmax;background:radial-gradient(circle,color-mix(in srgb,var(--accent3) 48%,transparent),transparent 63%);filter:blur(30px);opacity:.52}
#gfAmbient i:nth-child(3){width:44vmax;height:44vmax;left:22%;bottom:-24vmax;background:radial-gradient(circle,color-mix(in srgb,var(--accent2) 36%,transparent),transparent 64%);filter:blur(34px);opacity:.42}
#gfAmbient i:nth-child(4){inset:-20%;border-radius:0;background:conic-gradient(from 180deg at 50% 50%,transparent 0deg,color-mix(in srgb,var(--accent2) 13%,transparent) 75deg,transparent 150deg,color-mix(in srgb,var(--accent3) 12%,transparent) 235deg,transparent 315deg);filter:blur(45px);opacity:.25}
html[data-motion="off"] #gfAmbient i{animation:none!important}
html[data-motion="subtle"] #gfAmbient i:nth-child(1){animation:gfA1 10s ease-in-out infinite}
html[data-motion="subtle"] #gfAmbient i:nth-child(2){animation:gfA2 13s ease-in-out infinite}
html[data-motion="subtle"] #gfAmbient i:nth-child(3){animation:gfA3 15s ease-in-out infinite}
html[data-motion="subtle"] #gfAmbient i:nth-child(4){animation:gfA4 18s linear infinite}
html[data-motion="flow"] #gfAmbient i:nth-child(1){animation:gfA1 5.2s ease-in-out infinite}
html[data-motion="flow"] #gfAmbient i:nth-child(2){animation:gfA2 6.4s ease-in-out infinite reverse}
html[data-motion="flow"] #gfAmbient i:nth-child(3){animation:gfA3 7.2s ease-in-out infinite}
html[data-motion="flow"] #gfAmbient i:nth-child(4){animation:gfA4 8s linear infinite}
@keyframes gfA1{0%,100%{transform:translate3d(0,0,0) scale(.88);opacity:.42;filter:blur(34px)}50%{transform:translate3d(18vw,13vh,0) scale(1.18);opacity:.92;filter:blur(16px)}}
@keyframes gfA2{0%,100%{transform:translate3d(0,0,0) scale(.9);opacity:.38;filter:blur(38px)}50%{transform:translate3d(-20vw,18vh,0) scale(1.22);opacity:.86;filter:blur(15px)}}
@keyframes gfA3{0%,100%{transform:translate3d(0,0,0) scale(.8);opacity:.28}50%{transform:translate3d(12vw,-18vh,0) scale(1.25);opacity:.72}}
@keyframes gfA4{to{transform:rotate(360deg) scale(1.08)}}
#gfAmbient + #bootSplash{z-index:100000}
#app{position:relative;z-index:2;opacity:1!important;visibility:visible!important;transition:none}
body:has(#gfAmbient) .wrap{position:relative;z-index:2}
.detailTopbar{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center}
.detailTopbar .brand{min-width:0;overflow:hidden}
.detailTopbar .brand b,.detailTopbar .brand small{overflow:hidden;text-overflow:ellipsis}
.detailTopbar .langs{min-width:0;justify-content:flex-end}
@media(max-width:650px){.detailTopbar{grid-template-columns:auto minmax(0,1fr) auto auto auto;gap:3px!important}.detailTopbar .backBtn{width:auto!important;min-width:64px!important}.detailTopbar .lang{padding:5px 4px!important;font-size:9px!important}.detailTopbar .brand b{font-size:14px!important}}

/* v189 — persistent device identity + redesigned theme settings */
.settingsHeroEnhanced{min-height:150px;padding:22px 24px;gap:22px}
.settingsHeroEnhanced h2{margin:7px 0 5px;font-size:25px}
.themeMiniPreview{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:11px;min-width:190px;padding:12px 14px;border-radius:18px;border:1px solid color-mix(in srgb,var(--accent2) 28%,rgba(255,255,255,.12));background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.025));box-shadow:0 15px 35px rgba(0,0,0,.22),0 0 35px color-mix(in srgb,var(--accent2) 10%,transparent);overflow:hidden}
.themeMiniPreview:before{content:"";grid-row:1 / span 2;width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,var(--accent2),var(--accent3));box-shadow:0 0 28px color-mix(in srgb,var(--accent2) 32%,transparent),inset 0 1px 0 rgba(255,255,255,.45)}
.themeMiniPreview b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.themeMiniPreview small{color:var(--muted2);font-size:10px}
.themePreviewHero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,340px) auto;align-items:center;gap:22px;min-height:190px;padding:22px 24px;overflow:hidden;background:linear-gradient(135deg,var(--glassTop),var(--glassBottom))!important}
.themePreviewHero:before{content:"";position:absolute;inset:-45%;background:radial-gradient(circle at 25% 30%,color-mix(in srgb,var(--accent2) 28%,transparent),transparent 38%),radial-gradient(circle at 78% 70%,color-mix(in srgb,var(--accent3) 24%,transparent),transparent 38%);filter:blur(20px);opacity:.9;pointer-events:none}
.themePreviewGlow{position:absolute;width:210px;height:210px;left:-60px;bottom:-110px;border-radius:50%;background:radial-gradient(circle,var(--accent2),transparent 70%);filter:blur(20px);opacity:.3;pointer-events:none}
.themePreviewCopy,.themePreviewWindow,.themeBackButton{position:relative;z-index:1}.themePreviewCopy h2{font-size:29px;margin:7px 0 4px}.themePreviewCopy p{margin:0;color:var(--muted2);font-size:13px}
.themePreviewWindow{height:125px;border-radius:17px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.035));box-shadow:0 20px 45px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.18);overflow:hidden;backdrop-filter:blur(14px)}
.previewWindowTop{height:28px;display:flex;align-items:center;gap:5px;padding:0 9px;border-bottom:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.12)}.previewWindowTop i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.48)}.previewWindowTop span{margin-left:auto;font-size:8px;color:rgba(255,255,255,.65);letter-spacing:.4px}.previewWindowBody{display:grid;grid-template-columns:1.2fr .8fr;gap:8px;padding:10px}.previewWindowBody div{height:76px;border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent2) 20%,rgba(255,255,255,.05)),rgba(255,255,255,.035));border:1px solid color-mix(in srgb,var(--accent2) 20%,rgba(255,255,255,.08))}.previewWindowBody div:last-child{background:linear-gradient(145deg,color-mix(in srgb,var(--accent3) 16%,rgba(255,255,255,.04)),rgba(255,255,255,.025))}
.themeBackButton{align-self:start}.themeGrid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.themeFeaturedGrid{grid-template-columns:repeat(6,minmax(0,1fr))}.themeCard{min-height:116px;padding:13px;border-radius:17px;transition:transform .18s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}.themeCard:hover{transform:translateY(-2px)}.themeCard.selected{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent2) 20%,transparent),0 15px 35px color-mix(in srgb,var(--accent2) 10%,transparent)}.themeCardTop{display:flex;align-items:center;gap:7px;min-width:0}.themeCardTop strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.themeCard small{line-height:1.25}.themeCheck{margin-left:auto;flex:0 0 auto}
.themeCard .themeSwatch{height:42px;margin-bottom:11px}.motionGrid{grid-template-columns:repeat(3,1fr);gap:12px}.motionChoice{min-height:82px;text-align:left;padding:15px;border-radius:17px;transition:transform .18s ease,border-color .2s ease}.motionChoice:hover{transform:translateY(-2px)}.motionChoice b{font-size:14px}.motionChoice small{font-size:11px;line-height:1.3}
@media(max-width:900px){.themeFeaturedGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.themePreviewHero{grid-template-columns:1fr 280px}.themeBackButton{position:absolute;right:18px;top:18px}.themePreviewCopy{padding-right:65px}}
@media(max-width:650px){.settingsHeroEnhanced{min-height:0;padding:17px;align-items:flex-start}.settingsHeroEnhanced h2{font-size:22px}.themeMiniPreview{min-width:0;width:100%;margin-top:5px}.settingsHeroEnhanced{flex-direction:column}.themePreviewHero{grid-template-columns:1fr;padding:18px;gap:15px;min-height:0}.themePreviewCopy{padding-right:52px}.themePreviewCopy h2{font-size:24px}.themePreviewWindow{width:100%;height:118px}.themeFeaturedGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.themeGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.themeCard{min-height:108px;padding:11px}.themeCard .themeSwatch{height:36px}.motionGrid{grid-template-columns:1fr}.themeBackButton{right:12px;top:12px}}

/* v191 — theme polish, visible Dream Flow, wallpaper themes, cleaner navigation */
.settingsThemeButton{width:100%;display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:15px;padding:17px 18px;margin:0;border-radius:20px;text-align:start;background:linear-gradient(135deg,rgba(255,255,255,.095),rgba(255,255,255,.035));color:var(--text);border:1px solid var(--border2);box-shadow:var(--shadow2),inset 0 1px 0 rgba(255,255,255,.10);cursor:pointer;transition:transform .18s ease,border-color .2s ease,background .2s ease}
.settingsThemeButton:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent2) 42%,var(--border2));background:linear-gradient(135deg,color-mix(in srgb,var(--accent2) 10%,rgba(255,255,255,.08)),rgba(255,255,255,.035))}
.settingsThemeIcon{width:56px;height:56px;display:grid;place-items:center;border-radius:17px;font-size:27px;background:linear-gradient(135deg,var(--accent2),var(--accent3));color:var(--buttonText);box-shadow:0 0 30px color-mix(in srgb,var(--accent2) 22%,transparent),inset 0 1px 0 rgba(255,255,255,.4)}
.settingsThemeText{min-width:0;display:flex;flex-direction:column;gap:4px}.settingsThemeText strong{font-size:16px}.settingsThemeText small{color:var(--muted2);font-size:11px;line-height:1.35}.settingsThemeArrow{font-size:30px;line-height:1;color:var(--muted2);padding:0 4px}
.settingsNote{font-size:12px}
.home.backBtn.visibleBack{width:auto;min-width:0;height:42px;padding:0 13px;border-radius:15px;font-size:13px;font-weight:750;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.16);color:var(--text);box-shadow:0 8px 22px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.home.backBtn.visibleBack:hover{background:color-mix(in srgb,var(--accent2) 10%,rgba(255,255,255,.055));border-color:color-mix(in srgb,var(--accent2) 45%,rgba(255,255,255,.16));transform:translateY(-1px)}
.home.backBtn.visibleBack:active{transform:translateY(0) scale(.98)}
.themePreviewHero{box-shadow:0 22px 60px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.10)}
.themePreviewHero .themePreviewWindow{background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.025))}
.themeCard[class*="theme-mountain"],.themeCard[class*="theme-glasscity"],.themeCard[class*="theme-oceanview"],.themeCard[class*="theme-desertsky"],.themeCard[class*="theme-forestpath"],.themeCard[class*="theme-nightlake"]{overflow:hidden}
.themeCard.theme-mountain .themeSwatch{--swatch-a:#66e8ff;--swatch-b:#1c5a82;background-image:url('/assets/theme-mountain.svg')!important;background-size:cover!important;background-position:center!important}
.themeCard.theme-glasscity .themeSwatch{--swatch-a:#6ceaff;--swatch-b:#8a65ff;background-image:url('/assets/theme-glasscity.svg')!important;background-size:cover!important;background-position:center!important}
.themeCard.theme-oceanview .themeSwatch{--swatch-a:#70c9d8;--swatch-b:#0b3850;background-image:url('/assets/theme-oceanview.svg')!important;background-size:cover!important;background-position:center!important}
.themeCard.theme-desertsky .themeSwatch{--swatch-a:#e49a6a;--swatch-b:#5b3025;background-image:url('/assets/theme-desertsky.svg')!important;background-size:cover!important;background-position:center!important}
.themeCard.theme-forestpath .themeSwatch{--swatch-a:#9ee7b0;--swatch-b:#071b1b;background-image:url('/assets/theme-forestpath.svg')!important;background-size:cover!important;background-position:center!important}
.themeCard.theme-nightlake .themeSwatch{--swatch-a:#8fdcff;--swatch-b:#071727;background-image:url('/assets/theme-nightlake.svg')!important;background-size:cover!important;background-position:center!important}

html[data-theme="mountain"]{--bg1:#07152b;--bg2:#04101a;--bgGlow:#164a68;--accent2:#66e8ff;--accent3:#65d8c5}
html[data-theme="glasscity"]{--bg1:#120d27;--bg2:#050914;--bgGlow:#3b2868;--accent2:#6ceaff;--accent3:#9b70ff}
html[data-theme="oceanview"]{--bg1:#0b2032;--bg2:#041018;--bgGlow:#246c7c;--accent2:#70e8ff;--accent3:#7bd8ca}
html[data-theme="desertsky"]{--bg1:#29151a;--bg2:#100907;--bgGlow:#8b493e;--accent2:#ffb06f;--accent3:#e46d9b}
html[data-theme="forestpath"]{--bg1:#0a211d;--bg2:#040e0b;--bgGlow:#285f4a;--accent2:#b4e78e;--accent3:#61cfa3}
html[data-theme="nightlake"]{--bg1:#060a1c;--bg2:#02060c;--bgGlow:#183d68;--accent2:#8fdcff;--accent3:#647dff}
html[data-theme="mountain"] body{background-image:linear-gradient(rgba(3,11,20,.20),rgba(2,8,14,.38)),url('/assets/theme-mountain.svg')!important;background-size:cover,cover!important;background-position:center,center!important;background-attachment:fixed!important}
html[data-theme="glasscity"] body{background-image:linear-gradient(rgba(4,5,14,.18),rgba(2,5,10,.42)),url('/assets/theme-glasscity.svg')!important;background-size:cover,cover!important;background-position:center,center!important;background-attachment:fixed!important}
html[data-theme="oceanview"] body{background-image:linear-gradient(rgba(3,12,20,.16),rgba(2,8,14,.42)),url('/assets/theme-oceanview.svg')!important;background-size:cover,cover!important;background-position:center,center!important;background-attachment:fixed!important}
html[data-theme="desertsky"] body{background-image:linear-gradient(rgba(12,5,8,.16),rgba(8,4,3,.46)),url('/assets/theme-desertsky.svg')!important;background-size:cover,cover!important;background-position:center,center!important;background-attachment:fixed!important}
html[data-theme="forestpath"] body{background-image:linear-gradient(rgba(3,12,9,.16),rgba(2,8,6,.44)),url('/assets/theme-forestpath.svg')!important;background-size:cover,cover!important;background-position:center,center!important;background-attachment:fixed!important}
html[data-theme="nightlake"] body{background-image:linear-gradient(rgba(2,5,13,.12),rgba(1,4,9,.46)),url('/assets/theme-nightlake.svg')!important;background-size:cover,cover!important;background-position:center,center!important;background-attachment:fixed!important}

/* Dream Flow is intentionally much more visible than Soft Glow. */
html[data-motion="flow"] #gfAmbient i:nth-child(1){animation:gfA1 4.4s cubic-bezier(.42,0,.2,1) infinite;opacity:.78}
html[data-motion="flow"] #gfAmbient i:nth-child(2){animation:gfA2 5.6s cubic-bezier(.42,0,.2,1) infinite reverse;opacity:.72}
html[data-motion="flow"] #gfAmbient i:nth-child(3){animation:gfA3 6.2s cubic-bezier(.42,0,.2,1) infinite;opacity:.62}
html[data-motion="flow"] #gfAmbient i:nth-child(4){animation:gfA4 7s linear infinite;opacity:.42}
html[data-motion="flow"] #gfAmbient i:nth-child(5){animation:gfA5 5.1s ease-in-out infinite;opacity:.58}
html[data-motion="flow"] #gfAmbient i:nth-child(6){animation:gfA6 8.5s ease-in-out infinite reverse;opacity:.48}
#gfAmbient i:nth-child(5){width:34vmax;height:34vmax;right:14%;top:22%;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent2) 42%,transparent),transparent 66%);filter:blur(22px);opacity:0;}
#gfAmbient i:nth-child(6){width:28vmax;height:28vmax;left:34%;top:44%;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent3) 36%,transparent),transparent 68%);filter:blur(28px);opacity:0;}
@keyframes gfA5{0%,100%{transform:translate3d(-12vw,8vh,0) scale(.72);opacity:.12}35%{transform:translate3d(7vw,-8vh,0) scale(1.16);opacity:.62}70%{transform:translate3d(22vw,12vh,0) scale(.92);opacity:.35}}
@keyframes gfA6{0%,100%{transform:translate3d(12vw,-10vh,0) scale(.75);opacity:.08}50%{transform:translate3d(-16vw,10vh,0) scale(1.22);opacity:.55}}
html[data-motion="subtle"] #gfAmbient i:nth-child(5),html[data-motion="subtle"] #gfAmbient i:nth-child(6){animation:none;opacity:0}
html[data-motion="off"] #gfAmbient i:nth-child(5),html[data-motion="off"] #gfAmbient i:nth-child(6){display:none}

@media(max-width:650px){
  .settingsThemeButton{grid-template-columns:48px minmax(0,1fr) auto;padding:14px;border-radius:17px;gap:12px}
  .settingsThemeIcon{width:48px;height:48px;border-radius:14px;font-size:23px}
  .settingsThemeText strong{font-size:15px}.settingsThemeText small{font-size:10px}
  .settingsThemeArrow{font-size:26px}
  .home.backBtn.visibleBack{height:40px;padding:0 11px;border-radius:14px;font-size:12px}
  .detailTopbar .backBtn{min-width:0!important;width:auto!important}
  .themePreviewHero{min-height:210px}
}

.biometricPrimary{min-height:54px;font-size:1.05rem;font-weight:700;box-shadow:0 8px 30px rgba(90,220,255,.18)}.loginDivider{display:flex;align-items:center;gap:10px;margin:18px 0 12px;color:var(--muted);font-size:.85rem}.loginDivider:before,.loginDivider:after{content:"";height:1px;flex:1;background:var(--line)}

/* v194 order-card refinements */
.search input::placeholder{color:rgba(232,245,252,.72);opacity:1}
.search input{font-size:14px}
.orderCard{padding:12px 13px;gap:10px}
.orderIcon{width:40px;height:40px;min-width:40px;border-radius:12px;font-size:18px}
.orderMain b{font-size:15px}
.orderMain span{font-size:13px}
.orderMain small{margin-top:3px;font-size:10.5px;line-height:1.25}
.orderMain .customerOrderLine{color:var(--accent2);font-weight:650}
.orderBadges{gap:4px}
.pill,.urgentBadge,.deliveryBadge{padding:5px 8px;font-size:10px}
.metricCard,.metrics button{min-height:82px;min-width:98px;padding:11px 12px}
.metricCard b,.metrics button b{font-size:19px}
@media(max-width:650px){.orderCard{padding:11px 12px}.orderIcon{width:38px;height:38px;min-width:38px}.orderMain b{font-size:14px}.orderMain span{font-size:12.5px}.metricCard,.metrics button{min-height:78px;min-width:96px;padding:10px}.search input{font-size:14px}}

.routeLabel{margin-top:12px;color:var(--muted);font-size:10px;font-weight:750;letter-spacing:1px}.customerLine .route{margin-top:6px}.customerLine .route span{font-size:10px}

.staffCustomerControls{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:8px 2px;color:var(--muted);font-size:12px}.staffCustomerControls select{border:1px solid var(--line);border-radius:10px;background:var(--panel,rgba(20,30,40,.75));color:var(--text);padding:7px 10px;font:inherit;outline:none}.staffCustomerBar{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding:3px 2px 14px;width:100%;max-width:100%;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity}.staffCustomerBar::-webkit-scrollbar{display:none}
.officeCustomerControls{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 2px 8px;color:var(--muted);font-size:12px}.officeCustomerControls select{border:1px solid var(--line);border-radius:10px;background:var(--panel,rgba(20,30,40,.75));color:var(--text);padding:7px 10px;font:inherit;outline:none}.officeCustomerControls select:focus{border-color:rgba(82,200,255,.5)}.officeCustomerBar{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding:3px 2px 14px;width:100%;max-width:100%;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity}.officeCustomerBar::-webkit-scrollbar{display:none}.officeCustomerCard{flex:0 0 190px;min-height:82px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:11px 13px;border-radius:16px;background:rgba(145,190,215,.08);color:var(--text);border:1px solid var(--line);font:inherit;text-align:left;cursor:pointer;scroll-snap-align:start;box-shadow:0 4px 16px rgba(0,0,0,.08);transition:transform .16s ease,border-color .16s ease,background .16s ease}.officeCustomerCard:hover{transform:translateY(-1px)}.officeCustomerCard.sel{background:rgba(82,200,255,.15);border-color:rgba(82,200,255,.5);box-shadow:0 0 20px rgba(82,200,255,.1)}.officeCustomerCard strong{display:block;width:100%;font-size:13px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.officeCustomerCard small{display:block;width:100%;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.officeCustomerCardIcon{font-size:17px;line-height:1}.officeCustomerCard.all{background:rgba(120,170,210,.12)}@media(max-width:650px){.officeCustomerCard{flex-basis:165px;min-height:76px;padding:10px 12px}.officeCustomerCard strong{font-size:12px}.officeCustomerCard small{font-size:10px}}

.edrChangeBanner{margin:12px 0;padding:12px 14px;border:1px solid rgba(255,169,76,.55);border-radius:14px;background:rgba(255,169,76,.12);display:flex;flex-direction:column;gap:4px}.edrChangeBanner b{font-size:13px}.edrChangeBanner span{font-size:12px;font-weight:700}.edrChangeBanner small{font-size:11px;color:var(--muted);line-height:1.35}.edrChangeBadge{border-color:rgba(255,169,76,.55)!important;background:rgba(255,169,76,.16)!important}

.deliveredCardMeta{display:grid;grid-template-columns:1fr;gap:4px;margin-top:6px;font-size:.76rem;line-height:1.3}.deliveredCardMeta div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deliveredCardMeta b{font-weight:700}.deliveredCardMeta .deliveryMetaPrimary{font-size:.9rem;font-weight:800;color:#ffd166}.deliveredCardMeta .deliveryMetaPrimary b{font-weight:850}.deliveryIdentity{color:#c084fc!important;font-weight:850!important}.qcReportRow .deliveryIdentity{display:block;font-size:.92rem;line-height:1.25}.qcReportRow span.deliveryIdentity{margin-top:1px}
.deliveredGroup{display:grid;gap:10px;margin-bottom:18px}.deliveredGroupTitle{display:flex;align-items:center;justify-content:space-between;padding:10px 3px 2px;color:var(--text);font-size:15px}.deliveredGroupTitle span{min-width:28px;text-align:center;padding:4px 8px;border-radius:999px;background:rgba(97,226,211,.12);color:#8cf0e4;font-size:11px}.deliveredGroupEmpty{padding:18px}.deliveredGroup + .deliveredGroup{margin-top:4px}
.deliveredTabs{display:flex;gap:8px;padding:6px;margin:0 0 12px;border-radius:18px;position:sticky;top:0;z-index:5}.deliveredTab{flex:1;border:1px solid var(--border2);background:rgba(255,255,255,.045);color:var(--muted);padding:11px 12px;border-radius:13px;font-weight:800;cursor:pointer}.deliveredTab.sel{background:rgba(97,226,211,.14);color:var(--text);border-color:rgba(97,226,211,.38);box-shadow:0 0 18px rgba(97,226,211,.08)}.deliveredTab span{display:inline-block;min-width:22px;margin-left:5px;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.08);font-size:11px}.qcReportList{display:grid;gap:9px;margin-top:12px}.qcReportRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border2);border-radius:16px;background:rgba(255,255,255,.045)}.qcReportRow>div{display:grid;gap:3px;min-width:0}.qcReportRow span,.qcReportRow small{color:var(--muted);overflow:hidden;text-overflow:ellipsis}.qcReportRow button{flex:0 0 auto}.deliveredActiveGroup{margin-top:0}
/* v225 — UI reference integration: presentation-only layer, preserves existing GlassFlow logic */
:root{--bg:#030711;--card:#0a1729;--ink:#edf6ff;--muted:#86a4c7;--line:#183b61;--accent:#168cff;--danger:#ff5067;--warn:#ffab3d;--ok:#20d991;--info:#278dff}
html,body{width:100%;max-width:100%;min-height:100%;overflow-x:hidden;background:#030711!important;color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}
body{background-image:radial-gradient(circle at 12% 10%,#0a4a70aa 0,transparent 27%),radial-gradient(circle at 85% 18%,#3b176e88 0,transparent 24%),radial-gradient(circle at 60% 100%,#064d4c88 0,transparent 30%)!important}
.wrap{max-width:none!important;width:auto!important;margin-left:220px!important;margin-right:0!important;padding:26px 30px!important;min-width:0}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:24px;padding:0 0 6px;border:0}
.topbar .brand{flex:1;min-width:0}.topbar .brand b{font-size:27px;font-weight:800;letter-spacing:.1px}.topbar .brand small{font-size:14px;color:#86a4c7}
.home,.settingsBtn,.lang,.secondary,.primary,.danger,.metricCard,.metrics button,.stage,.orderCard,.themeCard,.motionChoice{font:inherit;cursor:pointer}
.topbar .home,.topbar .settingsBtn{width:44px;height:44px;border-radius:10px;background:linear-gradient(145deg,#102744cc,#071426cc)!important;border:1px solid #285477!important;color:#edf6ff;box-shadow:inset 0 1px 0 #ffffff12,0 8px 22px #0006;backdrop-filter:blur(18px)}
.lang{padding:9px 11px;border-radius:10px;background:transparent;color:#9ab5d3}.lang.on{background:#0b4662;color:#79dbff}
.langs{gap:5px}.pageTitle h1{font-size:28px;margin:0 0 18px}
/* Desktop sidebar — matches the attached UI reference */
.gfSidebar{position:fixed;left:0;top:0;bottom:0;width:220px;background:linear-gradient(160deg,#07172bdf,#040b17e8);border-right:1px solid #17416a;box-shadow:18px 0 45px #0008;backdrop-filter:blur(18px);padding:22px 14px;z-index:1000;display:flex;flex-direction:column}
.gfSidebarBrand{font-size:22px;font-weight:800;padding:8px 12px 28px;color:#fff}.gfSidebarBrand span{color:#7fa2ff}.gfSidebarNav{display:grid;gap:6px}.gfSidebarNav button,.gfDrawerNav button{border:0;background:transparent;color:#dce3f1;text-align:left;padding:12px 13px;border-radius:10px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:9px}.gfSidebarNav button.active,.gfSidebarNav button:hover,.gfDrawerNav button.active,.gfDrawerNav button:hover{background:#263653;color:#fff}.gfSidebarNav button span,.gfDrawerNav button span{width:18px;display:inline-grid;place-items:center;color:#b5c9dd}.gfSidebarNav button.active span,.gfDrawerNav button.active span{color:#fff}
/* Mobile navigation */
.gfMobileMenu{display:none;width:44px;height:44px;border:1px solid #285477!important;background:linear-gradient(145deg,#102744,#071426)!important;color:#edf6ff;border-radius:12px;font-size:22px;cursor:pointer;box-shadow:0 8px 22px #0006}
.gfDrawerOverlay{display:none}.gfDrawer{display:none}.gfNavMobile{display:none}
/* Content/card styling from reference */
.gfDashboard{display:block}.gfIntro{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;margin-bottom:18px}.gfIntro>div:first-child{min-width:0}.gfEyebrow{font-size:12px;color:#69c9ff;text-transform:uppercase;letter-spacing:.12em}.gfIntro h2{margin:7px 0 5px;font-size:27px}.gfIntro p{margin:0;color:#86a4c7;font-size:14px}.gfTools{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end;max-width:720px}.gfSearch{min-width:260px;flex:1}.gfSearch{background:linear-gradient(145deg,#102744cc,#071426cc)!important;border:1px solid #1c456d!important;border-radius:12px!important;box-shadow:inset 0 1px 0 #ffffff12,0 12px 28px #0005!important}.scanMainBtn{background:linear-gradient(135deg,#0878ed,#11c9ff)!important;border-color:#28aaff!important;color:#fff!important;border-radius:12px!important;padding:12px 17px!important;font-weight:800!important;box-shadow:0 10px 28px #008cff38,inset 0 1px 0 #fff3!important}
.metrics{gap:14px!important;padding:0 0 18px!important;overflow:auto}.metricCard,.metrics button{background:linear-gradient(145deg,#102744cc,#071426cc)!important;border:1px solid #1c456d!important;border-radius:14px!important;padding:17px!important;min-height:108px!important;min-width:145px!important;box-shadow:inset 0 1px 0 #ffffff12,inset 0 -1px 0 #0008,0 12px 28px #0005!important;backdrop-filter:blur(16px);position:relative;overflow:hidden;text-align:left}.metricCard:hover,.metrics button:hover{transform:translateY(-2px);border-color:#2a6799!important}.metricCard:nth-child(1),.metrics button:nth-child(1){border-top:4px solid var(--danger)!important}.metricCard:nth-child(2),.metrics button:nth-child(2){border-top:4px solid var(--warn)!important}.metricCard:nth-child(3),.metrics button:nth-child(3){border-top:4px solid var(--ok)!important}.metricCard:nth-child(4),.metrics button:nth-child(4){border-top:4px solid var(--info)!important}.metricCard:nth-child(5),.metrics button:nth-child(5){border-top:4px solid #8759d6!important}.metricCard:nth-child(6),.metrics button:nth-child(6){border-top:4px solid #4db6da!important}.metricCard b,.metrics button b{font-size:27px!important;font-weight:800}.metricCard small,.metrics button small{font-size:13px!important;color:#86a4c7!important;margin-top:5px}
.officeCustomerControls,.staffCustomerControls{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:0 2px 8px;color:#86a4c7;font-size:12px}.officeCustomerControls select,.staffCustomerControls select{border:1px solid #183b61;border-radius:9px;background:#071426;color:#dcecff;padding:8px 10px;font:inherit}
.officeCustomerBar,.staffCustomerBar{gap:12px!important;padding:4px 2px 15px!important}.officeCustomerCard,.staffCustomerBar .officeCustomerCard{min-width:210px!important;min-height:82px!important;border:1px solid #1c5279!important;border-radius:17px!important;background:linear-gradient(145deg,#12365ae8,#071527ee)!important;box-shadow:inset 0 1px 0 #ffffff18,inset 0 -1px 0 #0009,0 15px 32px #0007!important;backdrop-filter:blur(17px)!important}.officeCustomerCard.sel,.staffCustomerBar .officeCustomerCard.sel{background:linear-gradient(145deg,#123e67ee,#08203aeF)!important;border-color:#2daeff!important}
.stageScroll{gap:9px!important;padding-bottom:14px!important}.stage{border:1px solid #1c456d!important;border-radius:12px!important;padding:10px 13px!important;background:linear-gradient(145deg,#102744cc,#071426cc)!important;color:#9ab5d3!important}.stage.sel{background:#163657!important;color:#fff!important;border-color:#2daeff!important}
.orderCard{border:1px solid #1c5279!important;border-radius:14px!important;background:linear-gradient(145deg,#12365ae8,#071527ee)!important;box-shadow:inset 0 1px 0 #ffffff18,inset 0 -1px 0 #0009,0 15px 32px #0007!important;backdrop-filter:blur(17px)!important}.orderCard:hover{transform:translateY(-2px);border-color:#2daeff!important}.orderIcon{background:rgba(82,200,255,.12)!important}.orderMain b{font-size:15px!important}.orderMain span{font-size:13px!important}.orderMain small{font-size:11px!important;color:#86a4c7!important}.orderMain .customerOrderLine{color:#69c9ff!important;font-weight:700}
.orderBadges{gap:6px}.pill,.urgentBadge,.deliveryBadge{border-radius:999px!important;padding:6px 9px!important;font-size:11px!important}.pill.green{background:#0a5139cc!important;color:#57e9ae!important}.pill.orange,.urgentBadge{background:#5a360dcc!important;color:#ffc05b!important}.pill.teal{background:#103e73cc!important;color:#6bcaff!important}
.glass,.info,.work,.settingsHero,.settingsBlock,.settingsThemeButton,.themePreviewHero{background:linear-gradient(145deg,#102744cc,#071426cc)!important;border:1px solid #1c456d!important;box-shadow:inset 0 1px 0 #ffffff12,inset 0 -1px 0 #0008,0 15px 32px #0007!important;backdrop-filter:blur(16px)}
.info,.work{border-radius:14px!important}.sectionLabel{color:#86a4c7}.lineCard{border-radius:14px!important}.route span{background:#07172b;color:#9ab5d3}.route span.current{background:#163657;color:#79dbff}
/* Login screen — no sidebar, no menu, no navigation */
.gfLoginPage{position:fixed;inset:0;z-index:2000;background:#030711;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}.gfLoginPage .auth{width:min(420px,100%);max-width:420px;margin:0!important;background:linear-gradient(145deg,#0b1d35,#071326)!important;border:1px solid #1b4168!important;border-radius:22px!important;padding:30px!important;box-shadow:0 25px 70px #000b!important;text-align:center}.gfLoginLogo{font-size:28px;font-weight:900}.gfLoginLogo span{color:#25d8ff}.gfLoginSub{color:#8fa9c9;font-size:13px;margin:8px 0 25px}.gfLoginPage .auth h2{display:none}.gfLoginPage .auth .field{width:100%;padding:13px 14px;margin:6px 0;background:#07172b!important;border:1px solid #214466!important;border-radius:10px!important}.gfLoginPage .auth label{margin:13px 0 7px;color:#8fa9c9}.gfLoginPage .primary{width:100%;padding:13px;margin-top:12px;border:0;border-radius:10px;background:linear-gradient(135deg,#126ed1,#19b7ef)!important;color:#fff!important;font-weight:800}.gfLoginPage .biometricPrimary{width:100%;padding:12px;margin-top:9px;border:1px solid #25618e!important;border-radius:10px;background:#0b233e!important;color:#79d4ff!important;font-weight:700}.gfLoginPage .loginDivider{color:#8fa9c9;margin:18px 0 12px}.gfLoginPage .scheduleNote{background:#17283a;color:#ffc98d}.gfLoginPage .remember{justify-content:flex-start;text-align:left;font-size:12px}.gfLoginPage .error{color:#ff9299}.gfLoginPage .secondary{width:100%}
/* Desktop navigation/header sizes */
.gfDrawerPanel{width:260px;background:linear-gradient(160deg,#07172bdf,#040b17e8);border-right:1px solid #17416a;box-shadow:18px 0 45px #0008;backdrop-filter:blur(18px);height:100%;padding:18px 14px}.gfDrawerClose{border:1px solid #285477;background:#071426;color:#fff;border-radius:9px;width:36px;height:36px;cursor:pointer;float:right}.gfDrawerNav{clear:both;display:grid;gap:6px;padding-top:22px}.gfNavMobile button{color:#9ab5d3}.gfNavMobile button.active{background:#163657;color:#fff}
@media(max-width:900px){
  .gfSidebar{display:none}.wrap{margin-left:0!important;padding:18px!important}.gfMobileMenu{display:inline-grid;place-items:center}.gfDrawer{display:block;position:fixed;inset:0;z-index:1500;opacity:0;pointer-events:none;transition:opacity .2s;background:transparent}.gfDrawer.open{opacity:1;pointer-events:auto}.gfDrawerOverlay{display:none;position:fixed;inset:0;background:#0008;z-index:1499;opacity:0;pointer-events:none}.gfDrawerOverlay.open{display:block;opacity:1;pointer-events:auto}.gfDrawerPanel{transform:translateX(-105%);transition:transform .22s ease}.gfDrawer.open .gfDrawerPanel{transform:translateX(0)}
  .gfNavMobile{display:flex;position:fixed;left:0;right:0;bottom:0;height:66px;background:linear-gradient(180deg,#0b1a2cfa,#050d18fa);border-top:1px solid #1c456d;z-index:1400;backdrop-filter:blur(18px);padding:7px 6px;gap:4px}.gfNavMobile button{flex:1;border:0;background:transparent;color:#9ab5d3;border-radius:10px;font-size:10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.gfNavMobile button span{font-size:18px;line-height:1}.gfNavMobile button b{font-size:10px}.gfNavMobile button.active{background:#163657;color:#fff}
  .topbar{align-items:flex-start;gap:10px}.topbar .brand b{font-size:24px}.topbar .brand small{font-size:12px}.topbar .settingsBtn{width:42px;height:42px}.langs .lang{padding:7px 8px;font-size:11px}.dashboard{padding-bottom:78px}.gfIntro{flex-wrap:wrap}.gfIntro>div:first-child{flex:1;min-width:160px}.gfIntro h2{font-size:24px}.gfTools{width:100%;max-width:none}.gfSearch{min-width:0;flex:1}.scanMainBtn{flex:0 0 auto}.metrics{margin:0!important;padding-bottom:12px!important}.metricCard,.metrics button{min-width:135px!important;min-height:96px!important}.gfNavMobile{padding-bottom:calc(7px + env(safe-area-inset-bottom))}
  .officeCustomerCard,.staffCustomerBar .officeCustomerCard{min-width:180px!important}.orderCard{padding:12px!important}.orderBadges{max-width:45%}.orderBadges .pill,.orderBadges .urgentBadge,.orderBadges .deliveryBadge{max-width:100%;overflow:hidden;text-overflow:ellipsis}.pageTitle h1{font-size:24px}
}
@media(max-width:480px){.wrap{padding:12px 9px 78px!important}.topbar{gap:7px}.topbar .brand b{font-size:20px}.topbar .brand small{font-size:10px}.gfIntro h2{font-size:22px}.gfIntro p{font-size:12px}.gfTools{display:grid;grid-template-columns:1fr auto}.gfSearch{grid-column:1/-1}.scanMainBtn{width:100%}.metrics{gap:10px!important}.metricCard,.metrics button{min-width:118px!important;min-height:88px!important;padding:13px!important}.metricCard b,.metrics button b{font-size:23px!important}.orderMain b{font-size:14px!important}.orderMain span{font-size:12px!important}.gfLoginPage{padding:14px}.gfLoginPage .auth{padding:24px!important;border-radius:20px!important}.gfNavMobile{height:64px}.gfNavMobile button b{font-size:9px}.gfNavMobile button span{font-size:17px}}
[dir="rtl"] .gfDrawerPanel{transform:translateX(105%)}[dir="rtl"] .gfDrawer.open .gfDrawerPanel{transform:translateX(0)}

/* v226 — UI reference integration: distinct Home / Orders / Production views
   Visual language taken from the supplied GlassFlow Office UI reference.
   Functional/security logic remains in app.js. */
.uiPage{width:100%;min-width:0}.uiHomePage,.uiOrdersPage,.uiProductionPage{padding:4px 2px 26px}.uiPageTop,.uiOrdersTop{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.uiPageTop h1,.uiOrdersTop h2{margin:0;font-size:28px;line-height:1.15}.uiPageTop p,.uiOrdersTop p{margin:7px 0 0;color:var(--muted);font-size:13px}.uiTopActions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.uiScanButton{min-height:48px;padding:0 18px;border-radius:12px!important;font-weight:800!important}.uiStatGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:22px}.uiStat{appearance:none;position:relative;text-align:left;padding:16px 15px;border:1px solid var(--border2);border-radius:15px;background:linear-gradient(145deg,#102744cc,#071426cc);color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 12px 28px rgba(0,0,0,.18);backdrop-filter:blur(16px);cursor:pointer;overflow:hidden;transition:.18s ease}.uiStat::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.07),transparent 32%,transparent 74%,rgba(38,207,255,.035));pointer-events:none}.uiStat:hover{transform:translateY(-2px);border-color:rgba(82,200,255,.38);box-shadow:0 18px 36px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.12)}.uiStat.red{border-top:4px solid #ff5067}.uiStat.orange{border-top:4px solid #ffab3d}.uiStat.green{border-top:4px solid #20d991}.uiStat.blue{border-top:4px solid #278dff}.uiStat.purple{border-top:4px solid #8759d6}.uiStatIcon{color:#69c9ff;font-size:15px;min-height:19px}.uiStat .n{font-size:27px;font-weight:800;margin-top:5px}.uiStat .l{font-size:12px;color:#86a4c7;margin-top:4px}.uiHomeGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.uiHomeDashboardGrid .uiServiceHomePanel{grid-column:1/-1}.uiHomeDashboardGrid>.uiPanel:not(.uiServiceHomePanel){min-width:0}.uiPanel{position:relative;padding:18px;border-radius:18px;border:1px solid #1c456d;background:linear-gradient(145deg,#102744cc,#071426cc);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),inset 0 -1px 0 rgba(0,0,0,.35),0 16px 38px rgba(0,0,0,.18);backdrop-filter:blur(16px);overflow:hidden}.uiPanel::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.055),transparent 30%,transparent 72%,rgba(38,207,255,.035));pointer-events:none}.uiPanel h2{margin:0 0 14px;font-size:17px}.uiSectionGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.uiSection{appearance:none;position:relative;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px;border-radius:12px;border:1px solid #1c456d;background:linear-gradient(145deg,#102744cc,#071426cc);color:#e9f5ff;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transition:.16s ease;text-align:left;overflow:hidden}.uiSection::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.06),transparent 30%);pointer-events:none}.uiSection:hover,.uiSection.selected{transform:translateY(-2px);border-color:#2daeff;background:linear-gradient(145deg,#123052dd,#08182bde)}.uiSection.own{box-shadow:0 0 0 1px rgba(82,200,255,.12),0 10px 28px rgba(18,142,220,.10)}.uiSection b{font-size:13px}.uiSection small{color:#86a4c7;font-size:10px}.uiActivityList{display:grid;gap:10px}.uiActivity{appearance:none;width:100%;display:grid;grid-template-columns:58px 88px 1fr;align-items:center;gap:10px;text-align:left;border:1px solid #183b61;border-radius:8px;border-left:3px solid #2aa7e8;background:linear-gradient(145deg,#0d2139cc,#071528cc);color:var(--text);padding:10px 11px;cursor:pointer;transition:.16s ease}.uiActivity:hover{transform:translateX(2px);border-color:#2a6799}.uiActivity span{font-size:11px;color:#86a4c7}.uiActivity b{font-size:12px}.uiActivity small{font-size:11px;color:#9bb6cf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uiMiniSummary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.uiMiniSummary>div{padding:16px 12px;border:1px solid #183b61;border-radius:12px;background:linear-gradient(145deg,#102744cc,#071426cc);text-align:center}.uiMiniSummary b{display:block;font-size:24px}.uiMiniSummary small{color:#86a4c7;font-size:11px}.uiOrdersTop{align-items:center}.uiOrdersTop h2{font-size:27px}.uiOrderToolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:10px;align-items:center;margin-bottom:13px}.uiSearch{display:flex;align-items:center;gap:8px;min-width:0;padding:5px 9px 5px 12px;border:1px solid #183b61;border-radius:10px;background:linear-gradient(145deg,#102744cc,#071426cc);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(14px)}.uiSearch span{color:#69c9ff}.uiSearch input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#eaf5ff;padding:8px}.uiSearch input::placeholder{color:#6482a5}.uiFilterGroup{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.uiFilterBtn{border:1px solid #1c456d;background:linear-gradient(145deg,#102744cc,#071426cc);color:#dcecff;border-radius:9px;padding:10px 12px;font:inherit;cursor:pointer}.uiFilterBtn:hover,.uiFilterBtn:focus{border-color:#2daeff}.uiTablePanel{padding:0}.uiTableHead{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 17px;border:1px solid #183b61;border-bottom:0;border-radius:15px 15px 0 0;background:linear-gradient(145deg,#102744cc,#071426cc)}.uiTableHead h3{margin:3px 0 0;font-size:18px}.uiTableHint{color:#86a4c7;font-size:11px}.uiTable{border:1px solid #183b61;border-radius:0 0 15px 15px;overflow:hidden;background:rgba(3,11,17,.28)}.uiOrderHeader,.uiOrderRow{display:grid;grid-template-columns:110px minmax(170px,1.4fr) 125px minmax(150px,1.1fr) 120px;gap:12px;align-items:center}.uiTable-customer .uiOrderHeader,.uiTable-customer .uiOrderRow{grid-template-columns:120px minmax(170px,1.5fr) 125px 120px}.uiOrderHeader{padding:12px 15px;color:#9ab5d3;font-size:11px;font-weight:700;background:rgba(255,255,255,.025);border-bottom:1px solid #173958}.uiOrderRow{width:100%;padding:13px 15px;border:0;border-bottom:1px solid #173958;background:transparent;color:#e9f5ff;text-align:left;font:inherit;cursor:pointer;transition:.14s ease}.uiOrderRow:last-child{border-bottom:0}.uiOrderRow:hover{background:linear-gradient(100deg,rgba(18,65,98,.40),rgba(7,20,33,.38));transform:none}.uiOrderCell{min-width:0}.uiOrderCell b,.uiOrderCell small{display:block}.uiOrderCell small{margin-top:4px;color:#86a4c7;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uiStatus{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:10px;font-style:normal;font-weight:800;white-space:nowrap}.uiStatus.red{background:#571d2acc;color:#ff8390}.uiStatus.orange{background:#5a360dcc;color:#ffc05b}.uiStatus.green{background:#0a5139cc;color:#57e9ae}.uiStatus.blue{background:#103e73cc;color:#6bcaff}.uiCustomerControls{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 5px;color:#86a4c7;font-size:11px}.uiCustomerControls select{border:1px solid #183b61;border-radius:9px;background:#071426;color:#dcecff;padding:7px 10px;font:inherit}.uiCustomerSlider{display:flex;gap:10px;overflow-x:auto;padding:3px 1px 14px;scrollbar-width:none}.uiCustomerSlider::-webkit-scrollbar{display:none}.uiCustomerCard{appearance:none;min-width:190px;padding:14px;border:1px solid #1c5279;border-radius:15px;background:linear-gradient(145deg,#12365ae8,#071527ee);color:#e9f5ff;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 28px rgba(0,0,0,.18);cursor:pointer;text-align:left;position:relative;overflow:hidden;transition:.18s ease}.uiCustomerCard:hover,.uiCustomerCard.selected{transform:translateY(-2px);border-color:#2daeff;background:linear-gradient(145deg,#123e67ee,#08203aeF)}.uiCustomerCard strong,.uiCustomerCard small{display:block}.uiCustomerCard strong{font-size:13px}.uiCustomerCard small{margin-top:6px;color:#88a9c9;font-size:10px}.uiCustomerIcon{display:block;margin-bottom:7px;color:#69c9ff}.uiEmpty{padding:28px;text-align:center;color:#86a4c7;border:1px dashed #214466;border-radius:13px}.uiProductionWork{margin-top:16px}.uiProductionRow{width:100%;display:grid;grid-template-columns:110px 1fr 1fr 120px;gap:12px;align-items:center;padding:12px 4px;border:0;border-bottom:1px solid #173958;background:transparent;color:#e9f5ff;text-align:left;font:inherit;cursor:pointer}.uiProductionRow:last-child{border-bottom:0}.uiProductionRow:hover{background:rgba(18,48,80,.28)}.uiProductionRow span,.uiProductionRow small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uiProductionRow small{color:#86a4c7}.uiProductionRow .uiStatus{justify-self:end}
@media(max-width:950px){.uiStatGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.uiHomeGrid{grid-template-columns:1fr}.uiOrderToolbar{grid-template-columns:1fr}.uiFilterGroup{justify-content:flex-start}.uiOrderHeader,.uiOrderRow{grid-template-columns:90px 1.3fr 105px 1fr 100px}.uiTable-customer .uiOrderHeader,.uiTable-customer .uiOrderRow{grid-template-columns:100px 1.4fr 105px 100px}.uiProductionRow{grid-template-columns:90px 1.2fr 1fr 100px}}
@media(max-width:650px){.uiHomePage,.uiOrdersPage,.uiProductionPage{padding-bottom:80px}.uiPageTop,.uiOrdersTop{flex-direction:column;align-items:stretch;gap:12px}.uiPageTop h1,.uiOrdersTop h2{font-size:23px}.uiTopActions{width:100%}.uiTopActions .uiScanButton{flex:1}.uiStatGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.uiStat{padding:13px 12px;min-height:92px}.uiStat .n{font-size:24px}.uiHomeGrid{gap:12px}.uiPanel{padding:14px}.uiSectionGrid{grid-template-columns:1fr 1fr}.uiMiniSummary{grid-template-columns:1fr 1fr}.uiActivity{grid-template-columns:52px 75px 1fr}.uiOrderToolbar{gap:8px}.uiFilterGroup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.uiFilterBtn{width:100%}.uiCustomerCard{min-width:175px}.uiOrderHeader{display:none}.uiOrderRow,.uiTable-customer .uiOrderRow{grid-template-columns:90px 1fr 100px;padding:12px 11px;gap:8px}.uiOrderRow .uiOrderCell:nth-child(4){display:none}.uiOrderRow .uiOrderCell:nth-child(5){grid-column:3}.uiTable-customer .uiOrderRow .uiOrderCell:nth-child(4){grid-column:3}.uiProductionRow{grid-template-columns:82px 1fr 92px;gap:8px}.uiProductionRow small{display:none}.uiProductionRow .uiStatus{justify-self:end}.uiTableHead{padding:13px 12px}.uiTableHead h3{font-size:16px}.uiOrdersTop .uiTopActions{display:grid;grid-template-columns:1fr 1fr}.uiOrdersTop .uiTopActions .uiScanButton{grid-column:1/-1}}

.uiCustomerStatGrid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.uiCustomerHomeGrid{grid-template-columns:1fr!important}.uiCustomerHomeGrid .uiPanel{width:100%}@media(max-width:760px){.uiCustomerStatGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* Staff consolidated workspace: four status ribbons and one section work list. */
.uiStaffStatGrid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.uiStaffOrdersPanel{margin-top:16px}
.uiStaffOrdersHead{margin:-1px -1px 0;border-radius:15px 15px 0 0;border-bottom:1px solid #183b61}
.uiStaffOrdersHead h2{margin:3px 0 0;font-size:19px}
.uiStaffOrderTools{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:9px;align-items:center;padding:12px 0}
.uiStaffOrderList{display:grid;gap:10px}
@media(max-width:760px){.uiStaffStatGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.uiStaffOrderTools{grid-template-columns:1fr}.uiStaffOrderTools .secondary{width:100%}}


/* v233 — iPhone/Safari 26 first-paint safety.
   WebKit has a regression with large fixed filter:blur() elements that can stall
   initial rendering. Keep the same radial-gradient glow, but do not ask iOS to
   rasterize the large blurred layers or backdrop-filter during first paint. */
@supports (-webkit-touch-callout: none) {
  #gfAmbient i,
  #gfAmbient i:nth-child(1),
  #gfAmbient i:nth-child(2),
  #gfAmbient i:nth-child(3),
  #gfAmbient i:nth-child(4),
  #gfAmbient i:nth-child(5),
  #gfAmbient i:nth-child(6) {
    filter:none !important;
    -webkit-filter:none !important;
    mix-blend-mode:normal !important;
    -webkit-mix-blend-mode:normal !important;
    will-change:auto !important;
    animation:none !important;
  }
  #bootSplash .bootCard,
  .glass,
  .orderCard,
  .metricCard,
  .metrics button,
  .field {
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
}


/* v245 iOS structural login mount: direct child of body, independent of #app. */
.gfLoginDirect{position:absolute!important;inset:0!important;z-index:2147483000!important;display:flex!important;visibility:visible!important;opacity:1!important;isolation:isolate!important;background:#030711!important}
.gfLoginDirect .auth{visibility:visible!important;opacity:1!important;display:block!important}


/* v246 — restore the v186 login rendering structure for iPhone compatibility.
   No fixed-position login layer and no separate body stacking context. */
.gfLoginCompat{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto;position:relative;z-index:2;visibility:visible!important;opacity:1!important;background:transparent!important}
.gfLoginCompat .auth{width:min(420px,100%);max-width:420px;margin:0!important;background:linear-gradient(145deg,#0b1d35,#071326)!important;border:1px solid #1b4168!important;border-radius:22px!important;padding:30px!important;box-shadow:0 25px 70px #000b!important;text-align:center;visibility:visible!important;opacity:1!important;display:block!important}
.gfLoginCompat .gfLoginLogo{font-size:28px;font-weight:900}.gfLoginCompat .gfLoginLogo span{color:#25d8ff}.gfLoginCompat .gfLoginSub{color:#8fa9c9;font-size:13px;margin:8px 0 25px}.gfLoginCompat .auth h2{display:none}.gfLoginCompat .auth .field{width:100%;padding:13px 14px;margin:6px 0;background:#07172b!important;border:1px solid #214466!important;border-radius:10px!important}.gfLoginCompat .auth label{margin:13px 0 7px;color:#8fa9c9}.gfLoginCompat .primary{width:100%;padding:13px;margin-top:12px;border:0;border-radius:10px;background:linear-gradient(135deg,#126ed1,#19b7ef)!important;color:#fff!important;font-weight:800}.gfLoginCompat .biometricPrimary{width:100%;padding:12px;margin-top:9px;border:1px solid #25618e!important;border-radius:10px;background:#0b233e!important;color:#79d4ff!important;font-weight:700}.gfLoginCompat .loginDivider{color:#8fa9c9;margin:18px 0 12px}.gfLoginCompat .scheduleNote{background:#17283a;color:#ffc98d}.gfLoginCompat .remember{justify-content:flex-start;text-align:left;font-size:12px}.gfLoginCompat .error{color:#ff9299}.gfLoginCompat .secondary{width:100%}
@media(max-width:480px){.gfLoginCompat{padding:14px}.gfLoginCompat .auth{padding:24px!important;border-radius:20px!important}}

/* v248 — requested UX fixes, layered on top of v247 iPhone-safe base. */
.orderMain .customerOrderLine{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  line-height:1.35 !important;
  max-width:100% !important;
}
.orderCard .orderMain{min-width:0;flex:1 1 auto}
.orderCard .orderBadges{flex:0 0 auto;max-width:30%}
.staffHomeCustomerBar{margin:0 0 16px}
@media(max-width:650px){
  .orderCard .orderBadges{max-width:38%}
  .orderMain .customerOrderLine{font-size:11px !important;line-height:1.4 !important}
}

/* v249 — give Customer Order Number its own wide, wrapping column. */
.uiOrderHeader,.uiOrderRow{
  grid-template-columns:105px minmax(180px,1.35fr) minmax(220px,1.8fr) 120px minmax(150px,1.1fr) 120px !important;
}
.uiTable-customer .uiOrderHeader,.uiTable-customer .uiOrderRow{
  grid-template-columns:105px minmax(180px,1.4fr) minmax(220px,1.8fr) 120px 120px !important;
}
.uiCustomerOrderCell{
  min-width:0;
}
.uiCustomerOrderCell b{
  display:block;
  font-size:11px;
  font-weight:700;
  color:#dcecff;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  line-height:1.4;
}
.uiCustomerOrderCell small{
  display:block;
  margin-top:4px;
  color:#86a4c7;
  font-size:10px;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
@media(max-width:950px){
  .uiOrderHeader,.uiOrderRow{
    grid-template-columns:90px 1.2fr minmax(150px,1.5fr) 105px 1fr 100px !important;
  }
  .uiTable-customer .uiOrderHeader,.uiTable-customer .uiOrderRow{
    grid-template-columns:90px 1.2fr minmax(150px,1.5fr) 105px 100px !important;
  }
}
@media(max-width:650px){
  .uiOrderHeader{display:none}
  .uiOrderRow,.uiTable-customer .uiOrderRow{
    grid-template-columns:82px minmax(110px,1fr) minmax(130px,1.25fr) !important;
    gap:8px;
    padding:12px 10px;
  }
  .uiOrderRow .uiOrderCell:nth-child(4),
  .uiOrderRow .uiOrderCell:nth-child(5),
  .uiTable-customer .uiOrderRow .uiOrderCell:nth-child(4),
  .uiTable-customer .uiOrderRow .uiOrderCell:nth-child(5){
    display:none;
  }
  .uiOrderRow .uiCustomerOrderCell:nth-child(3),
  .uiTable-customer .uiOrderRow .uiCustomerOrderCell:nth-child(3){
    display:block;
  }
}


/* GlassFlow Service Orders module merged from v2; kept separate from iPhone-safe core styles. */
.servicePage{max-width:1180px!important;margin:0 auto!important;padding:18px 20px 90px!important}.serviceHero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px;border-radius:16px;margin-bottom:14px}.serviceHero h2{margin:4px 0 6px}.serviceHero p{margin:0;color:var(--gf-ui-muted)}.serviceTools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.serviceTabs{display:flex;gap:8px;overflow:auto;margin:12px 0}.serviceTab{border:1px solid var(--gf-ui-line);background:var(--gf-ui-card);padding:9px 13px;border-radius:999px;font-weight:700;white-space:nowrap}.serviceTab.active{background:var(--gf-ui-blue);color:#fff;border-color:var(--gf-ui-blue)}.serviceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.serviceCard{width:100%;text-align:left;padding:16px;border:1px solid var(--gf-ui-line);border-radius:14px;background:var(--gf-ui-card);color:inherit;cursor:pointer;box-shadow:0 6px 20px rgba(20,40,70,.05)}.serviceCardTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.serviceCard h3{margin:0 0 4px}.serviceMeta{display:flex;gap:8px;flex-wrap:wrap;color:var(--gf-ui-muted);font-size:12px}.serviceRoute{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:13px}.serviceRoute span{padding:6px 9px;border-radius:999px;background:var(--gf-ui-soft);font-size:11px;font-weight:700}.serviceRoute span.current{background:var(--gf-ui-blue);color:#fff}.serviceRoute span.done{background:#dff5e8;color:#17683a}.serviceBadge{padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800}.serviceBadge.ready{background:#dff5e8;color:#17683a}.serviceBadge.progress{background:#e4efff;color:#1759a6}.serviceBadge.issue{background:#ffe7e7;color:#a11}.serviceDetail{max-width:1180px!important;margin:0 auto!important;padding:18px 20px 90px}
.serviceUnifiedPanel{margin-top:12px;border:1px solid var(--gf-ui-line);border-radius:18px;background:var(--gf-ui-card);box-shadow:0 12px 38px rgba(0,0,0,.16);overflow:hidden}.serviceUnifiedHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 22px;background:linear-gradient(135deg,rgba(82,200,255,.12),rgba(97,226,211,.07));border-bottom:1px solid var(--gf-ui-line)}.serviceUnifiedHeader h2{margin:4px 0 5px}.serviceUnifiedHeader p{margin:0;color:var(--gf-ui-muted)}.serviceUnifiedStatus{padding:10px 12px;border:1px solid var(--gf-ui-line);border-radius:11px;background:rgba(255,255,255,.035);font-size:12px;line-height:1.7}.serviceUnifiedPanel>.serviceIssueBar,.serviceUnifiedPanel>.serviceBulkPanel,.serviceUnifiedPanel>.serviceReport,.serviceUnifiedPanel>.serviceWorkflowPanel,.serviceUnifiedPanel>.serviceResultPanel{margin-left:16px;margin-right:16px}.serviceUnifiedPanel>.serviceIssueBar{margin-top:16px}.serviceUnifiedPanel>.serviceBulkPanel{margin-top:10px}.serviceUnifiedPanel>.serviceReport{margin-top:10px}.serviceUnifiedPanel>.serviceWorkflowPanel,.serviceUnifiedPanel>.serviceResultPanel{margin-bottom:16px}.serviceUnifiedPanel .serviceReport{box-shadow:none}.serviceUnifiedPanel .serviceWorkflowPanel,.serviceUnifiedPanel .serviceResultPanel{box-shadow:none;background:rgba(255,255,255,.018)}
.serviceReport{background:var(--gf-ui-card);color:var(--gf-ui-text);border:1px solid var(--gf-ui-line);border-radius:14px;overflow:hidden;box-shadow:0 10px 35px rgba(0,0,0,.18)}.serviceReportHeader{padding:20px;border-bottom:1px solid var(--gf-ui-line);display:flex;justify-content:space-between;gap:20px;background:linear-gradient(135deg,rgba(82,200,255,.10),rgba(97,226,211,.05))}.serviceReportTitle h2{margin:0 0 5px}.serviceReportTitle p{margin:0;color:var(--gf-ui-muted)}.serviceReportTable{width:100%;border-collapse:collapse}.serviceReportTable th,.serviceReportTable td{padding:9px 10px;border:1px solid var(--gf-ui-line);text-align:left;vertical-align:top}.serviceReportTable th{background:var(--gf-ui-soft);font-weight:800}.serviceReportRemarks{padding:14px;border-top:1px solid var(--gf-ui-line)}.servicePrintBtn{margin-top:12px}.serviceIssueBar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:12px 0;padding:12px 14px;border:1px solid var(--gf-ui-line);border-radius:12px;background:rgba(255,173,92,.07)}.serviceIssueBar b{font-size:13px}.serviceIssueCount{color:var(--gf-ui-muted);font-size:12px}.serviceBulkPanel{margin:12px 0;padding:14px;border:1px solid var(--gf-ui-line);border-radius:14px;background:var(--gf-ui-card);box-shadow:0 8px 28px rgba(0,0,0,.14)}.serviceBulkGrid{display:grid;grid-template-columns:minmax(180px,260px) 1fr auto;gap:9px;align-items:end}.serviceBulkPanel select,.serviceBulkPanel textarea{width:100%;background:rgba(4,13,21,.65);color:var(--gf-ui-text);border:1px solid var(--gf-ui-line);border-radius:9px;padding:10px}.serviceBulkPanel textarea{min-height:42px;resize:vertical}.servicePieceRow{display:grid;grid-template-columns:34px 70px 1fr auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--gf-ui-line);border-radius:10px;background:rgba(255,255,255,.025)}.servicePieceRow.selected{border-color:var(--gf-ui-blue);background:rgba(82,200,255,.08)}.servicePieceList{display:grid;gap:7px;margin-top:10px}.serviceIssueTag{font-size:11px;padding:5px 8px;border-radius:999px;background:rgba(255,111,120,.14);color:#ff9da3}.serviceCheck{width:18px;height:18px;accent-color:var(--gf-ui-blue)}.serviceActionRow{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.serviceReportIssue{background:rgba(255,111,120,.10)!important;border-color:rgba(255,111,120,.3)!important;color:#ff9da3!important}.serviceIssueCell{color:#ffb0b5;font-weight:700}@media(max-width:800px){.serviceUnifiedHeader{flex-direction:column;padding:16px}.serviceUnifiedPanel>.serviceIssueBar,.serviceUnifiedPanel>.serviceBulkPanel,.serviceUnifiedPanel>.serviceReport,.serviceUnifiedPanel>.serviceWorkflowPanel,.serviceUnifiedPanel>.serviceResultPanel{margin-left:10px;margin-right:10px}.servicePage,.serviceDetail{padding:12px 10px 82px!important}.serviceHero{padding:15px;flex-direction:column}.serviceGrid{grid-template-columns:1fr}.serviceReportHeader{flex-direction:column}.serviceReportTable{font-size:11px}.serviceReportTable th,.serviceReportTable td{padding:7px 6px}.serviceTools{width:100%}}@media print{body{background:#fff!important;color:#111!important}.topbar,.gfNav,.serviceTools,.serviceTabs,.servicePrintBtn,.backBtn{display:none!important}.serviceDetail{padding:0!important;max-width:none!important}.serviceUnifiedPanel{border:0;border-radius:0;background:#fff!important;color:#111!important;box-shadow:none}.serviceUnifiedHeader{background:#fff!important}.serviceReport{border:0;border-radius:0;background:#fff!important;color:#111!important;box-shadow:none}.serviceReportHeader{background:#fff!important;border-bottom:2px solid #222}.serviceReportTitle p{color:#555!important}.serviceReportTable th,.serviceReportTable td{border:1px solid #cfd5dc!important;color:#111!important}.serviceReportTable th{background:#eee!important}.serviceReportRemarks{border-top:2px solid #222}.serviceBulkPanel,.serviceIssueBar{display:none!important}}


.serviceReadOnly{opacity:.62}.serviceReadOnly input{cursor:not-allowed}

.servicePdfBtn{min-width:150px}.servicePdfBtn:disabled{opacity:.7;cursor:wait}
@media(max-width:640px){.serviceTools{width:100%;display:flex;gap:8px;flex-wrap:wrap}.serviceTools .uiScanButton,.serviceTools .servicePdfBtn{width:100%}}


/* v254 — dedicated Service workflow/result surfaces. No Production UI is reused here. */
.serviceWorkflowPanel,.serviceResultPanel{margin:12px 0;padding:16px;border:1px solid var(--gf-ui-line);border-radius:14px;background:var(--gf-ui-card);box-shadow:0 8px 28px rgba(0,0,0,.14)}
.serviceWorkflowHead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.serviceWorkflowHead h3{margin:3px 0 5px;font-size:18px}.serviceWorkflowHead p{margin:0;color:var(--gf-ui-muted);font-size:12px}.serviceWorkflowList{display:grid;gap:9px;margin-top:14px}.serviceWorkflowRow{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(190px,1.4fr) minmax(210px,1fr);gap:12px;align-items:center;padding:12px;border:1px solid var(--gf-ui-line);border-radius:12px;background:rgba(255,255,255,.025)}.serviceWorkflowMain{display:grid;gap:3px}.serviceWorkflowMain b{font-size:11px;color:var(--gf-ui-muted);text-transform:uppercase;letter-spacing:.08em}.serviceWorkflowMain strong{font-size:13px}.serviceWorkflowMain span{font-size:11px;color:var(--gf-ui-muted)}.serviceWorkflowPath{display:flex;gap:5px;align-items:center;flex-wrap:wrap;font-size:10px}.serviceWorkflowPath span{padding:6px 8px;border-radius:999px;background:var(--gf-ui-soft);font-weight:800}.serviceWorkflowPath span.current{background:var(--gf-ui-blue);color:#fff}.serviceWorkflowPath span.done{background:#dff5e8;color:#17683a}.serviceWorkflowResult{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px}.serviceResultReady{color:#61e2b0}.serviceResultIssue{color:#ff9da3}.serviceResultBadge{padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900}.serviceResultBadge.ready{background:#dff5e8;color:#17683a}.serviceResultBadge.progress{background:#e4efff;color:#1759a6}.serviceResultBadge.issue{background:#ffe7e7;color:#a11}.serviceResultSummary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}.serviceResultSummary>div{padding:11px;border:1px solid var(--gf-ui-line);border-radius:10px;background:rgba(255,255,255,.025)}.serviceResultSummary small{display:block;color:var(--gf-ui-muted);font-size:10px;margin-bottom:4px}.serviceResultSummary b{font-size:13px}.serviceResultRemarks{margin-top:10px;padding:11px;border-top:1px solid var(--gf-ui-line);font-size:12px}.serviceReadOnly .serviceWorkflowResult button{opacity:.55}@media(max-width:800px){.serviceWorkflowRow{grid-template-columns:1fr}.serviceWorkflowResult{justify-content:flex-start}.serviceResultSummary{grid-template-columns:1fr}.serviceWorkflowPath{line-height:1.6}}

/* v256 Service editing controls */
.serviceQtyBtn{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer;padding:2px 6px;border-radius:8px}.serviceQtyBtn:not(:disabled):hover{background:rgba(255,255,255,.10)}.serviceQtyBtn:disabled{opacity:.65;cursor:not-allowed}
.serviceEditBadge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:800;letter-spacing:.04em;padding:3px 7px;border-radius:999px;margin-inline-start:6px;vertical-align:middle}.serviceEditBadge.edited{background:rgba(255,196,80,.18);color:#ffd36a;border:1px solid rgba(255,196,80,.35)}.serviceEditBadge.added{background:rgba(73,220,151,.16);color:#72efb0;border:1px solid rgba(73,220,151,.35)}.serviceEditDetails{font-size:11px;line-height:1.5;margin-top:6px;padding:6px 8px;border-radius:8px;background:rgba(255,196,80,.08);border-inline-start:3px solid rgba(255,196,80,.65);color:var(--gf-ui-muted)}.serviceQtyBtn{border:0;border-radius:7px;padding:3px 7px;background:rgba(255,255,255,.08);color:inherit;cursor:pointer;font:inherit}.serviceQtyBtn:hover{background:rgba(255,255,255,.15)}.serviceQtyBtn:disabled{opacity:.45;cursor:not-allowed}.serviceEditedRow{box-shadow:inset 3px 0 0 rgba(255,196,80,.65)}.serviceAddedRow{box-shadow:inset 3px 0 0 rgba(73,220,151,.65)}
/* ===== Service v258 visual hierarchy ===== */
.servicePage .serviceHero{padding:26px 28px;border:1px solid rgba(88,205,255,.28);box-shadow:0 16px 48px rgba(0,0,0,.22)}
.servicePage .serviceHero h2{font-size:28px;letter-spacing:-.02em}
.servicePage .serviceKpis{display:grid!important;grid-template-columns:repeat(6,minmax(110px,1fr));gap:10px;margin:14px 0}
.servicePage .serviceKpis button{min-height:82px!important;padding:14px 12px!important;border-radius:15px!important;border:1px solid var(--gf-ui-line)!important;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018))!important;transition:.18s transform,.18s border-color,.18s background}
.servicePage .serviceKpis button:hover{transform:translateY(-2px);border-color:rgba(82,200,255,.55)!important;background:rgba(82,200,255,.09)!important}
.servicePage .serviceKpis b{display:block;font-size:25px;margin-bottom:5px}
.servicePage .serviceKpis span{font-size:11px;color:var(--gf-ui-muted);font-weight:800}
.servicePage .serviceTabs{padding:4px;background:rgba(255,255,255,.025);border-radius:14px}
.servicePage .serviceTab{padding:11px 16px}
.serviceDetail{max-width:1280px!important}
.serviceIssueEditor{border:1px solid rgba(82,200,255,.30)!important;background:linear-gradient(145deg,rgba(16,42,65,.88),rgba(7,17,29,.94))!important;box-shadow:0 16px 45px rgba(0,0,0,.22)!important}
.serviceLineEditorList{display:grid;gap:9px;margin-top:14px}
.serviceEditRow{padding:13px 14px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.035);transition:.18s border-color,.18s background,.18s transform}
.serviceEditRow:hover{border-color:rgba(82,200,255,.32);background:rgba(82,200,255,.055)}
.serviceEditRow.isEdited{border-color:rgba(255,202,82,.48);background:linear-gradient(90deg,rgba(255,202,82,.10),rgba(255,255,255,.025));box-shadow:inset 4px 0 rgba(255,202,82,.85)}
.serviceEditIdentity{display:grid;grid-template-columns:22px 42px minmax(180px,1fr) auto;gap:10px;align-items:center}
.serviceLineNo{font-size:13px;font-weight:900;color:var(--gf-ui-muted)}
.serviceEditIdentity strong{display:block;font-size:14px;color:var(--gf-ui-text)}
.serviceEditIdentity small{display:block;margin-top:3px;color:var(--gf-ui-muted);font-size:11px}
.serviceEditControls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding-left:74px}
.serviceQtyControl{display:inline-flex;align-items:center;gap:8px;padding:4px 7px;border-radius:10px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.08)}
.serviceQtyControl b{min-width:24px;text-align:center;font-size:14px}
.serviceQtyControl span{font-size:10px;color:var(--gf-ui-muted);font-weight:800}
.serviceRoundBtn{width:30px;height:30px;border:0;border-radius:8px;background:rgba(82,200,255,.14);color:#dff7ff;font-size:20px;line-height:1;cursor:pointer}
.serviceRoundBtn:hover{background:rgba(82,200,255,.28)}
.serviceEditBtn{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.065);color:var(--gf-ui-text);border-radius:9px;padding:8px 11px;font-weight:800;cursor:pointer}
.serviceEditBtn:hover{border-color:rgba(82,200,255,.5);background:rgba(82,200,255,.10)}
.serviceEditBtn.saveRow{background:linear-gradient(90deg,rgba(255,166,128,.25),rgba(70,221,201,.22));border-color:rgba(90,220,205,.35)}
.serviceSpecialNote{flex:1 1 260px;min-height:38px;padding:9px 11px;border-radius:9px;border:1px solid rgba(255,255,255,.12);background:rgba(2,10,18,.65);color:var(--gf-ui-text);font:inherit;outline:none}
.serviceSpecialNote:focus{border-color:rgba(82,200,255,.65);box-shadow:0 0 0 3px rgba(82,200,255,.09)}
.serviceSpecialNote::placeholder{color:#91a2b5}
.serviceSpecialNote.dirty{border-color:rgba(255,202,82,.55)}
.serviceInlineIssue{margin-top:9px;padding:8px 10px;border-radius:9px;background:rgba(255,102,112,.09);color:#ffb0b5;font-size:11px;font-weight:800}
.serviceIssueDivider{height:1px;background:var(--gf-ui-line);margin:18px 0}
.serviceIssueEditorBox{padding:12px;border-radius:12px;background:rgba(255,255,255,.025)}
.serviceEditDetails{font-size:11px;line-height:1.55;margin-top:9px;padding:8px 10px;border-radius:9px;background:rgba(255,202,82,.08);border-inline-start:3px solid rgba(255,202,82,.72);color:#b8c4d2}
.serviceEditBadge{font-size:10px!important;font-weight:900!important;padding:4px 8px!important}
.serviceEditBadge.edited{background:rgba(255,202,82,.18)!important;color:#ffd76a!important;border-color:rgba(255,202,82,.48)!important}
.serviceEditBadge.added{background:rgba(70,221,170,.18)!important;color:#75f1bd!important;border-color:rgba(70,221,170,.48)!important}
.serviceWorkflowPanel{border-color:rgba(82,200,255,.20)!important}
.serviceWorkflowRow{padding:15px!important;background:rgba(255,255,255,.032)!important}
.serviceWorkflowRow .serviceEditBadge{margin-top:4px}
.serviceWorkflowPath span.current{box-shadow:0 0 0 2px rgba(82,200,255,.15),0 5px 18px rgba(82,200,255,.12)}
.serviceWorkflowResult .primary{min-width:112px}
.serviceDeliveryPanel{border-color:rgba(82,200,255,.24)!important}
.serviceResultPanel{border-color:rgba(70,221,170,.22)!important}
.serviceReport{margin-top:16px!important}
.serviceReportHeader{padding:24px!important}
.serviceReportTable th{font-size:12px!important;letter-spacing:.03em}
.serviceReportTable td{font-size:12px!important}
.serviceEditedRow{box-shadow:inset 4px 0 rgba(255,202,82,.85)!important;background:rgba(255,202,82,.055)}
.serviceAddedRow{box-shadow:inset 4px 0 rgba(70,221,170,.85)!important;background:rgba(70,221,170,.045)}
@media(max-width:900px){.servicePage .serviceKpis{grid-template-columns:repeat(3,minmax(90px,1fr))!important}.serviceEditIdentity{grid-template-columns:22px 38px minmax(0,1fr);}.serviceEditIdentity .serviceEditBadge{grid-column:3}.serviceEditControls{padding-left:0}}
@media(max-width:560px){.servicePage .serviceKpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.serviceEditControls{align-items:stretch}.serviceSpecialNote{flex-basis:100%}.serviceEditBtn{flex:1}.serviceRoundBtn{width:34px;height:34px}.serviceEditIdentity strong{font-size:13px}}
/* v261 unified Service detail + partial-ready states */
.serviceBadge.partialReady{background:#fff1cf;color:#8a5a00}
.serviceActionBar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:14px 16px 10px;padding:14px 16px;border:1px solid rgba(82,200,255,.24);border-radius:14px;background:linear-gradient(135deg,rgba(82,200,255,.08),rgba(255,202,82,.06))}.serviceActionBar>div{display:grid;gap:3px}.serviceActionBar>div b{font-size:13px}.serviceActionBar>div span{font-size:11px;color:var(--gf-ui-muted)}.serviceActionBar button{min-width:150px}.serviceReportStatusPills{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.serviceReportStatusPills span{padding:6px 9px;border-radius:999px;background:rgba(82,200,255,.10);border:1px solid rgba(82,200,255,.20);font-size:10px;font-weight:900}.serviceReportStatusPills .partial{background:rgba(255,202,82,.13);border-color:rgba(255,202,82,.35);color:#ffd76a}.serviceReportStatusPills .issue{background:rgba(255,102,112,.11);border-color:rgba(255,102,112,.28);color:#ffb0b5}.serviceTableRoute{display:flex;gap:4px;align-items:center;flex-wrap:wrap;line-height:1.5}.serviceTableRoute span{padding:4px 6px;border-radius:999px;background:var(--gf-ui-soft);font-size:9px;font-weight:800;white-space:nowrap}.serviceTableRoute span.current{background:var(--gf-ui-blue);color:#fff}.serviceTableRoute span.done{background:#dff5e8;color:#17683a}.serviceTableDescription{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.serviceTableResult{display:grid;gap:6px;min-width:150px}.serviceTableResult .serviceCurrentStep{font-size:10px;color:var(--gf-ui-muted)}.serviceTableResult button{width:max-content}.serviceUnifiedPanel>.serviceIssueBar{margin-bottom:8px}.serviceUnifiedPanel>.serviceBulkPanel{margin-top:8px}.serviceUnifiedPanel>.serviceReport{margin-top:10px;margin-bottom:16px}.serviceReportTable th,.serviceReportTable td{vertical-align:middle}.serviceReportTable td:first-child{white-space:nowrap}.pill.purple{background:rgba(180,125,255,.16)!important;color:#d6b6ff!important;border-color:rgba(180,125,255,.35)!important}
@media(max-width:800px){.serviceActionBar{margin:10px;padding:12px;align-items:stretch;flex-direction:column}.serviceActionBar button{width:100%}.serviceReportStatusPills{justify-content:flex-start}.serviceTableResult{min-width:0}.serviceTableRoute span{font-size:8px}}
/* v262 Service unified editor */
.serviceSizeCell{min-width:150px!important;text-align:center!important;vertical-align:middle!important}
.serviceSizeCell strong{display:inline-block;font-size:20px!important;line-height:1.15;font-weight:950!important;letter-spacing:.02em;color:#ffd45a!important;background:rgba(255,212,90,.12);border:2px solid rgba(255,212,90,.38);border-radius:10px;padding:7px 10px;box-shadow:0 0 18px rgba(255,212,90,.10)}
.serviceInlineIssueSummary{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(255,111,120,.25);border-radius:10px;background:rgba(255,111,120,.08);color:#ffb0b5;font-size:12px;font-weight:800;white-space:nowrap}
.serviceInlineIssueSummary b{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:rgba(255,111,120,.18);color:#ffd0d3}
.serviceInlineIssueEditor{padding:14px 16px;border-top:1px solid var(--gf-ui-line);background:linear-gradient(135deg,rgba(82,200,255,.045),rgba(255,202,82,.045))}
.serviceInlineIssueTitle{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;font-size:12px}
.serviceInlineIssueTitle span{color:var(--gf-ui-muted);font-size:11px}
.serviceInlineIssueGrid{display:grid;grid-template-columns:auto minmax(160px,240px) 1fr auto;gap:8px;align-items:center}
.serviceInlineIssueGrid select,.serviceInlineIssueGrid input{min-width:0;width:100%;background:rgba(4,13,21,.65);color:var(--gf-ui-text);border:1px solid var(--gf-ui-line);border-radius:9px;padding:9px 10px}
.serviceUndoBtn{margin-top:7px!important;border-color:rgba(255,202,82,.35)!important;color:#ffd76a!important;background:rgba(255,202,82,.08)!important}
.serviceReportTable td:first-child .serviceCheck{margin-right:7px;vertical-align:middle}
@media(max-width:800px){.serviceSizeCell{min-width:115px!important}.serviceSizeCell strong{font-size:16px!important;padding:6px 7px}.serviceInlineIssueGrid{grid-template-columns:1fr}.serviceInlineIssueGrid button,.serviceInlineIssueGrid select,.serviceInlineIssueGrid input{width:100%}}

/* ===== v267 polish: Service KPI color + customer order sheet + edit direction ===== */
.servicePage .serviceKpis button{position:relative;overflow:hidden;color:#f6fbff!important;box-shadow:0 10px 28px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.10)!important}
.servicePage .serviceKpis .kpiTotal{background:linear-gradient(135deg,rgba(38,129,255,.30),rgba(38,129,255,.08))!important;border-color:rgba(38,150,255,.42)!important}
.servicePage .serviceKpis .kpiProgress{background:linear-gradient(135deg,rgba(31,205,183,.28),rgba(31,205,183,.07))!important;border-color:rgba(31,205,183,.42)!important}
.servicePage .serviceKpis .kpiProblems{background:linear-gradient(135deg,rgba(255,82,105,.30),rgba(255,82,105,.07))!important;border-color:rgba(255,82,105,.45)!important}
.servicePage .serviceKpis .kpiReady{background:linear-gradient(135deg,rgba(36,216,143,.30),rgba(36,216,143,.07))!important;border-color:rgba(36,216,143,.45)!important}
.servicePage .serviceKpis .kpiPartial{background:linear-gradient(135deg,rgba(255,194,62,.32),rgba(255,194,62,.07))!important;border-color:rgba(255,194,62,.48)!important}
.servicePage .serviceKpis .kpiDelivery{background:linear-gradient(135deg,rgba(179,112,255,.30),rgba(179,112,255,.07))!important;border-color:rgba(179,112,255,.45)!important}
.servicePage .serviceKpis .kpiToday{background:linear-gradient(135deg,rgba(255,139,67,.30),rgba(255,139,67,.07))!important;border-color:rgba(255,139,67,.45)!important}
.servicePage .serviceKpis b{font-size:29px!important}.servicePage .serviceKpis span{font-size:12px!important;color:#eaf6ff!important}
.editFlowPair{display:inline-flex;align-items:center;gap:.35em;white-space:nowrap;direction:ltr!important}.editFlowArrow{display:inline-block;font-size:1.08em;font-weight:950;color:#d39b27;direction:ltr!important}.serviceCurrentStepStrong{font-weight:900;color:#8bdcff}
.customerOrderSheet{margin:16px 0 20px;border:1px solid rgba(82,200,255,.24);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));overflow:hidden;box-shadow:0 14px 36px rgba(0,0,0,.16)}
.customerOrderSheetTitle{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;border-bottom:2px solid rgba(82,200,255,.24);background:linear-gradient(135deg,rgba(82,200,255,.12),rgba(255,202,82,.06))}.customerOrderSheetTitle h3{margin:3px 0 0;font-size:21px}.customerOrderSheetTitle>span{font-weight:900;color:#bfefff}
.customerOrderTable{width:100%;overflow-x:auto}.customerOrderTableHead,.customerOrderTableRow{display:grid;grid-template-columns:58px minmax(220px,2.2fr) 90px minmax(150px,1fr) minmax(130px,.8fr);min-width:700px;align-items:center}.customerOrderTableHead{background:#091522;color:#b9d0df;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid rgba(255,255,255,.10)}.customerOrderTableHead span,.customerOrderTableRow>span{padding:13px 14px;border-inline-end:1px solid rgba(255,255,255,.07)}.customerOrderTableHead span:last-child,.customerOrderTableRow>span:last-child{border-inline-end:0}
.customerOrderTableRow{min-height:58px;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.018);font-size:13px}.customerOrderTableRow:nth-child(even){background:rgba(82,200,255,.025)}.customerOrderTableRow:hover{background:rgba(82,200,255,.08)}.customerLineNo{font-weight:950;color:#8fdcff;text-align:center}.customerLineDesc{font-weight:700}.customerLineQty{font-weight:900;text-align:center}.customerLineSize{font-weight:950;font-size:15px;color:#ffd45a;white-space:nowrap}.customerLineStatus{font-weight:800;color:#a9f0d0}
@media(max-width:800px){.customerOrderTableHead,.customerOrderTableRow{grid-template-columns:42px minmax(180px,2fr) 64px 120px 110px;min-width:560px}.customerOrderTableHead span,.customerOrderTableRow>span{padding:11px 9px}.customerOrderSheetTitle{padding:14px}.customerOrderSheetTitle h3{font-size:18px}.customerLineSize{font-size:13px}}

/* v273 service-order alignment */
.uiServiceReviewCard{min-width:0}
.uiPanelHead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.uiPanelHead h2{margin:0}
.uiServiceReviewStats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.uiServiceReviewStat{border:1px solid var(--border2);border-radius:14px;background:rgba(255,255,255,.045);color:var(--text);padding:12px 8px;text-align:center;cursor:pointer}
.uiServiceReviewStat b{display:block;font-size:22px}
.uiServiceReviewStat small{display:block;margin-top:3px;color:var(--muted);font-size:10px}
.uiServiceReviewStat.purple{border-color:rgba(170,120,255,.32)}
.uiServiceReviewStat.blue{border-color:rgba(82,170,255,.32)}
.uiServiceReviewStat.green{border-color:rgba(80,220,150,.32)}
.uiServiceReviewList{margin-top:6px}
.serviceGrid .serviceCard{position:relative;overflow:hidden;text-align:left;border-radius:16px;border:1px solid var(--border2);background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025));box-shadow:0 10px 28px rgba(0,0,0,.18);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.serviceGrid .serviceCard:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.24)}
.serviceGrid .serviceCard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--service-accent,#52c8ff)}
.serviceGrid .serviceCard .serviceRoute span.current{font-weight:850}
@media(max-width:900px){.uiServiceReviewStats{grid-template-columns:repeat(3,minmax(82px,1fr))}.uiServiceReviewStat{padding:10px 6px}.uiServiceReviewStat b{font-size:19px}}

/* v275: Service Orders use the same production order-card language and workflow colors. */
.serviceGrid .serviceCard.orderCard{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border-radius:17px;background:var(--section-card-bg,var(--panel)) !important;border:1px solid var(--section-card-border,var(--line)) !important;color:var(--text);box-shadow:0 8px 30px rgba(0,0,0,.18);text-align:left;overflow:hidden;}
.serviceGrid .serviceCard.orderCard:hover{background:var(--section-card-bg,var(--panel)) !important;border-color:var(--section-card-border,rgba(82,200,255,.5)) !important;transform:none;}
.serviceGrid .serviceCard .orderIcon{flex:0 0 42px;}
.serviceGrid .serviceCard .orderMain{flex:1;min-width:0;}
.serviceGrid .serviceCard .serviceRoute{margin-top:8px;}
.serviceGrid .serviceCard .serviceRoute span{font-size:10px;padding:5px 7px;border-radius:8px;background:rgba(145,190,215,.08);color:var(--muted);}
.serviceGrid .serviceCard .serviceRoute span.current{background:rgba(82,200,255,.16);color:var(--accent);}
.serviceGrid .serviceCard .serviceRoute span.done{color:var(--green);}
.serviceGrid .serviceCard .serviceMeta{margin-top:6px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media(max-width:650px){.serviceGrid .serviceCard.orderCard{padding:11px;border-radius:16px;}.serviceGrid .serviceCard .orderBadges{max-width:45%;}}

.uiServiceReviewList{display:grid;gap:10px}.uiServiceReviewList .serviceCard{margin:0}.uiServiceReviewList .serviceCard .serviceMeta{display:none}.uiServiceReviewList .serviceCard .route{display:none}.uiServiceReviewList .serviceCard .orderBadges{max-width:38%}

/* v277: Home has separate Production + Service review cards, and Production
   uses the same workflow-colored order cards as the main order workspace. */
.uiProductionReviewCard{min-width:0}
.uiProductionReviewList{display:grid;gap:10px;margin-top:6px}
.uiProductionReviewList .orderCard{margin:0}
.uiProductionReviewList .orderCard .nowStage{display:block}
.uiProductionOrderCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:10px}
.uiProductionOrderCards .orderCard{margin:0;width:100%}
@media(max-width:850px){.uiProductionOrderCards{grid-template-columns:1fr}}
/* v277: separate Production and Service review cards + workflow-colored production cards */
.uiProductionReviewCard{min-width:0}
.uiProductionReviewList{display:grid;gap:10px;margin-top:6px}
.uiProductionReviewList .orderCard{margin:0}
.uiProductionOrderCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:10px}
.uiProductionOrderCards .orderCard{margin:0;width:100%}
@media(max-width:850px){.uiProductionOrderCards{grid-template-columns:1fr}}
/* v293 UI reorganization: unified status-card order and denser workspace layouts */
.uiStatGrid.specialStatusGrid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 18px}
.uiStatGrid.specialStatusGrid .uiStat{min-width:0!important;width:100%;}
.metrics.uiStatGrid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;overflow:visible;padding:0 0 18px!important}
.metrics.uiStatGrid .uiStat{min-width:0!important;width:100%;}
/* Requested order: In production → Urgent → Ready → Problems → Delivered */
.metrics .uiStat:nth-child(1), .uiStatGrid .uiStat:nth-child(1){border-top-color:#278dff!important}
.metrics .uiStat:nth-child(2), .uiStatGrid .uiStat:nth-child(2){border-top-color:#ffab3d!important}
.metrics .uiStat:nth-child(3), .uiStatGrid .uiStat:nth-child(3){border-top-color:#20d991!important}
.metrics .uiStat:nth-child(4), .uiStatGrid .uiStat:nth-child(4){border-top-color:#ff5067!important}
.metrics .uiStat:nth-child(5), .uiStatGrid .uiStat:nth-child(5){border-top-color:#4db6da!important}
.uiProductionOrderCards{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
.uiCustomerSlider{gap:8px;padding-bottom:10px}
.uiCustomerCard{min-width:165px;padding:11px 12px;border-radius:12px}
.uiCustomerCard strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.uiCustomerCard small{margin-top:4px}
.uiCustomerIcon{margin-bottom:4px}
.uiOrdersPage .uiOrderToolbar{margin-bottom:8px}
.uiOrdersPage .uiCustomerControls{margin-top:2px}
.uiOrdersPage .uiOrderTableHost{margin-top:2px}
@media(max-width:1250px){.uiProductionOrderCards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.uiStatGrid.specialStatusGrid,.metrics.uiStatGrid{grid-template-columns:repeat(5,minmax(130px,1fr));overflow-x:auto;padding-bottom:12px!important}}
@media(max-width:800px){.uiProductionOrderCards{grid-template-columns:1fr!important}.uiStatGrid.specialStatusGrid,.metrics.uiStatGrid{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.uiStatGrid.specialStatusGrid .uiStat,.metrics.uiStatGrid .uiStat{min-width:0!important}.uiCustomerCard{min-width:150px}}

/* v293 UI reorganization */
.uiHomeDashboardGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.uiHomeDashboardGrid>.uiPanel{min-width:0}
.uiHomeDashboardGrid .uiSectionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.uiServiceStatusHeader{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:-3px 0 10px;color:var(--muted);font-size:11px}
.uiServiceStatusHeader .secondary{padding:6px 10px}
.uiServiceStatGrid{grid-template-columns:repeat(5,minmax(0,1fr))!important;margin-bottom:18px!important}
.uiServiceHomeList{display:grid;gap:10px}
.uiServiceHomeList .serviceCard{margin:0}
.uiServiceHomePanel .serviceCard .serviceMeta,.uiServiceHomePanel .serviceCard .route{display:none}
.specialSectionBlock{margin-bottom:18px}.specialSectionBlock h3{margin:0 0 9px;font-size:15px;color:#dcecff}
.customerPartialSummary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:13px 15px;border:1px solid rgba(255,171,61,.4);border-left:4px solid #ffab3d;border-radius:14px;background:rgba(255,171,61,.08)}
.customerPartialSummary b{color:#ffc05b}.customerPartialSummary span,.customerPartialSummary small{color:#a9c1d8}.customerPartialSummary small{font-size:11px}
.customerLineState{margin-top:8px}.customerLineStatus{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800}.customerLineStatus.ready{background:rgba(32,217,145,.14);border:1px solid rgba(32,217,145,.28);color:#57e9ae}.customerLineStatus.pending{background:rgba(255,171,61,.13);border:1px solid rgba(255,171,61,.3);color:#ffc05b}
@media(max-width:760px){.uiHomeDashboardGrid{grid-template-columns:1fr}.uiServiceStatGrid{grid-template-columns:repeat(5,minmax(130px,1fr))!important;overflow-x:auto;padding-bottom:8px}.uiServiceStatGrid .uiStat{min-width:130px}}

/* v301 — universal order identity hierarchy */
.orderIdentity{display:block;min-width:0}
.orderEdr{display:block!important;color:#62c9ff!important;font-weight:900!important;font-size:15px!important;letter-spacing:.2px}
.orderCustomerName{display:block!important;color:#7ee7ff!important;font-weight:900!important;font-size:15px!important;margin-top:2px}
.customerOrderLine{display:block!important;color:#c78cff!important;font-weight:800!important;font-size:12px!important;margin-top:4px!important}
.orderMain>.orderEdr+.orderCustomerName{margin-top:2px}
.serviceCard .orderCustomerName{color:#7ee7ff!important}
.serviceCard .orderEdr{color:#62c9ff!important}
.serviceCard .customerOrderLine{color:#c78cff!important}
@media(max-width:650px){
  .orderEdr,.orderCustomerName{font-size:14px!important}
  .customerOrderLine{font-size:11px!important}
}

/* v307 targeted fixes: separate Staff Home workspaces + visible Ready action */
.uiHomeWorkGroup{margin:0 0 18px}
.uiHomeWorkGroup .uiMetricRowLabel{margin:0 0 9px}
.uiProductionHomeGroup{margin-top:2px}
.uiServiceHomeGroup{padding-top:2px}
.cardReadyButton{
  margin-top:7px;
  padding:7px 10px;
  border-radius:10px;
  font:inherit;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.orderCard .cardReadyButton{align-self:flex-end}
.orderCard .orderBadges .cardReadyButton{width:auto}
@media(max-width:650px){
  .cardReadyButton{padding:7px 8px;font-size:10px}
  .uiServiceStatGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
/* v313 service/production ready controls and compact line lists */
.cardReadyButton:disabled,.serviceCardReadyButton:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.5)}
.serviceCardReadyButton{margin-top:6px;white-space:nowrap}
.serviceLineList{display:grid;gap:8px;padding:12px}
.serviceLineRow{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--gf-ui-line);border-radius:10px;background:rgba(255,255,255,.025)}
.serviceLineRow:hover{background:rgba(82,200,255,.05);border-color:rgba(82,200,255,.28)}
.serviceLineRow.hasIssue{border-color:rgba(255,111,120,.38)}
.serviceLineRow.isReady{border-color:rgba(70,210,140,.3)}
.serviceLineNo{font-weight:800;color:var(--gf-ui-muted);font-variant-numeric:tabular-nums}
.serviceLineInfo{min-width:0;display:flex;flex-direction:column;gap:3px}.serviceLineInfo>b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.serviceLineInfo small{color:var(--gf-ui-muted)}
.serviceLineInfo em{font-size:11px;color:#ff9da3;font-style:normal}.serviceLineRoute{display:flex;gap:4px;flex-wrap:wrap;margin-top:3px}.serviceLineRoute span{font-size:10px;padding:3px 6px;border-radius:999px;background:var(--gf-ui-soft);font-weight:700}.serviceLineRoute span.current{background:var(--gf-ui-blue);color:#fff}.serviceLineRoute span.done{background:#dff5e8;color:#17683a}
.servicePieceQty,.serviceIssuePieces{display:flex;align-items:center;gap:4px}.servicePieceQty button,.serviceIssuePieces button{width:25px;height:25px;border:1px solid var(--gf-ui-line);border-radius:6px;background:var(--gf-ui-soft);color:var(--gf-ui-text);font-weight:800;cursor:pointer}.servicePieceQty b,.serviceIssuePieces b{min-width:25px;text-align:center;font-size:12px}
.smallReadyButton{border:1px solid rgba(70,210,140,.45);background:rgba(70,210,140,.12);color:#9af0c2;border-radius:7px;padding:6px 9px;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer}.smallReadyButton:hover{background:rgba(70,210,140,.2)}
.lineReadyBadge{font-size:11px;font-weight:800;color:#8ceab8;white-space:nowrap}.serviceLineAction{min-width:92px;text-align:right}
.serviceBulkHeader{display:flex;justify-content:space-between;gap:10px;align-items:center}.serviceIssueDesc{min-width:0;display:flex;flex-direction:column;gap:2px}.serviceIssueDesc small{color:var(--gf-ui-muted)}.serviceIssuePieces{margin-left:auto}
@media(max-width:760px){.serviceLineRow{grid-template-columns:30px minmax(0,1fr) auto;gap:8px}.serviceLineAction{grid-column:2 / -1;text-align:left}.servicePieceQty{grid-column:3;grid-row:1}.serviceLineInfo{grid-column:2;grid-row:1}.serviceLineNo{grid-row:1}.serviceLineRoute{display:none}}
.compactLineRow{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--gf-ui-line);border-radius:9px;background:rgba(255,255,255,.02);margin:6px 0}.compactLineRow.hasIssue{border-color:rgba(255,111,120,.38)}.compactLineRow.isReady{border-color:rgba(70,210,140,.3)}.compactLineNo{font-weight:800;color:var(--gf-ui-muted);font-variant-numeric:tabular-nums}.compactLineInfo{min-width:0;display:flex;flex-direction:column;gap:3px}.compactLineInfo>b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compactLineInfo small{color:var(--gf-ui-muted)}.compactLineInfo em{font-size:11px;color:#ff9da3;font-style:normal}.compactLineAction{min-width:90px;text-align:right}.compactLineRoute{display:flex;gap:4px;flex-wrap:wrap}.compactLineRoute span{font-size:10px;padding:2px 6px;border-radius:999px;background:var(--gf-ui-soft);font-weight:700}.compactLineRoute span.current{position:relative;z-index:1;background:var(--route-color,var(--gf-ui-blue))!important;color:#07111c!important;border:1px solid rgba(255,255,255,.72);font-weight:950!important;transform:scale(1.08);box-shadow:0 0 0 2px color-mix(in srgb,var(--route-color,#52c8ff) 28%,transparent),0 2px 12px color-mix(in srgb,var(--route-color,#52c8ff) 55%,transparent);text-shadow:0 1px 0 rgba(255,255,255,.16)}.compactLineRoute span.done{background:#dff5e8;color:#17683a}.smallLineButton{font-size:10px!important;padding:5px 8px!important}.lineCard{margin:0!important}
@media(max-width:650px){.compactLineRow{grid-template-columns:30px minmax(0,1fr);gap:8px}.compactLineAction{grid-column:2;text-align:left}.compactLineInfo{grid-column:2}}

/* v314: explicit line columns + staff-only edit/issue controls */
.compactLineRow{grid-template-columns:42px minmax(240px,1fr) minmax(120px,170px) 72px minmax(170px,auto);}
.compactLineSize,.compactLinePieces{font-size:12px;color:var(--gf-ui-text);font-variant-numeric:tabular-nums;white-space:nowrap}
.compactLinePieces small,.serviceLinePieces small{font-size:9px;color:var(--gf-ui-muted);font-weight:700}
.lineColumnHeader{display:grid;grid-template-columns:42px minmax(240px,1fr) minmax(120px,170px) 72px minmax(170px,auto);gap:12px;padding:6px 12px;color:var(--gf-ui-muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.lineActionStack{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.smallIssueButton,.smallUndoButton{font-size:10px!important;padding:5px 8px!important;border:1px solid rgba(255,111,120,.32)!important;border-radius:7px!important;background:rgba(255,111,120,.08)!important;color:#ffb0b5!important;cursor:pointer}
.smallUndoButton{border-color:rgba(255,202,82,.35)!important;background:rgba(255,202,82,.08)!important;color:#ffd76a!important}
.serviceLineRow{grid-template-columns:42px minmax(220px,1fr) minmax(120px,160px) 78px minmax(120px,auto)}
.serviceLineSize,.serviceLinePieces{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.serviceLineColumnHeader{display:grid;grid-template-columns:42px minmax(220px,1fr) minmax(120px,160px) 78px minmax(120px,auto);gap:12px;padding:6px 12px;color:var(--gf-ui-muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.serviceLinePieces{text-align:center}
.serviceBulkPanel .servicePieceRow:has(.serviceCheck:disabled){opacity:.55}
.serviceIssueUndo{margin-left:auto;font-size:10px!important;padding:4px 7px!important}
@media(max-width:900px){.compactLineRow,.lineColumnHeader{grid-template-columns:34px minmax(150px,1fr) 95px 55px minmax(130px,auto);gap:7px}.serviceLineRow,.serviceLineColumnHeader{grid-template-columns:32px minmax(150px,1fr) 95px 58px minmax(110px,auto);gap:7px}}
@media(max-width:650px){.lineColumnHeader,.serviceLineColumnHeader{display:none}.compactLineRow{grid-template-columns:30px minmax(0,1fr);gap:8px}.compactLineSize,.compactLinePieces{grid-column:2;display:inline-block;margin-right:10px}.compactLineAction{grid-column:2;text-align:left}.serviceLineRow{grid-template-columns:30px minmax(0,1fr) 62px}.serviceLineSize{grid-column:2}.serviceLinePieces{grid-column:3;grid-row:1}.serviceLineAction{grid-column:2 / -1;text-align:left}.serviceLineInfo{grid-column:2;grid-row:1}}
@media print{
  .serviceLineAction,.servicePieceQty,.compactLineAction,.lineActionStack,.lineColumnHeader,.serviceLineColumnHeader{display:none!important}
  .serviceLineRow{grid-template-columns:42px minmax(0,1fr) 140px 70px!important}
  .compactLineRow{grid-template-columns:42px minmax(0,1fr) 140px 70px!important}
}
/* v316 controlled fixes: Production and Service home status cards share identical dimensions. */
.uiHomeWorkGroup .uiStaffStatGrid,
.uiHomeWorkGroup .uiServiceStatGrid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important}
.uiHomeWorkGroup .uiStaffStatGrid .uiStat,
.uiHomeWorkGroup .uiServiceStatGrid .uiStat{width:100%!important;min-width:0!important;min-height:112px!important;height:112px!important;box-sizing:border-box!important}
@media(max-width:1100px){
  .uiHomeWorkGroup .uiStaffStatGrid,
  .uiHomeWorkGroup .uiServiceStatGrid{grid-template-columns:repeat(5,minmax(130px,1fr))!important;overflow-x:auto;padding-bottom:8px}
  .uiHomeWorkGroup .uiStaffStatGrid .uiStat,
  .uiHomeWorkGroup .uiServiceStatGrid .uiStat{min-width:130px!important}
}
@media(max-width:650px){
  .uiHomeWorkGroup .uiStaffStatGrid,
  .uiHomeWorkGroup .uiServiceStatGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible}
  .uiHomeWorkGroup .uiStaffStatGrid .uiStat,
  .uiHomeWorkGroup .uiServiceStatGrid .uiStat{min-width:0!important;height:92px!important;min-height:92px!important}
}

/* v319 — glass production/service line rows: EDR numbering + strong visual separation */
.lineColumnHeader,.compactLineRow{
  display:grid!important;
  grid-template-columns:58px minmax(260px,1fr) 150px 90px minmax(170px,auto)!important;
  gap:0!important;align-items:stretch!important;
}
.lineColumnHeader{margin-top:10px;border:1px solid rgba(82,200,255,.28);border-radius:14px 14px 0 0;overflow:hidden;background:linear-gradient(135deg,rgba(82,200,255,.16),rgba(97,226,211,.08));color:#dff4ff;font-weight:900}
.lineColumnHeader>span{padding:11px 12px;border-right:1px solid rgba(82,200,255,.16);font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.compactLineRow.glassLineRow{margin:0;border:1px solid rgba(120,190,225,.18)!important;border-top:0!important;background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(82,200,255,.035))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 5px 18px rgba(0,0,0,.10);border-radius:0!important;min-height:64px;position:relative;overflow:hidden}
.compactLineRow.glassLineRow:nth-of-type(even){background:linear-gradient(135deg,rgba(82,200,255,.08),rgba(255,255,255,.025))!important}
.compactLineRow.glassLineRow:last-of-type{border-radius:0 0 14px 14px!important}
.compactLineRow.glassLineRow>div{padding:11px 12px;border-right:1px solid rgba(120,190,225,.13);display:flex;align-items:center}
.compactLineRow.glassLineRow .compactLineNo{justify-content:center;font-size:14px;font-weight:950;color:#9ee5ff;background:rgba(82,200,255,.07);font-variant-numeric:tabular-nums}
.compactLineRow.glassLineRow .compactLineInfo{display:block;padding-top:9px;padding-bottom:9px}
.compactLineRow.glassLineRow .compactLineSize,.compactLineRow.glassLineRow .compactLinePieces{justify-content:center;font-weight:800}
.compactLineRow.glassLineRow .compactLineAction{justify-content:center}
.compactLineRow.glassLineRow.hasIssue{border-left:4px solid #ff727d!important;background:linear-gradient(135deg,rgba(255,95,105,.12),rgba(255,255,255,.025))!important}
.compactLineRow.glassLineRow.isReady{border-left:4px solid #55df9a!important}
.serviceReportTable .serviceGlassRow:nth-child(even){background:rgba(82,200,255,.045)}
.serviceReportTable .serviceGlassRow td:first-child{font-weight:950;color:#9ee5ff;background:rgba(82,200,255,.06);font-variant-numeric:tabular-nums}
.serviceReportTable .serviceGlassRow:hover{background:rgba(82,200,255,.09)}
.uiProductionStatusCards .uiStat{transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.uiProductionStatusCards .uiStat:hover{transform:translateY(-2px);filter:saturate(1.12);box-shadow:0 10px 28px rgba(0,0,0,.18)}
@media(max-width:800px){.lineColumnHeader,.compactLineRow{grid-template-columns:44px minmax(150px,1fr) 105px 65px minmax(120px,auto)!important}.lineColumnHeader>span,.compactLineRow.glassLineRow>div{padding:8px 7px}.lineColumnHeader{font-size:9px}.compactLineRow.glassLineRow{font-size:11px}}

/* v320 — stronger glass table rows/columns and highly readable dimensions */
.lineColumnHeader,.compactLineRow{grid-template-columns:64px minmax(260px,1fr) 190px 110px minmax(175px,auto)!important}
.lineColumnHeader{border:2px solid rgba(82,200,255,.48)!important;background:linear-gradient(135deg,rgba(45,92,125,.42),rgba(16,34,55,.82))!important;box-shadow:0 8px 24px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.10)}
.lineColumnHeader>span{border-right:2px solid rgba(120,210,245,.28)!important;color:#f1fbff!important;padding:13px 12px!important;font-size:12px!important}
.compactLineRow.glassLineRow{border-left:2px solid rgba(120,200,235,.34)!important;border-right:2px solid rgba(120,200,235,.34)!important;border-bottom:2px solid rgba(120,200,235,.26)!important;min-height:76px!important;background:linear-gradient(100deg,rgba(7,12,20,.94),rgba(17,28,42,.96))!important}
.compactLineRow.glassLineRow:nth-of-type(even){background:linear-gradient(100deg,rgba(18,49,78,.92),rgba(22,38,56,.96))!important}
.compactLineRow.glassLineRow>div{border-right:2px solid rgba(120,200,235,.24)!important;padding:13px 14px!important}
.compactLineRow.glassLineRow .compactLineNo{font-size:17px!important;color:#d8f7ff!important;background:rgba(82,200,255,.14)!important}
.compactLineRow.glassLineRow .compactLineSize{font-size:18px!important;font-weight:950!important;color:#ffffff!important;letter-spacing:.02em;white-space:nowrap;background:rgba(82,200,255,.08)}
.compactLineRow.glassLineRow .compactLinePieces{font-size:18px!important;font-weight:950!important;color:#ffffff!important}
.compactLineRow.glassLineRow .compactLinePieces small{font-size:10px!important;color:#9edbf2!important;margin-left:4px}
.serviceReportTable{border:2px solid rgba(82,200,255,.38)!important;border-radius:14px;overflow:hidden}
.serviceReportTable th{border:2px solid rgba(120,200,235,.32)!important;background:linear-gradient(135deg,rgba(45,92,125,.42),rgba(16,34,55,.82))!important;color:#f1fbff!important;font-size:12px!important;padding:13px 12px!important}
.serviceReportTable td{border:2px solid rgba(120,200,235,.22)!important;padding:13px 12px!important}
.serviceReportTable .serviceGlassRow:nth-child(odd){background:linear-gradient(100deg,rgba(7,12,20,.94),rgba(17,28,42,.96))!important}
.serviceReportTable .serviceGlassRow:nth-child(even){background:linear-gradient(100deg,rgba(18,49,78,.92),rgba(22,38,56,.96))!important}
.serviceReportTable .serviceGlassRow td:nth-child(3){font-size:18px!important;font-weight:950!important;color:#fff!important;white-space:nowrap;background:rgba(82,200,255,.08)!important}
.serviceReportTable .serviceGlassRow td:nth-child(4){font-size:18px!important;font-weight:950!important;color:#fff!important}
.serviceReportTable .serviceGlassRow td:first-child{border-right:2px solid rgba(120,200,235,.3)!important}
.servicePieceQty{display:inline-flex!important;align-items:center!important;gap:9px!important;padding:3px!important;border:1px solid rgba(120,200,235,.35)!important;border-radius:10px!important;background:rgba(4,12,20,.55)!important}
.servicePieceQty button{width:34px!important;height:34px!important;border-radius:8px!important;font-size:20px!important;font-weight:950!important;border:1px solid rgba(120,200,235,.32)!important;cursor:pointer}
.servicePieceQty .piecePlus{background:rgba(72,220,151,.16)!important;color:#77efb0!important}
.servicePieceQty .pieceMinus{background:rgba(255,100,110,.16)!important;color:#ff9da3!important}
.servicePieceQty b{min-width:30px;text-align:center;font-size:16px;color:#fff}
@media(max-width:800px){.lineColumnHeader,.compactLineRow{grid-template-columns:46px minmax(145px,1fr) 125px 68px minmax(120px,auto)!important}.compactLineRow.glassLineRow .compactLineSize,.compactLineRow.glassLineRow .compactLinePieces{font-size:14px!important}.serviceReportTable .serviceGlassRow td:nth-child(3),.serviceReportTable .serviceGlassRow td:nth-child(4){font-size:15px!important}}

/* v321 — service orders use the same glass-table language as production orders. */
.serviceReportTable{table-layout:fixed!important;background:rgba(3,10,18,.72)!important}
.serviceReportTable th:nth-child(1){width:70px!important}
.serviceReportTable th:nth-child(2){width:auto!important}
.serviceReportTable th:nth-child(3){width:210px!important}
.serviceReportTable th:nth-child(4){width:105px!important}
.serviceReportTable th:nth-child(5){width:190px!important}
.serviceReportTable .serviceGlassRow td{border-right:2px solid rgba(120,200,235,.28)!important;border-bottom:2px solid rgba(120,200,235,.26)!important}
.serviceReportTable .serviceGlassRow:nth-child(odd) td{background:linear-gradient(100deg,rgba(5,12,20,.97),rgba(17,29,43,.97))!important}
.serviceReportTable .serviceGlassRow:nth-child(even) td{background:linear-gradient(100deg,rgba(20,58,91,.95),rgba(24,43,63,.97))!important}
.serviceReportTable .serviceGlassRow td:first-child{font-size:17px!important;font-weight:950!important;color:#d8f7ff!important;background:rgba(82,200,255,.15)!important;text-align:center!important}
.serviceReportTable .serviceGlassRow td:nth-child(3){font-size:20px!important;font-weight:950!important;letter-spacing:.025em!important;color:#fff!important;text-align:center!important;white-space:nowrap!important;background:rgba(82,200,255,.13)!important;text-shadow:0 1px 8px rgba(82,200,255,.25)!important}
.serviceReportTable .serviceGlassRow td:nth-child(4){font-size:20px!important;font-weight:950!important;color:#fff!important;text-align:center!important}
.serviceReportTable .serviceGlassRow td:nth-child(2){font-size:13px!important}
.serviceReportTable .serviceGlassRow:hover td{background:linear-gradient(100deg,rgba(38,92,132,.95),rgba(28,55,79,.98))!important}
.serviceReportTable .serviceGlassRow .serviceTableRoute{margin-top:7px}
.serviceReportTable .serviceGlassRow .serviceIssueTag{display:inline-block;margin-top:6px}
@media(max-width:800px){
 .serviceReportTable{table-layout:auto!important}
 .serviceReportTable th:nth-child(1){width:48px!important}.serviceReportTable th:nth-child(3){width:120px!important}.serviceReportTable th:nth-child(4){width:68px!important}
 .serviceReportTable .serviceGlassRow td:nth-child(3),.serviceReportTable .serviceGlassRow td:nth-child(4){font-size:16px!important}
}


/* v322 — final visual polish: prevent line text overlap and make the glass table truly readable. */
.compactLineRow.glassLineRow>div{min-width:0!important;overflow:hidden!important}
.compactLineRow.glassLineRow .compactLineInfo{min-width:0!important;overflow:hidden!important}
.compactLineRow.glassLineRow .compactLineInfo>b{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;line-height:1.25!important}
.compactLineRow.glassLineRow .compactLineRoute{min-width:0!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;display:block!important;line-height:1.2!important}
.compactLineRow.glassLineRow .compactLineSize{min-width:190px!important;font-size:21px!important;font-weight:950!important;letter-spacing:.025em!important;white-space:nowrap!important;justify-content:center!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#ffffff!important;background:linear-gradient(135deg,rgba(82,200,255,.18),rgba(82,200,255,.07))!important;text-shadow:0 1px 10px rgba(82,200,255,.28)!important}
.compactLineRow.glassLineRow .compactLinePieces{min-width:110px!important;font-size:20px!important;font-weight:950!important;white-space:nowrap!important;justify-content:center!important;color:#ffffff!important}
.compactLineRow.glassLineRow .compactLineNo{min-width:64px!important}
.lineColumnHeader>span{min-width:0!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important}

/* Recent Activity cards: equal height, subtle different glass shades. */
.uiActivityList{grid-auto-rows:minmax(66px,66px)!important}
.uiActivity{min-height:66px!important;height:66px!important;box-sizing:border-box!important;border-left-width:4px!important;background:linear-gradient(145deg,rgba(13,33,57,.82),rgba(7,21,40,.88))!important}
.uiActivity:nth-child(4n+1){border-left-color:rgba(82,200,255,.72)!important;background:linear-gradient(145deg,rgba(20,55,82,.48),rgba(7,21,40,.88))!important}
.uiActivity:nth-child(4n+2){border-left-color:rgba(97,226,211,.68)!important;background:linear-gradient(145deg,rgba(22,64,65,.42),rgba(7,21,40,.88))!important}
.uiActivity:nth-child(4n+3){border-left-color:rgba(145,122,235,.62)!important;background:linear-gradient(145deg,rgba(50,42,78,.40),rgba(7,21,40,.88))!important}
.uiActivity:nth-child(4n+4){border-left-color:rgba(255,173,92,.62)!important;background:linear-gradient(145deg,rgba(76,54,35,.38),rgba(7,21,40,.88))!important}
.uiActivity span,.uiActivity b,.uiActivity small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uiActivity:hover{filter:saturate(1.08)!important}

/* Office is read-only: never expose service issue controls. */
@media print{
  .serviceReport{width:100%!important;max-width:none!important}
}

/* v323 — final report identity, staff audit history, equal activity/status cards. */
.serviceReportTitle h2{font-size:28px!important;font-weight:950!important;line-height:1.12!important;color:#f5fbff!important;margin:0 0 6px!important;text-shadow:0 2px 18px rgba(82,200,255,.16)!important}
.serviceReportTitle p{font-size:12px!important;color:#8fb0cc!important;margin:0 0 9px!important}
.serviceReportIdentity{font-size:12px!important;color:#cfeeff!important;padding:7px 10px;border-radius:9px;background:rgba(82,200,255,.08);border:1px solid rgba(82,200,255,.20);display:inline-block}
.serviceReportIdentity b{color:#fff!important}
.serviceReportAudit{margin-top:16px;padding:15px;border:1px solid rgba(120,200,235,.28);border-radius:13px;background:linear-gradient(135deg,rgba(15,38,60,.72),rgba(5,15,26,.86))}
.serviceReportAuditTitle{font-size:14px;font-weight:950;color:#eaf8ff;margin-bottom:10px}
.serviceReportAuditList{display:grid;gap:8px}
.serviceReportAuditRow{display:grid;grid-template-columns:170px 220px minmax(0,1fr);gap:12px;padding:10px 11px;border:1px solid rgba(120,200,235,.18);border-radius:9px;background:rgba(3,12,20,.58);font-size:11px;min-width:0}
.serviceReportAuditRow>div{min-width:0;overflow-wrap:anywhere}
.serviceReportAuditRow b{display:block;color:#fff;font-size:11px}
.serviceReportAuditRow small{display:block;color:#8eabc4;margin-top:3px}
.serviceReportAuditRow>div:last-child{color:#c9e1ef;line-height:1.45}
.uiActivityList{grid-template-columns:1fr!important;width:100%!important}
.uiActivity{width:100%!important;min-width:0!important;max-width:none!important}
.uiStatGrid.specialStatusGrid{width:100%!important;grid-template-columns:repeat(5,minmax(170px,1fr))!important;align-items:stretch!important}
.uiStatGrid.specialStatusGrid .uiStat{width:100%!important;min-width:0!important;min-height:108px!important;height:108px!important;box-sizing:border-box!important}
.uiStatGrid.specialStatusGrid .uiStat .n{font-size:27px!important;line-height:1.1!important;white-space:nowrap!important}
.uiStatGrid.specialStatusGrid .uiStat .l{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
@media(max-width:1250px){.uiStatGrid.specialStatusGrid{grid-template-columns:repeat(5,minmax(160px,1fr))!important;overflow-x:auto!important}.uiStatGrid.specialStatusGrid .uiStat{min-width:160px!important}}
@media(max-width:800px){.uiStatGrid.specialStatusGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important}.uiStatGrid.specialStatusGrid .uiStat{min-width:0!important;height:92px!important;min-height:92px!important}.serviceReportAuditRow{grid-template-columns:1fr}}

.serviceReportCustomerOrder{margin-top:8px;font-size:15px;font-weight:800;letter-spacing:.1px}.serviceReportCustomerOrder b{font-weight:900}
/* v328 — equal Recent Activity panel widths and readable print output. */
.uiHomeDashboardGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:16px!important;align-items:stretch!important}
.uiHomeDashboardGrid>.uiPanel{width:100%!important;min-width:0!important;box-sizing:border-box!important}
@media(max-width:760px){.uiHomeDashboardGrid{grid-template-columns:1fr!important}}
@media print{
  html,body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .serviceReport,.serviceReport *{opacity:1!important}
  .serviceReportTable .serviceGlassRow:nth-child(odd) td,.serviceReportTable .serviceGlassRow:nth-child(even) td{color:#111!important;background:#fff!important}
  .serviceReportTable th{color:#111!important;background:#eee!important}
  .serviceReportTitle h2,.serviceReportTitle p,.serviceReportIdentity,.serviceReportCustomerOrder,.serviceReportHeader{color:#111!important}
}

/* v329 — force Home Recent Activity panels to be equal-width, with Service Sections spanning above them. */
.uiHomeDashboardGrid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:16px!important;align-items:stretch!important}
.uiHomeDashboardGrid>.uiServiceHomePanel{grid-column:1 / -1!important;grid-row:1!important;width:100%!important;min-width:0!important}
.uiHomeDashboardGrid>.uiPanel:nth-child(1){grid-column:1!important;grid-row:2!important;width:100%!important;min-width:0!important}
.uiHomeDashboardGrid>.uiPanel:nth-child(3){grid-column:2!important;grid-row:2!important;width:100%!important;min-width:0!important}
@media(max-width:760px){
  .uiHomeDashboardGrid{grid-template-columns:1fr!important;grid-template-rows:auto!important}
  .uiHomeDashboardGrid>.uiServiceHomePanel,.uiHomeDashboardGrid>.uiPanel:nth-child(1),.uiHomeDashboardGrid>.uiPanel:nth-child(3){grid-column:1!important;grid-row:auto!important}
}

/* v330 — Recent Activity panels always side-by-side and equal width; service sections span full row. */
@media(min-width:1101px){.uiHomeDashboardGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}.uiHomeDashboardGrid .uiServiceHomePanel{grid-column:1 / -1!important;grid-row:1!important}.uiHomeDashboardGrid > .uiPanel:not(.uiServiceHomePanel){width:100%!important;min-width:0!important}.uiHomeDashboardGrid > .uiPanel.uiServiceHomePanel + .uiPanel{grid-column:1!important;grid-row:2!important}.uiHomeDashboardGrid > .uiPanel.uiServiceHomePanel ~ .uiPanel{grid-column:2!important;grid-row:2!important}}
@media(max-width:760px){.uiHomeDashboardGrid{grid-template-columns:1fr!important}.uiHomeDashboardGrid .uiServiceHomePanel{grid-column:1!important}}

/* v331 — Recent Activity is side-by-side and equal width on desktop/tablet; stack only on narrow phones. */
@media(min-width:761px){
  .uiHomeDashboardGrid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:16px!important;width:100%!important;align-items:stretch!important}
  .uiHomeDashboardGrid>.uiServiceHomePanel{grid-column:1 / -1!important;grid-row:1!important;width:100%!important}
  .uiHomeDashboardGrid>.uiPanel:nth-child(2){grid-column:1!important;grid-row:2!important;width:100%!important}
  .uiHomeDashboardGrid>.uiPanel:nth-child(3){grid-column:2!important;grid-row:2!important;width:100%!important}
  .uiHomeDashboardGrid>.uiPanel:not(.uiServiceHomePanel){min-width:0!important;box-sizing:border-box!important}
}
@media(max-width:760px){
  .uiHomeDashboardGrid{grid-template-columns:1fr!important;grid-template-rows:auto!important}
}

/* v331 — final Recent Activity placement: always side-by-side and equal width on desktop/tablet. */
@media(min-width:761px){
  .uiHomeDashboardGrid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-auto-flow:row!important;gap:16px!important;width:100%!important}
  .uiHomeDashboardGrid .uiServiceHomePanel{grid-column:1 / -1!important;grid-row:1!important;width:100%!important}
  .uiHomeDashboardGrid .uiRecentProductionPanel{grid-column:1!important;grid-row:2!important;width:100%!important;min-width:0!important;box-sizing:border-box!important}
  .uiHomeDashboardGrid .uiRecentServicePanel{grid-column:2!important;grid-row:2!important;width:100%!important;min-width:0!important;box-sizing:border-box!important}
}
@media(max-width:760px){
  .uiHomeDashboardGrid{grid-template-columns:1fr!important}
  .uiHomeDashboardGrid .uiServiceHomePanel,.uiHomeDashboardGrid .uiRecentProductionPanel,.uiHomeDashboardGrid .uiRecentServicePanel{grid-column:1!important;grid-row:auto!important;width:100%!important}
}

/* v332 — Recent Activity must remain side-by-side on desktop/tablet even when browser zoom makes the CSS viewport narrower. Stack only on actual narrow phones. */
@media(min-width:651px){
  .uiHomeDashboardGrid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:auto auto!important;grid-auto-flow:row!important;gap:16px!important;width:100%!important;align-items:stretch!important}
  .uiHomeDashboardGrid .uiRecentProductionPanel{grid-column:1!important;grid-row:2!important;width:100%!important;min-width:0!important;box-sizing:border-box!important}
  .uiHomeDashboardGrid .uiRecentServicePanel{grid-column:2!important;grid-row:2!important;width:100%!important;min-width:0!important;box-sizing:border-box!important}
  .uiHomeDashboardGrid .uiServiceHomePanel{grid-column:1 / -1!important;grid-row:1!important;width:100%!important;min-width:0!important}
}
@media(max-width:650px){
  .uiHomeDashboardGrid{grid-template-columns:1fr!important;grid-template-rows:auto!important}
  .uiHomeDashboardGrid .uiServiceHomePanel,.uiHomeDashboardGrid .uiRecentProductionPanel,.uiHomeDashboardGrid .uiRecentServicePanel{grid-column:1!important;grid-row:auto!important;width:100%!important}
}


/* v333 — deterministic Recent Activity layout. These dedicated classes intentionally do not
   inherit the legacy uiHomeGrid breakpoint rules that caused the panels to disappear/stack. */
.uiHomeDashboardStack{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important;width:100%!important;min-width:0!important;align-items:stretch!important}
.uiHomeDashboardStack>.uiServiceHomePanel{width:100%!important;min-width:0!important;box-sizing:border-box!important}
.uiRecentActivityPair{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:1fr!important;gap:16px!important;width:100%!important;min-width:0!important;align-items:stretch!important}
.uiRecentActivityPair>.uiPanel{width:100%!important;min-width:0!important;box-sizing:border-box!important}
.uiRecentActivityPair .uiActivityList{width:100%!important;min-width:0!important}
.uiRecentActivityPair .uiActivity{width:100%!important;min-width:0!important}
@media(max-width:650px){.uiRecentActivityPair{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important}}
@media(min-width:651px){
  /* Final fit: the dashboard shell has a fixed left navigation gutter; keep both panels
     inside the actual viewport so the Production panel cannot sit beyond the right edge. */
  .uiRecentActivityPair{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:16px!important;width:calc(100% - 60px)!important;max-width:calc(100% - 60px)!important;
    margin-inline-end:60px!important;box-sizing:border-box!important;overflow:visible!important}
  .uiRecentActivityPair>.uiRecentProductionPanel,.uiRecentActivityPair>.uiRecentServicePanel{
    display:block!important;width:100%!important;min-width:0!important;box-sizing:border-box!important}
}

/* v335 — Recent Activity is always two equal columns on desktop/tablet.
   Flex avoids legacy grid declarations affecting placement. */
@media(min-width:651px){
  .uiRecentActivityPair{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    gap:16px!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    min-width:0!important;
    overflow:visible!important;
    align-items:stretch!important;
  }
  .uiRecentActivityPair > .uiRecentProductionPanel,
  .uiRecentActivityPair > .uiRecentServicePanel{
    flex:1 1 0!important;
    width:0!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
}
@media(max-width:650px){
  .uiRecentActivityPair{display:flex!important;flex-direction:column!important;gap:16px!important;width:100%!important;margin:0!important}
  .uiRecentActivityPair > .uiRecentProductionPanel,
  .uiRecentActivityPair > .uiRecentServicePanel{width:100%!important;min-width:0!important;max-width:none!important}
}

/* v53 — stronger live barcode camera viewport for iPhone Safari / iOS 1-D scanners */
.scanViewport #orderScanReader{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important;background:#02080d}
.scanViewport #orderScanReader video,.scanViewport #orderScanReader canvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.scanViewport #orderScanReader video{transform:translateZ(0)}
.scanViewport .scanFrame{z-index:5}.scanViewport .scanStatus{z-index:6}


/* v338 — mobile proportional layout layer. Desktop/tablet layout and behavior are untouched.
   This is intentionally CSS-only: no workflow, data, login, scanner, card filtering, or
   report logic is changed. On phones the existing components are resized/reflowed for touch,
   while wide screens continue using the v337 proportions. */
html,body{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
@media(max-width:650px){
  body{min-width:0;overflow-x:hidden;padding-bottom:calc(72px + env(safe-area-inset-bottom))!important}
  .wrap{width:100%!important;max-width:100%!important;margin:0!important;padding:12px 12px calc(88px + env(safe-area-inset-bottom))!important}
  .topbar{padding:2px 0 10px!important;margin-bottom:8px!important;align-items:center!important;gap:7px!important}
  .topbar .brand{min-width:0}
  .topbar .brand b{font-size:20px!important;line-height:1.1!important}
  .topbar .brand small{font-size:10px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar .settingsBtn,.topbar .home,.gfMobileMenu{width:42px!important;height:42px!important;flex:0 0 42px!important}
  .langs{gap:2px!important;flex:0 0 auto}
  .langs .lang{padding:7px 7px!important;font-size:10px!important}

  .uiPage,.uiHomePage,.uiOrdersPage,.uiProductionPage{padding:2px 0 18px!important;width:100%!important;min-width:0!important}
  .uiPageTop,.uiOrdersTop{margin-bottom:14px!important;gap:10px!important}
  .uiPageTop h1,.uiOrdersTop h2{font-size:22px!important;line-height:1.18!important}
  .uiPageTop p,.uiOrdersTop p{font-size:11px!important;line-height:1.35!important;margin-top:5px!important}
  .uiTopActions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;width:100%!important}
  .uiTopActions>*{min-width:0!important;width:100%!important}
  .uiTopActions .uiScanButton{grid-column:1/-1!important;min-height:46px!important}
  .uiTopActions .secondary,.uiTopActions .primary,.uiTopActions .danger{min-height:44px!important;margin-top:0!important;padding:9px 10px!important}

  /* Status cards: touch-friendly 2-up layout, matching dimensions within each group. */
  .uiStatGrid,.metrics.uiStatGrid,.uiHomeWorkGroup .uiStaffStatGrid,.uiHomeWorkGroup .uiServiceStatGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;overflow:visible!important;width:100%!important}
  .uiStat,.metricCard,.metrics button,.uiHomeWorkGroup .uiStaffStatGrid .uiStat,.uiHomeWorkGroup .uiServiceStatGrid .uiStat{min-width:0!important;width:100%!important;height:92px!important;min-height:92px!important;padding:12px!important;border-radius:14px!important}
  .uiStatIcon{font-size:14px!important;min-height:16px!important}
  .uiStat .n,.metricCard b,.metrics button b{font-size:23px!important;line-height:1.05!important}
  .uiStat .l,.metricCard small,.metrics button small{font-size:10px!important;line-height:1.2!important;margin-top:5px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .uiMetricRowLabel{font-size:12px!important;margin:0 0 7px!important}

  /* Home sections/cards. */
  .uiHomeDashboardStack{gap:12px!important;width:100%!important}
  .uiServiceHomePanel{width:100%!important}
  .uiHomeWorkGroup{margin-bottom:12px!important}
  .uiHomeDashboardStack .uiServiceHomePanel{grid-column:1!important}
  .uiSectionGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .uiSection{padding:10px!important;min-height:58px!important;border-radius:11px!important}
  .uiSection b{font-size:11px!important;line-height:1.2!important}
  .uiSection small{font-size:9px!important}

  /* Recent Activity stays a side-by-side pair on mobile as a horizontal snap strip,
     with both panels exactly the same readable width. */
  .uiRecentActivityPair{display:flex!important;flex-direction:row!important;gap:10px!important;width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;padding:1px 1px 8px!important;margin:0!important;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important}
  .uiRecentActivityPair::-webkit-scrollbar{display:none}
  .uiRecentActivityPair>.uiRecentProductionPanel,.uiRecentActivityPair>.uiRecentServicePanel{flex:0 0 calc(100% - 8px)!important;width:calc(100% - 8px)!important;max-width:none!important;min-width:calc(100% - 8px)!important;margin:0!important;scroll-snap-align:start!important}
  .uiRecentActivityPair .uiActivityList{gap:8px!important}
  .uiRecentActivityPair .uiActivity{grid-template-columns:54px 74px minmax(0,1fr)!important;gap:7px!important;padding:9px!important;min-height:50px!important}
  .uiRecentActivityPair .uiActivity span{font-size:9px!important}
  .uiRecentActivityPair .uiActivity b{font-size:11px!important}
  .uiRecentActivityPair .uiActivity small{font-size:10px!important}

  /* General activity panels and dashboard panels. */
  .uiPanel{padding:12px!important;border-radius:15px!important}
  .uiPanel h2{font-size:16px!important;margin-bottom:10px!important}
  .uiTableHead{padding:11px 10px!important;gap:8px!important}
  .uiTableHead h3{font-size:15px!important}
  .uiTableHint{font-size:9px!important}

  /* Order cards: preserve all information without desktop-sized dead space. */
  .uiProductionOrderCards,.serviceProductionOrderCards{grid-template-columns:1fr!important;gap:8px!important;padding-top:7px!important}
  .orderCard,.serviceGrid .serviceCard.orderCard{padding:10px!important;border-radius:13px!important;gap:9px!important}
  .orderIcon,.serviceGrid .serviceCard .orderIcon{width:36px!important;height:36px!important;flex-basis:36px!important;border-radius:10px!important;font-size:17px!important}
  .orderMain b,.orderEdr,.orderCustomerName{font-size:13px!important;line-height:1.22!important}
  .orderMain span{font-size:11px!important;line-height:1.25!important}
  .orderMain small{font-size:9px!important;margin-top:4px!important}
  .orderBadges{max-width:42%!important;gap:4px!important}
  .orderBadges .pill,.orderBadges .urgentBadge,.orderBadges .deliveryBadge{font-size:9px!important;padding:5px 7px!important;max-width:100%!important}
  .customerOrderLine{font-size:10px!important}

  /* Orders workspace controls. */
  .uiOrderToolbar{grid-template-columns:1fr!important;gap:8px!important}
  .uiSearch{width:100%!important;padding:4px 8px!important}
  .uiSearch input{font-size:16px!important;padding:10px 6px!important} /* prevents iOS zoom */
  .uiFilterGroup{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;width:100%!important}
  .uiFilterBtn{padding:10px 8px!important;font-size:11px!important;width:100%!important}

  /* Main order table: use a horizontally scrollable true table on phones so columns stay columns. */
  .uiOrderTableHost{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .uiTable{min-width:620px!important}
  .uiOrderHeader,.uiOrderRow,.uiTable-customer .uiOrderRow,.uiTable-customer .uiOrderHeader{grid-template-columns:86px minmax(230px,1.5fr) 110px 130px 100px!important;gap:0!important}
  .uiOrderHeader{display:grid!important;font-size:9px!important;padding:10px!important}
  .uiOrderRow{padding:11px 10px!important;font-size:11px!important}
  .uiOrderCell{padding:0 7px!important}
  .uiOrderCell b{font-size:11px!important}
  .uiOrderCell small{font-size:9px!important}

  /* Production/Service line tables: keep the requested rows/columns on phones via horizontal scrolling. */
  .uiProductionWork,.serviceDetail .serviceReport{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .uiProductionWork .uiProductionOrderCards{display:block!important;overflow-x:auto!important}
  .lineColumnHeader,.compactLineRow{grid-template-columns:44px minmax(190px,1fr) 110px 64px 115px!important;min-width:600px!important}
  .lineColumnHeader{font-size:9px!important}
  .lineColumnHeader>span,.compactLineRow.glassLineRow>div{padding:9px 8px!important}
  .compactLineRow.glassLineRow{min-height:68px!important;font-size:11px!important}
  .compactLineRow.glassLineRow .compactLineNo{font-size:14px!important}
  .compactLineRow.glassLineRow .compactLineInfo>b{font-size:11px!important;white-space:normal!important;line-height:1.18!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis}
  .compactLineRow.glassLineRow .compactLineSize{font-size:16px!important;font-weight:950!important;white-space:nowrap!important}
  .compactLineRow.glassLineRow .compactLinePieces{font-size:16px!important}
  .compactLineRow.glassLineRow .compactLinePieces small{font-size:9px!important}
  .compactLineRow.glassLineRow .compactLineAction{min-width:0!important}

  .serviceLineColumnHeader,.serviceLineRow{grid-template-columns:44px minmax(190px,1fr) 110px 64px 115px!important;min-width:600px!important}
  .serviceLineColumnHeader{font-size:9px!important}
  .serviceLineRow{min-height:68px!important}
  .serviceLineRow .serviceLineInfo>b{font-size:11px!important;white-space:normal!important;line-height:1.18!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis}
  .serviceLineRow .serviceLineSize,.serviceLineRow .serviceLinePieces{font-size:16px!important;font-weight:950!important}
  .serviceLineRow .serviceLinePieces small{font-size:9px!important}
  .serviceLineRoute{gap:3px!important}
  .serviceLineRoute span{font-size:8px!important;padding:3px 5px!important}

  /* Service report is readable and touch-scrollable rather than squeezed. */
  .serviceReportTable{min-width:720px!important}
  .serviceReportTable th{font-size:10px!important;padding:10px 8px!important}
  .serviceReportTable td{font-size:10px!important;padding:10px 8px!important}
  .serviceReportTable .serviceGlassRow td:nth-child(3){font-size:16px!important}
  .serviceReportTable .serviceGlassRow td:nth-child(4){font-size:16px!important}
  .serviceReportTitle h2{font-size:22px!important}
  .serviceReportIdentity{font-size:10px!important}
  .serviceReportCustomerOrder{font-size:13px!important}

  /* Service workflow/report controls. */
  .serviceTools{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
  .serviceTools>*{width:100%!important;min-width:0!important}
  .serviceTools .servicePrintBtn{grid-column:1/-1!important}
  .serviceIssueBar{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important;align-items:center!important}
  .serviceBulkPanel{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .serviceBulkPanel>*{min-width:540px}
  .serviceReportAuditRow{grid-template-columns:1fr!important;gap:7px!important}

  /* Customer cards and controls. */
  .uiCustomerSlider,.officeCustomerBar,.staffCustomerBar{padding-bottom:10px!important}
  .uiCustomerCard{min-width:160px!important;padding:11px!important}
  .officeCustomerCard{flex-basis:160px!important}
  .staffCustomerControls,.officeCustomerControls,.uiCustomerControls{justify-content:space-between!important;gap:7px!important;flex-wrap:wrap!important}

  /* Login: same visual language, better phone proportions and no iOS input zoom. */
  .gfLoginPage{padding:12px!important;align-items:flex-start!important;padding-top:calc(12px + env(safe-area-inset-top))!important}
  .gfLoginPage .auth,.gfLoginCompat .auth{width:100%!important;max-width:430px!important;padding:20px!important;margin:0 auto!important;border-radius:18px!important}
  .gfLoginLogo{font-size:25px!important}
  .gfLoginSub{font-size:12px!important;margin-bottom:18px!important}
  .gfLoginPage .auth .field,.gfLoginCompat .auth .field{font-size:16px!important;min-height:48px!important;padding:12px 13px!important}
  .gfLoginPage .primary,.gfLoginCompat .primary{min-height:48px!important;font-size:15px!important;margin-top:10px!important}
  .gfLoginPage .biometricPrimary,.gfLoginCompat .biometricPrimary{min-height:48px!important;font-size:14px!important}
  .gfLoginPage .loginDivider{margin:14px 0 10px!important}
  .gfLoginPage .error{font-size:12px!important;line-height:1.35!important;overflow-wrap:anywhere}

  /* Mobile bottom navigation stays comfortable with the iPhone safe area. */
  .gfNavMobile{height:64px!important;padding:6px 5px calc(6px + env(safe-area-inset-bottom))!important}
  .gfNavMobile button{min-width:0!important}
  .gfNavMobile button span{font-size:17px!important}
  .gfNavMobile button b{font-size:9px!important}
}

@media(max-width:380px){
  .wrap{padding-left:9px!important;padding-right:9px!important}
  .topbar .brand b{font-size:18px!important}
  .langs .lang{padding:6px 5px!important;font-size:9px!important}
  .uiStat,.metricCard,.metrics button{height:86px!important;min-height:86px!important;padding:10px!important}
  .uiStat .n,.metricCard b,.metrics button b{font-size:21px!important}
  .uiFilterGroup{grid-template-columns:1fr 1fr!important}
  .uiActivity{grid-template-columns:50px 68px minmax(0,1fr)!important}
  .serviceTools{grid-template-columns:1fr!important}
}

/* v339 — mobile review fixes from handset screenshots.
   Scope: phones only. Desktop/tablet and Customer business logic remain unchanged. */
@media(max-width:650px){
  /* Reduce dead vertical space between mobile dashboard/status sections. */
  .uiHomePage .uiPageTop{margin-bottom:10px!important}
  .uiHomePage .uiHomeWorkGroup{margin-bottom:8px!important}
  .uiHomePage .uiServiceHomeGroup{padding-top:0!important}
  .uiHomePage .uiRecentActivityPair{margin-top:0!important}
  .uiOrdersPage .uiStatGrid{margin-bottom:10px!important}
  .uiOrdersPage .specialSectionBlock{margin-bottom:10px!important}
  .uiOrdersPage .specialSectionBlock h3{margin:0 0 6px!important}
  .uiOrdersPage .deliveredGroup{gap:7px!important;margin-bottom:10px!important}
  .uiOrdersPage .deliveredGroupTitle{padding:6px 3px 0!important}

  /* Home: show both Recent Activity panels in normal reading order on a phone.
     No horizontal swipe is required to discover the Service panel. */
  .uiRecentActivityPair{display:flex!important;flex-direction:column!important;gap:10px!important;width:100%!important;overflow:visible!important;padding:0!important}
  .uiRecentActivityPair>.uiRecentProductionPanel,
  .uiRecentActivityPair>.uiRecentServicePanel{flex:0 0 auto!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important}
  .uiRecentActivityPair .uiPanel{padding:11px!important}
  .uiRecentActivityPair .uiActivityList{gap:6px!important}
  .uiRecentActivityPair .uiActivity{min-height:52px!important;height:52px!important;padding:8px!important}

  /* Production Order Detail: use a real phone row instead of a squeezed desktop table.
     Line number stays left; Description, Size, PCS and Status/Action are clearly separated. */
  .lineColumnHeader{display:none!important}
  .compactLineRow.glassLineRow{
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr) 92px!important;
    grid-template-rows:auto auto auto!important;
    grid-template-areas:
      "no info info"
      "no size pcs"
      "no action action";
    min-width:0!important;
    width:100%!important;
    min-height:0!important;
    padding:0!important;
    margin:0 0 8px!important;
    overflow:hidden!important;
    border-radius:10px!important;
    align-items:stretch!important;
  }
  .compactLineRow.glassLineRow .compactLineNo{grid-area:no;display:flex!important;align-items:flex-start!important;justify-content:center!important;padding:14px 5px!important;font-size:15px!important}
  .compactLineRow.glassLineRow .compactLineInfo{grid-area:info;padding:11px 10px 8px!important;min-width:0!important;overflow:hidden!important;border-right:1px solid rgba(120,200,235,.22)!important}
  .compactLineRow.glassLineRow .compactLineInfo>b{font-size:11px!important;line-height:1.24!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important;white-space:normal!important;text-overflow:ellipsis!important}
  .compactLineRow.glassLineRow .compactLineRoute{margin-top:6px!important;gap:3px!important;max-height:24px!important;overflow:hidden!important}
  .compactLineRow.glassLineRow .compactLineRoute span{font-size:7px!important;padding:3px 4px!important}
  .compactLineRow.glassLineRow .compactLineSize{grid-area:size;display:flex!important;align-items:center!important;justify-content:center!important;padding:9px 6px!important;font-size:15px!important;font-weight:950!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;border-right:1px solid rgba(120,200,235,.22)!important}
  .compactLineRow.glassLineRow .compactLinePieces{grid-area:pcs;display:flex!important;align-items:center!important;justify-content:center!important;padding:9px 5px!important;font-size:15px!important;font-weight:950!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important}
  .compactLineRow.glassLineRow .compactLinePieces small{font-size:8px!important;margin-left:3px!important}
  .compactLineRow.glassLineRow .compactLineAction{grid-area:action;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:5px!important;padding:7px 9px!important;border-top:1px solid rgba(120,200,235,.22)!important;min-width:0!important;overflow:visible!important}
  .compactLineRow.glassLineRow .compactLineAction button{font-size:9px!important;padding:6px 8px!important;max-width:100%!important}
  .compactLineRow.glassLineRow .compactLineInfo em{font-size:9px!important;display:block!important;margin-top:5px!important;overflow-wrap:anywhere!important}

  /* Service Report: keep all five columns available without forcing page-wide horizontal scroll. */
  .serviceDetail .serviceReport{overflow:visible!important;width:100%!important;max-width:none!important}
  .serviceDetail .serviceReportHeader{padding:15px!important;gap:10px!important}
  .serviceDetail .serviceReportTitle h2{font-size:21px!important;line-height:1.12!important}
  .serviceDetail .serviceReportIdentity{font-size:9px!important;line-height:1.35!important;padding:6px 8px!important}
  .serviceDetail .serviceReportCustomerOrder{font-size:12px!important;line-height:1.25!important}
  .serviceDetail .serviceReportTable{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important;border-collapse:separate!important;border-spacing:0!important;overflow:visible!important}
  .serviceDetail .serviceReportTable thead{display:none!important}
  .serviceDetail .serviceReportTable tbody{display:block!important;width:100%!important}
  .serviceDetail .serviceReportTable .serviceGlassRow{display:grid!important;grid-template-columns:42px minmax(0,1fr) 82px 62px!important;grid-template-areas:"ln desc size pcs" "ln action action action"!important;width:100%!important;min-width:0!important;margin:0!important}
  .serviceDetail .serviceReportTable .serviceGlassRow td{display:block!important;min-width:0!important;width:auto!important;padding:9px 7px!important;overflow-wrap:anywhere!important;word-break:break-word!important}
  .serviceDetail .serviceReportTable .serviceGlassRow td:nth-child(1){grid-area:ln;display:flex!important;align-items:flex-start!important;justify-content:center!important;font-size:15px!important;padding:12px 5px!important}
  .serviceDetail .serviceReportTable .serviceGlassRow td:nth-child(2){grid-area:desc;font-size:10px!important;line-height:1.3!important;overflow:hidden!important}
  .serviceDetail .serviceReportTable .serviceGlassRow td:nth-child(2)>b{display:block!important;line-height:1.25!important}
  .serviceDetail .serviceReportTable .serviceGlassRow td:nth-child(3){grid-area:size;display:flex!important;align-items:center!important;justify-content:center!important;font-size:14px!important;font-weight:950!important;line-height:1.15!important;white-space:normal!important;text-align:center!important}
  .serviceDetail .serviceReportTable .serviceGlassRow td:nth-child(4){grid-area:pcs;display:flex!important;align-items:center!important;justify-content:center!important;font-size:14px!important;font-weight:950!important;line-height:1.15!important;white-space:nowrap!important;text-align:center!important}
  .serviceDetail .serviceReportTable .serviceGlassRow td:nth-child(5){grid-area:action;display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:6px!important;border-top:1px solid rgba(120,200,235,.20)!important;min-height:40px!important;font-size:10px!important}
  .serviceDetail .serviceReportTable .serviceGlassRow td:nth-child(5) button{font-size:9px!important;padding:6px 8px!important}
  .serviceDetail .serviceReportTable .serviceGlassRow .serviceTableRoute{margin-top:5px!important;gap:3px!important;max-height:23px!important;overflow:hidden!important}
  .serviceDetail .serviceReportTable .serviceGlassRow .serviceTableRoute span{font-size:7px!important;padding:3px 4px!important}
  .serviceDetail .serviceReportTable .serviceGlassRow .serviceIssueTag{font-size:8px!important;line-height:1.25!important;display:block!important;overflow-wrap:anywhere!important}
  .serviceDetail .serviceReportRemarks{padding:12px!important;font-size:11px!important}

  /* Compact the large service/production gaps without changing desktop proportions. */
  .uiProductionPage .uiPageTop{margin-bottom:10px!important}
  .uiProductionPage .uiStatGrid{margin-bottom:10px!important}
  .uiProductionPage .uiPanel{margin-top:8px!important}
}

@media(max-width:380px){
  .compactLineRow.glassLineRow{grid-template-columns:45px minmax(0,1fr) 84px!important}
  .serviceDetail .serviceReportTable .serviceGlassRow{grid-template-columns:40px minmax(0,1fr) 74px 58px!important}
  .serviceDetail .serviceReportTable .serviceGlassRow td:nth-child(3),
  .serviceDetail .serviceReportTable .serviceGlassRow td:nth-child(4){font-size:13px!important}
}


/* v340 — Service Report unified editor/polish. Desktop structure is preserved; phones get a true single-table editor. */
.serviceUnifiedDetail .serviceTools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.serviceEditBar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:10px 12px;border:1px solid var(--gf-ui-line);border-radius:12px;background:rgba(255,255,255,.025)}
.serviceEditSummary{display:grid;gap:2px}.serviceEditSummary b{font-size:13px}.serviceEditSummary span{font-size:11px;color:var(--gf-ui-muted)}
.serviceEditActions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.serviceEditActions button{margin:0}
.serviceIssueTools{display:grid;grid-template-columns:minmax(160px,220px) minmax(180px,1fr) auto auto;gap:8px;align-items:center;margin:8px 0 12px;padding:9px 10px;border:1px solid rgba(255,111,120,.22);border-radius:12px;background:rgba(255,111,120,.045)}
.serviceIssueTools select,.serviceIssueTools input{width:100%;min-width:0;background:rgba(4,13,21,.7);color:var(--gf-ui-text);border:1px solid var(--gf-ui-line);border-radius:8px;padding:9px 10px}.serviceSelectedCount{font-size:11px;color:var(--gf-ui-muted);white-space:nowrap}
.serviceUnifiedTable .serviceLineCell{width:64px;text-align:center;white-space:nowrap}.serviceLineNumber{font-weight:950}.serviceInlineCheck{display:block;margin:6px auto 0;width:17px;height:17px}
.serviceUnifiedTable .serviceDescCell{min-width:240px}.serviceUnifiedTable .serviceSizeCell{width:180px;font-weight:950;font-size:16px;white-space:nowrap}.serviceUnifiedTable .servicePcsCell{width:105px;font-weight:950;text-align:center;white-space:nowrap}.serviceUnifiedTable .serviceActionCell{width:150px}
.serviceUnifiedTable .serviceGlassRow:nth-child(odd) td{background:rgba(255,255,255,.018)}.serviceUnifiedTable .serviceGlassRow:nth-child(even) td{background:rgba(82,170,230,.045)}
.serviceUnifiedTable .serviceIssueRow td{box-shadow:inset 0 0 0 1px rgba(255,111,120,.10)}
.serviceEmpty{padding:22px}.serviceUnifiedReport{margin-top:0}
@media(max-width:800px){
  .serviceUnifiedDetail .serviceTools{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;margin-bottom:8px}
  .serviceEditBar{display:grid;grid-template-columns:1fr;gap:8px;margin:8px 0;padding:9px}
  .serviceEditActions{justify-content:stretch}.serviceEditActions button{flex:1;min-width:0}
  .serviceIssueTools{grid-template-columns:1fr 1fr;gap:7px;padding:8px;margin:7px 0 10px}.serviceIssueTools select,.serviceIssueTools input{font-size:11px}.serviceSelectedCount{justify-self:start;align-self:center}.serviceIssueTools .danger{width:100%}
  .serviceUnifiedTable .serviceLineCell{width:40px}.serviceUnifiedTable .serviceDescCell{min-width:0}.serviceUnifiedTable .serviceSizeCell{width:auto;font-size:14px}.serviceUnifiedTable .servicePcsCell{width:auto;font-size:14px}.serviceUnifiedTable .serviceActionCell{width:auto}
  .serviceUnifiedTable .serviceLineCell,.serviceUnifiedTable .serviceDescCell,.serviceUnifiedTable .serviceSizeCell,.serviceUnifiedTable .servicePcsCell,.serviceUnifiedTable .serviceActionCell{padding:8px 6px!important}
  .serviceUnifiedTable .serviceDescCell>b{font-size:10px;line-height:1.28;display:block;overflow-wrap:anywhere}.serviceUnifiedTable .serviceTableRoute{margin-top:4px;max-height:22px;overflow:hidden}.serviceUnifiedTable .serviceTableRoute span{font-size:7px;padding:3px 4px}
  .serviceUnifiedTable .serviceLineNumber{font-size:14px}.serviceInlineCheck{width:16px;height:16px;margin-top:5px}
  .serviceUnifiedTable .serviceGlassRow{grid-template-columns:42px minmax(0,1fr) 86px 58px!important;grid-template-areas:"ln desc size pcs" "ln action action action"!important}
  .serviceUnifiedTable .serviceGlassRow .serviceLineCell{grid-area:ln;display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start}
  .serviceUnifiedTable .serviceGlassRow .serviceDescCell{grid-area:desc}.serviceUnifiedTable .serviceGlassRow .serviceSizeCell{grid-area:size;display:flex!important;align-items:center;justify-content:center;text-align:center;white-space:normal!important;font-size:13px!important;line-height:1.15}.serviceUnifiedTable .serviceGlassRow .servicePcsCell{grid-area:pcs;display:flex!important;align-items:center;justify-content:center;text-align:center}.serviceUnifiedTable .serviceGlassRow .serviceActionCell{grid-area:action;display:flex!important;align-items:center;justify-content:flex-end;min-height:38px;border-top:1px solid rgba(120,200,235,.18)!important}
  .serviceUnifiedTable .servicePieceQty{justify-content:center;gap:5px}.serviceUnifiedTable .servicePieceQty button{width:26px;height:26px}.serviceUnifiedTable .serviceActionCell button{font-size:9px;padding:6px 8px}
}
@media(max-width:380px){.serviceUnifiedTable .serviceGlassRow{grid-template-columns:40px minmax(0,1fr) 76px 55px!important}.serviceUnifiedDetail .serviceTools{grid-template-columns:1fr 1.2fr}.serviceIssueTools{grid-template-columns:1fr}.serviceSelectedCount{justify-self:start}}
@media print{.serviceEditBar,.serviceIssueTools{display:none!important}.serviceUnifiedTable .serviceInlineCheck{display:none!important}}

/* v342 — service staff action hardening + compact mobile controls. */
.serviceUnifiedTable .servicePieceQty{gap:5px!important;padding:2px!important;border-radius:8px!important}
.serviceUnifiedTable .servicePieceQty button{width:28px!important;height:28px!important;font-size:16px!important;border-radius:7px!important}
.serviceUnifiedTable .servicePieceQty b{min-width:24px!important;font-size:13px!important}
.serviceEditFields{display:grid;grid-template-columns:minmax(220px,1fr) 78px 92px 92px auto;gap:6px;align-items:center}
.serviceEditFields input{width:100%;min-width:0;box-sizing:border-box;background:rgba(4,13,21,.72);color:var(--gf-ui-text);border:1px solid var(--gf-ui-line);border-radius:7px;padding:7px 8px;font-size:11px}
.smallSaveButton{border:1px solid rgba(82,200,255,.38);background:rgba(82,200,255,.12);color:#bdefff;border-radius:7px;padding:7px 9px;font-size:10px;font-weight:900;white-space:nowrap;cursor:pointer}
.serviceSizePreview{font-size:12px;color:var(--gf-ui-muted);font-weight:800}
@media(max-width:800px){
  .serviceUnifiedTable .servicePieceQty{gap:3px!important;padding:1px!important}
  .serviceUnifiedTable .servicePieceQty button{width:25px!important;height:25px!important;font-size:15px!important}
  .serviceUnifiedTable .servicePieceQty b{min-width:20px!important;font-size:12px!important}
  .serviceEditFields{grid-template-columns:minmax(0,1fr) 58px 70px 70px;gap:5px}
  .serviceEditFields .smallSaveButton{grid-column:1 / -1;width:100%;padding:7px}
  .serviceEditFields input{font-size:10px;padding:6px}
}
@media(max-width:380px){
  .serviceUnifiedTable .servicePieceQty button{width:23px!important;height:23px!important;font-size:14px!important}
  .serviceEditFields{grid-template-columns:minmax(0,1fr) 54px 64px 64px}
}

/* v343 — compact service +/- controls on desktop and mobile. */
.serviceUnifiedTable .servicePieceQty{gap:3px!important;padding:1px!important}
.serviceUnifiedTable .servicePieceQty button{width:22px!important;height:22px!important;font-size:13px!important;border-radius:6px!important;padding:0!important;line-height:1!important}
.serviceUnifiedTable .servicePieceQty b{min-width:20px!important;font-size:12px!important}
@media(max-width:800px){
  .serviceUnifiedTable .servicePieceQty button{width:21px!important;height:21px!important;font-size:13px!important}
  .serviceUnifiedTable .servicePieceQty b{min-width:19px!important}
}
@media(max-width:380px){
  .serviceUnifiedTable .servicePieceQty button{width:20px!important;height:20px!important;font-size:12px!important}
  .serviceUnifiedTable .servicePieceQty b{min-width:18px!important;font-size:11px!important}
}

/* v345 — final mobile service-editor polish; keep desktop geometry stable. */
.serviceUnifiedTable .servicePieceQty{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;padding:1px!important;min-height:24px!important}
.serviceUnifiedTable .servicePieceQty button{box-sizing:border-box!important;width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;padding:0!important;margin:0!important;line-height:20px!important;font-size:12px!important;border-radius:5px!important}
.serviceUnifiedTable .servicePieceQty b{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:18px!important;width:18px!important;font-size:11px!important;line-height:20px!important}
.serviceUnifiedTable .serviceActionCell{white-space:normal!important}
.smallReadyButton,.smallUndoButton{box-sizing:border-box!important;padding:5px 8px!important;font-size:10px!important;line-height:1.1!important;min-height:26px!important}
.undoReadyButton{border-color:rgba(255,202,82,.35)!important}
@media(max-width:800px){
  .serviceUnifiedDetail{width:100%!important;min-width:0!important;overflow:visible!important}
  .serviceUnifiedDetail .serviceReport{width:100%!important;min-width:0!important;overflow:visible!important}
  .serviceUnifiedDetail .serviceReportHeader{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .serviceUnifiedDetail .serviceTools{position:relative!important;z-index:5!important}
  .serviceUnifiedDetail .serviceEditBar,.serviceUnifiedDetail .serviceIssueTools{width:100%!important;box-sizing:border-box!important;overflow:hidden!important}
  .serviceUnifiedTable .serviceGlassRow{min-height:0!important}
  .serviceUnifiedTable .serviceDescCell{overflow:visible!important}
  .serviceUnifiedTable .serviceDescCell>b{font-size:11px!important;line-height:1.3!important;max-width:100%!important}
  .serviceUnifiedTable .serviceTableRoute{max-width:100%!important;overflow:hidden!important;white-space:nowrap!important}
  .serviceUnifiedTable .serviceEditCell{width:100%!important;min-width:0!important}
  .serviceEditFields{grid-template-columns:minmax(0,1fr) 66px 72px 72px!important;gap:5px!important;width:100%!important;box-sizing:border-box!important}
  .serviceEditFields input{min-width:0!important;width:100%!important;box-sizing:border-box!important;font-size:12px!important;padding:7px 6px!important}
  .serviceEditFields input[aria-label="Description"]{grid-column:1/-1!important}
  .serviceEditFields .smallSaveButton{grid-column:1/-1!important;min-height:32px!important}
  .serviceUnifiedTable .serviceSizeCell{font-size:13px!important;font-weight:900!important}
  .serviceUnifiedTable .servicePcsCell{font-size:13px!important;font-weight:900!important}
  .serviceUnifiedTable .serviceActionCell{justify-content:flex-end!important;flex-wrap:wrap!important;gap:5px!important;padding:7px 6px!important}
  .serviceUnifiedTable .serviceActionCell button{max-width:100%!important}
}
@media(max-width:380px){
  .serviceEditFields{grid-template-columns:minmax(0,1fr) 58px 64px 64px!important}
  .serviceUnifiedTable .servicePieceQty button{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;font-size:11px!important}
  .serviceUnifiedTable .servicePieceQty b{width:17px!important;min-width:17px!important;font-size:10px!important}
}

/* v346 — final staff workspace/editor protection */
@media(max-width:800px){
  .serviceUnifiedTable .serviceEditCell{overflow:visible!important}
  .serviceUnifiedTable .serviceEditFields{width:100%!important;max-width:100%!important;overflow:visible!important}
  .serviceUnifiedTable .serviceEditFields input{min-height:34px!important}
  .serviceUnifiedTable .serviceActionCell{min-height:40px!important}
  .serviceUnifiedTable .serviceActionCell .smallUndoButton,.serviceUnifiedTable .serviceActionCell .smallReadyButton{max-width:calc(100% - 4px)!important}
}

/* v347 mobile edit protection: keep service editing inside the viewport. */
@media(max-width:650px){
  .serviceUnifiedDetail,.serviceUnifiedDetail *{box-sizing:border-box}
  .serviceUnifiedDetail .serviceReportHeader{overflow:hidden}
  .serviceUnifiedDetail .serviceEditBar,.serviceUnifiedDetail .serviceIssueTools{overflow:visible;}
  .serviceUnifiedDetail .serviceEditFields{display:grid!important;grid-template-columns:minmax(0,1fr) 58px 64px 64px!important;gap:5px!important;align-items:stretch!important}
  .serviceUnifiedDetail .serviceEditFields input{min-width:0!important;max-width:100%!important}
  .serviceUnifiedDetail .serviceEditFields input[aria-label="Description"]{grid-column:1/-1!important}
  .serviceUnifiedDetail .serviceEditFields .smallSaveButton{grid-column:1/-1!important;width:100%!important}
  .serviceUnifiedDetail .serviceUnifiedTable{width:100%!important;table-layout:fixed!important}
  .serviceUnifiedDetail .serviceUnifiedTable .serviceDescCell{min-width:0!important;max-width:none!important;overflow:visible!important}
  .serviceUnifiedDetail .serviceUnifiedTable .serviceActionCell{min-width:0!important;max-width:100%!important;overflow:visible!important}
  .serviceUnifiedDetail .serviceUnifiedTable .servicePieceQty{display:inline-flex!important;vertical-align:middle!important}
  .serviceUnifiedDetail .serviceUnifiedTable .servicePieceQty button{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important}
}


/* v348 — requested workspace/report fixes */
.uiStaffOrderActions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.uiStaffOrderActions .selected{border-color:rgba(82,200,255,.55)!important;background:rgba(82,200,255,.14)!important;color:#d9f6ff!important}
.uiWorkspaceSearchToolbar{display:grid!important;grid-template-columns:minmax(260px,1fr) minmax(260px,auto)!important;gap:10px!important;align-items:center!important;margin:0 0 12px!important}
.uiWorkspaceSearchToolbar .uiSearch{min-width:0!important}
.uiSearchScopeHint{font-size:10px;color:var(--gf-ui-muted);text-align:right;line-height:1.35}
.uiStaffOrderList,.uiProductionOrderCards,.serviceProductionOrderCards{max-height:780px!important;overflow-y:auto!important;overflow-x:hidden!important;padding:10px 8px 8px 0!important;overscroll-behavior:contain!important;scrollbar-width:thin!important;scrollbar-gutter:stable!important;align-content:start!important}
.uiStaffOrderList:focus-within,.uiProductionOrderCards:focus-within,.serviceProductionOrderCards:focus-within{scroll-behavior:smooth}
@media(min-width:651px){
  .lineColumnHeader,.compactLineRow{grid-template-columns:64px minmax(0,1fr) 190px 110px 280px!important;min-width:0!important}
  .compactLineRow.glassLineRow .compactLineInfo,.compactLineRow.glassLineRow .compactLineAction{min-width:0!important}
  .compactLineRow.glassLineRow .compactLineInfo>b{white-space:normal!important;overflow-wrap:anywhere!important;text-overflow:clip!important}
  .compactLineRow.glassLineRow .compactLineInfo small,.compactLineRow.glassLineRow .compactLineAction small{overflow-wrap:anywhere!important;white-space:normal!important}
  .compactLineRow.glassLineRow .compactLineAction{white-space:normal!important;overflow-wrap:anywhere!important;text-align:left!important;justify-content:flex-start!important}
}
.rowEditedBadge{display:inline-flex!important;align-self:flex-start!important;width:max-content!important;max-width:100%!important;margin-top:3px!important;padding:2px 6px!important;border:1px solid rgba(82,200,255,.35)!important;border-radius:999px!important;background:rgba(82,200,255,.10)!important;color:#bfeeff!important;font-size:9px!important;font-style:normal!important;font-weight:900!important;line-height:1.2!important;white-space:nowrap!important}
.compactLineRow.glassLineRow.isEdited{box-shadow:inset 3px 0 0 rgba(82,200,255,.78),inset 0 1px 0 rgba(255,255,255,.035),0 5px 18px rgba(0,0,0,.10)!important}
.serviceEditedRow td{box-shadow:inset 3px 0 0 rgba(82,200,255,.72)!important}
.servicePieceIssueBadge{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:5px;padding:3px 7px;border-radius:999px;border:1px solid rgba(255,111,120,.26);background:rgba(255,111,120,.08);color:#ffb2b8;font-size:10px;font-weight:900;line-height:1.2;overflow-wrap:anywhere}
.servicePieceIssueBadge.missing{border-color:rgba(255,202,82,.30);background:rgba(255,202,82,.08);color:#ffe08c}
@media print{
  @page{size:A4 portrait;margin:12mm}
  html,body{background:#fff!important;color:#1b2530!important}
  body{font-family:Arial,Helvetica,sans-serif!important;font-size:10pt!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .serviceTools,.serviceEditBar,.serviceIssueTools,.serviceReportAudit,.serviceActionCell{display:none!important}
  .serviceDetail{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  .serviceUnifiedDetail .serviceReport{margin:0!important;padding:0!important;background:#fff!important;color:#1b2530!important;border:0!important;box-shadow:none!important;border-radius:0!important}
  .serviceUnifiedDetail .serviceReportHeader{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:18px!important;padding:0 0 8mm!important;margin:0 0 5mm!important;border-bottom:2px solid #19344a!important;background:#fff!important;color:#1b2530!important}
  .serviceUnifiedDetail .serviceReportTitle h2{margin:0 0 2mm!important;font-size:20pt!important;line-height:1.1!important;color:#13283a!important}
  .serviceUnifiedDetail .serviceReportTitle p{margin:0 0 3mm!important;font-size:10pt!important;color:#5a6976!important}
  .serviceUnifiedDetail .serviceReportIdentity{display:inline-flex!important;align-items:center!important;gap:5px!important;border:1px solid #c8d2da!important;border-radius:6px!important;padding:4px 7px!important;background:#f3f6f8!important;color:#233746!important;font-size:9pt!important}
  .serviceUnifiedDetail .serviceReportCustomerOrder{margin-top:2mm!important;font-size:9.5pt!important;color:#253949!important}
  .serviceUnifiedDetail .serviceReportHeader>div:last-child{font-size:9.5pt!important;line-height:1.5!important;color:#425463!important;text-align:right!important;white-space:nowrap!important}
  .serviceUnifiedDetail .serviceReportTable{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;border:1px solid #9aa9b5!important;background:#fff!important;color:#1b2530!important;border-radius:0!important;overflow:visible!important}
  .serviceUnifiedDetail .serviceReportTable thead{display:table-header-group!important}
  .serviceUnifiedDetail .serviceReportTable th{background:#eaf0f4!important;color:#173043!important;border:1px solid #9aa9b5!important;padding:7px 8px!important;font-size:9pt!important;text-align:left!important;text-transform:uppercase!important;letter-spacing:.04em!important}
  .serviceUnifiedDetail .serviceReportTable th:nth-child(1){width:7%!important;text-align:center!important}.serviceUnifiedDetail .serviceReportTable th:nth-child(2){width:51%!important}.serviceUnifiedDetail .serviceReportTable th:nth-child(3){width:24%!important;text-align:center!important}.serviceUnifiedDetail .serviceReportTable th:nth-child(4){width:18%!important;text-align:center!important}
  .serviceUnifiedDetail .serviceReportTable tbody{display:table-row-group!important}
  .serviceUnifiedDetail .serviceReportTable tr.serviceGlassRow{display:table-row!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .serviceUnifiedDetail .serviceReportTable td{display:table-cell!important;border:1px solid #c0cbd3!important;padding:7px 8px!important;background:#fff!important;color:#1b2530!important;vertical-align:middle!important;font-size:9.5pt!important}
  .serviceUnifiedDetail .serviceReportTable td:nth-child(1){width:7%!important;text-align:center!important;font-weight:900!important;color:#29485e!important;background:#f4f7f9!important}
  .serviceUnifiedDetail .serviceReportTable td:nth-child(2){width:51%!important;min-width:0!important;overflow-wrap:anywhere!important}.serviceUnifiedDetail .serviceReportTable td:nth-child(3){width:24%!important;text-align:center!important;font-weight:900!important;font-size:11pt!important;white-space:nowrap!important;background:#f7fafb!important;color:#13283a!important}.serviceUnifiedDetail .serviceReportTable td:nth-child(4){width:18%!important;text-align:center!important;font-weight:900!important;font-size:11pt!important;white-space:nowrap!important;color:#13283a!important}
  .serviceUnifiedDetail .serviceReportTable td:nth-child(5),.serviceUnifiedDetail .serviceReportTable th:nth-child(5){display:none!important}
  .serviceUnifiedDetail .serviceTableRoute{margin-top:2px!important;color:#536674!important;font-size:8pt!important;white-space:normal!important;overflow:visible!important}.serviceUnifiedDetail .serviceTableRoute span{display:inline!important;padding:0!important;background:none!important;color:#536674!important;font-size:8pt!important;font-weight:700!important}.serviceUnifiedDetail .serviceTableRoute span.current,.serviceUnifiedDetail .serviceTableRoute span.done{background:none!important;color:#536674!important}
  .serviceUnifiedDetail .servicePieceIssueBadge{margin-top:2px!important;padding:1px 4px!important;border:0!important;background:#fff1f2!important;color:#8a3037!important;font-size:8pt!important;border-radius:3px!important}.serviceUnifiedDetail .servicePieceIssueBadge.missing{background:#fff7dd!important;color:#735300!important}
  .serviceUnifiedDetail .serviceIssueTag{margin-top:2px!important;color:#8a3037!important;font-size:8pt!important}
  .serviceUnifiedDetail .servicePieceQty button,.serviceUnifiedDetail .serviceActionCell button,.serviceUnifiedDetail .serviceInlineCheck{display:none!important}.serviceUnifiedDetail .servicePieceQty{display:inline-flex!important;border:0!important;background:none!important;padding:0!important}.serviceUnifiedDetail .servicePieceQty b{font-size:11pt!important;color:#13283a!important}
  .serviceUnifiedDetail .serviceReportRemarks{margin-top:6mm!important;padding:4mm!important;background:#f7f9fa!important;border:1px solid #c0cbd3!important;border-radius:5px!important;color:#243847!important}.serviceUnifiedDetail .serviceReportRemarks>div{margin-top:2mm!important;line-height:1.45!important}.rowEditedBadge{display:none!important}
}
@media(max-width:760px){.uiStaffOrderTools{grid-template-columns:1fr!important}.uiStaffOrderActions{justify-content:stretch!important}.uiStaffOrderActions .secondary{flex:1 1 0!important}}
@media(max-width:650px){.uiWorkspaceSearchToolbar{grid-template-columns:1fr!important}.uiSearchScopeHint{text-align:left!important}.uiStaffOrderList,.uiProductionOrderCards,.serviceProductionOrderCards{max-height:760px!important;padding-right:4px!important}}


/* v350 — stronger service section-aware shading + clean print report. */
.serviceProductionOrderCards .serviceCard.sectionAwareCard{
  background:var(--section-card-bg,var(--panel))!important;
  border-color:var(--section-card-border,var(--line))!important;
}
.serviceProductionOrderCards .serviceCard.sectionAwareCard:hover{
  background:var(--section-card-bg,var(--panel))!important;
  border-color:var(--section-card-border,rgba(82,200,255,.5))!important;
}
.serviceProductionOrderCards .serviceCard .orderIcon{background:rgba(82,200,255,.10)}
.uiStaffOrderList{min-height:0}

/* v350: make section shading obvious on service cards while preserving the dashboard look. */
.serviceProductionOrderCards .serviceCard.sectionAwareCard{
  box-shadow:inset 4px 0 0 var(--section-card-border,rgba(82,200,255,.38)),0 10px 28px rgba(0,0,0,.16)!important;
  background-image:var(--section-card-bg)!important;
}
.serviceProductionOrderCards .serviceCard.sectionAwareCard .orderIcon{
  box-shadow:0 0 0 1px var(--section-card-border,rgba(82,200,255,.38)),0 8px 20px rgba(0,0,0,.12);
}
@media print{
  .serviceActionCell,.serviceTools,.serviceEditBar,.serviceIssueTools,.serviceBulkPanel,.serviceReportAudit{display:none!important}
}


/* v357 — Staff Home requested layout: each workspace is a 50/50 pair.
   Left = sections, right = related recent activity. Both panels are equal height.
   No Home order list is rendered below these pairs. */
.uiHomeWorkPair{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:16px!important;width:100%!important;min-width:0!important;align-items:stretch!important;margin-bottom:16px!important}
.uiHomeWorkPair>.uiHomeWorkColumn{min-width:0!important;width:100%!important;display:flex!important}
.uiHomeWorkPair>.uiHomeWorkColumn>.uiPanel{width:100%!important;min-width:0!important;box-sizing:border-box!important;margin:0!important;height:100%!important}
.uiHomeWorkPair .uiSectionGrid{align-content:start!important}
.uiHomeWorkPair .uiActivityList{max-height:420px!important;overflow:auto!important}
@media(max-width:650px){.uiHomeWorkPair{grid-template-columns:1fr!important}.uiHomeWorkPair>.uiHomeWorkColumn{width:100%!important}}

/* v409 — emphasize the active production section in each line progress route. */
.compactLineRoute span{transition:transform .16s ease,box-shadow .16s ease,background .16s ease;border:1px solid transparent}
.compactLineRoute span.current{transform:scale(1.08);margin:0 2px}


/* v410 — staff workspace visual hierarchy polish; scoped to staff views. */
.uiStaffPageTop,.uiStaffWorkspaceTop{position:relative;isolation:isolate;padding:20px 22px!important;margin-bottom:16px!important;border:1px solid rgba(74,164,221,.28);border-radius:20px;background:radial-gradient(ellipse at 0% 0%,rgba(38,151,221,.18),transparent 58%),linear-gradient(135deg,rgba(13,35,58,.96),rgba(5,15,27,.94));box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 14px 34px rgba(0,0,0,.18)}
.uiStaffPageTop:after,.uiStaffWorkspaceTop:after{content:"";position:absolute;z-index:-1;right:18px;top:18px;width:74px;height:74px;border-radius:22px;background:linear-gradient(135deg,rgba(82,200,255,.10),rgba(82,200,255,0));border:1px solid rgba(82,200,255,.10);transform:rotate(12deg);pointer-events:none}
.uiStaffPageTop .eyebrow,.uiStaffWorkspaceTop .eyebrow{color:#6ed7ff;letter-spacing:1.7px;font-weight:850;font-size:10px}
.uiStaffPageTop h1,.uiStaffWorkspaceTop h2{letter-spacing:-.035em;font-weight:850}
.uiStaffPageTop p,.uiStaffWorkspaceTop p{max-width:620px;line-height:1.55}
.uiStaffStatusTop{padding:0 2px;margin-bottom:18px}
.uiStaffStatusTop>.uiMetricRowLabel{display:flex;align-items:center;gap:8px;margin:0 0 10px 2px;color:#a8c7e1;font-size:11px;font-weight:850;letter-spacing:1.2px;text-transform:uppercase}
.uiStaffStatusTop .uiStaffStatGrid,.uiStaffWorkspacePage>.uiStaffStatGrid{gap:10px;margin-bottom:18px}
.uiStaffStatusTop .uiStat,.uiStaffWorkspacePage>.uiStaffStatGrid .uiStat{min-height:112px;padding:14px 15px;border-radius:16px;background:linear-gradient(145deg,rgba(17,43,70,.96),rgba(5,17,31,.96));border-left:1px solid rgba(255,255,255,.04);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.uiStaffStatusTop .uiStat:hover,.uiStaffWorkspacePage>.uiStaffStatGrid .uiStat:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(0,0,0,.28),0 0 0 1px rgba(82,200,255,.08)}
.uiStaffStatusTop .uiStat.selected,.uiStaffWorkspacePage>.uiStaffStatGrid .uiStat.selected{outline:2px solid rgba(82,200,255,.48);outline-offset:1px;background:linear-gradient(145deg,rgba(19,59,91,.98),rgba(6,22,39,.98))}
.uiStaffStatusTop .uiStat .n,.uiStaffWorkspacePage>.uiStaffStatGrid .uiStat .n{font-size:29px;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.uiStaffWorkPanel{margin-top:0!important;padding:0!important;border-radius:20px!important;border-color:rgba(54,116,164,.36)!important;background:linear-gradient(150deg,rgba(10,29,49,.96),rgba(4,13,24,.98))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 18px 42px rgba(0,0,0,.22)!important}
.uiStaffWorkPanel>.uiTableHead{padding:18px 20px!important;border-bottom:1px solid rgba(63,121,166,.22);background:linear-gradient(90deg,rgba(25,74,111,.16),transparent 70%);border-radius:20px 20px 0 0}
.uiStaffWorkPanel .uiTableHead h2{font-size:19px;letter-spacing:-.02em}
.uiStaffWorkPanel .uiTableHint{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:6px 9px;border:1px solid rgba(82,200,255,.18);border-radius:999px;background:rgba(82,200,255,.08);color:#9edfff;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
.uiStaffWorkPanel .uiProductionOrderCards{padding:12px!important;gap:12px!important}
.uiStaffWorkPanel .orderCard{border-radius:15px!important;border-color:rgba(69,125,168,.25)!important;background:linear-gradient(145deg,rgba(15,36,58,.96),rgba(6,17,30,.96))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 7px 18px rgba(0,0,0,.12)!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important}
.uiStaffWorkPanel .orderCard:hover{transform:translateY(-2px)!important;border-color:rgba(82,200,255,.42)!important;box-shadow:0 13px 25px rgba(0,0,0,.2),0 0 0 1px rgba(82,200,255,.06)!important}
.uiStaffWorkPanel .orderMain b{font-size:14px;letter-spacing:-.01em}
.uiStaffWorkPanel .orderMain span{color:#c4d9eb;font-size:12px}
.uiStaffWorkPanel .orderMain small{line-height:1.4}
.uiStaffWorkPanel .orderIcon{border:1px solid rgba(82,200,255,.13);background:linear-gradient(145deg,rgba(82,200,255,.15),rgba(82,200,255,.04));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.uiStaffWorkPanel .compactLineRoute{gap:6px!important;align-items:center}
.uiStaffWorkPanel .compactLineRoute span{border:1px solid color-mix(in srgb,var(--route-color,#52c8ff) 24%,transparent);background:color-mix(in srgb,var(--route-color,#52c8ff) 9%,#071426)!important;color:#b8ccdc!important;font-weight:750;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.uiStaffWorkPanel .compactLineRoute span.current{background:var(--route-color,#52c8ff)!important;color:#07111c!important;border-color:rgba(255,255,255,.82)!important;font-weight:950!important;transform:scale(1.09);box-shadow:0 0 0 2px color-mix(in srgb,var(--route-color,#52c8ff) 26%,transparent),0 3px 14px color-mix(in srgb,var(--route-color,#52c8ff) 45%,transparent)!important}
.uiStaffWorkspacePage .uiWorkspaceSearchToolbar{padding:12px;margin-bottom:14px;border:1px solid rgba(55,116,161,.25);border-radius:15px;background:rgba(7,22,37,.62)}
.uiStaffWorkspacePage .uiSearchScopeHint{font-size:11px;line-height:1.5}
.uiStaffWorkspacePage .uiStaffWorkPanel{margin-top:0!important}
@media(max-width:800px){.uiStaffPageTop,.uiStaffWorkspaceTop{padding:16px!important;border-radius:16px!important}.uiStaffPageTop:after,.uiStaffWorkspaceTop:after{width:48px;height:48px;right:12px;top:12px;border-radius:14px}.uiStaffStatusTop .uiStat,.uiStaffWorkspacePage>.uiStaffStatGrid .uiStat{min-height:94px;padding:12px}.uiStaffStatusTop .uiStat .n,.uiStaffWorkspacePage>.uiStaffStatGrid .uiStat .n{font-size:25px}.uiStaffWorkPanel>.uiTableHead{padding:14px!important}.uiStaffWorkPanel .uiProductionOrderCards{padding:8px!important;gap:9px!important}.uiStaffWorkPanel .orderCard{align-items:flex-start;gap:9px!important}.uiStaffWorkPanel .orderIcon{width:36px;height:36px;min-width:36px;border-radius:11px;font-size:17px}.uiStaffWorkPanel .orderBadges{max-width:42%}}
@media(prefers-reduced-motion:reduce){.uiStaffPageTop,.uiStaffWorkspaceTop,.uiStaffWorkPanel .orderCard,.uiStaffStatusTop .uiStat{transition:none!important}}


/* v411 — service order current-stage visibility and Arabic/Hebrew RTL consistency. */
.serviceUnifiedDetail .serviceTableRoute{display:flex!important;align-items:center!important;gap:5px!important;flex-wrap:wrap!important;max-width:100%;}
.serviceUnifiedDetail .serviceTableRoute span{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:22px;padding:4px 8px!important;border:1px solid color-mix(in srgb,var(--route-color,#52c8ff) 35%,transparent)!important;border-radius:999px!important;background:color-mix(in srgb,var(--route-color,#52c8ff) 13%,#071426)!important;color:#d9e8f5!important;font-size:10px!important;font-weight:800!important;line-height:1.2!important;white-space:normal!important;}
.serviceUnifiedDetail .serviceTableRoute span.current{background:var(--route-color,#52c8ff)!important;color:#07111c!important;border:2px solid rgba(255,255,255,.92)!important;font-weight:950!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--route-color,#52c8ff) 28%,transparent),0 0 16px color-mix(in srgb,var(--route-color,#52c8ff) 50%,transparent)!important;transform:scale(1.04);}
.serviceUnifiedDetail .serviceTableRoute span.done{background:rgba(70,221,170,.14)!important;color:#8ff0bf!important;border-color:rgba(70,221,170,.38)!important;}
html[dir="rtl"] .serviceUnifiedDetail{direction:rtl;text-align:right;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportHeader,html[dir="rtl"] .serviceUnifiedDetail .serviceReportTitle,html[dir="rtl"] .serviceUnifiedDetail .serviceReportRemarks{text-align:right;}
html[dir="rtl"] .serviceUnifiedDetail .serviceTools,html[dir="rtl"] .serviceUnifiedDetail .serviceEditActions,html[dir="rtl"] .serviceUnifiedDetail .serviceIssueTools{direction:rtl;}
html[dir="rtl"] .serviceUnifiedDetail .serviceEditBar{direction:rtl;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable{direction:rtl;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable th,html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .serviceDescCell{text-align:right;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .serviceLineCell,html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .serviceSizeCell,html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .servicePcsCell{text-align:center;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportIdentity,html[dir="rtl"] .serviceUnifiedDetail .serviceReportCustomerOrder,html[dir="rtl"] .serviceUnifiedDetail .serviceReportPrintDate,html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .serviceSizeCell,html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .servicePcsCell{unicode-bidi:isolate;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportIdentity,html[dir="rtl"] .serviceUnifiedDetail .serviceReportCustomerOrder{direction:rtl;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportIdentity{display:inline-flex;gap:5px;}
html[dir="rtl"] .serviceUnifiedDetail .serviceEditSummary{text-align:right;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .serviceActionCell,html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .serviceActionCell .lineActionStack{direction:rtl;justify-content:flex-start;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .serviceTableRoute{direction:rtl;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .serviceSizeCell,html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .servicePcsCell{direction:ltr;}

/* v412 — calmer, more readable order-detail presentation (visual-only overrides). */
.serviceUnifiedDetail{max-width:1460px!important;padding:20px 24px 80px!important;}
.serviceUnifiedDetail .serviceTools{gap:10px!important;margin-bottom:14px!important;}
.serviceUnifiedDetail .serviceTools button{border-radius:10px!important;min-height:40px!important;box-shadow:none!important;}
.serviceUnifiedDetail .serviceUnifiedReport{border:1px solid rgba(145,174,205,.18)!important;border-radius:18px!important;background:linear-gradient(180deg,rgba(12,25,42,.98),rgba(7,17,30,.98))!important;box-shadow:0 14px 36px rgba(0,0,0,.18)!important;}
.serviceUnifiedDetail .serviceReportHeader{padding:22px 26px!important;align-items:center!important;gap:18px!important;background:linear-gradient(110deg,rgba(32,73,105,.34),rgba(15,34,55,.22))!important;border-bottom:1px solid rgba(145,174,205,.14)!important;}
.serviceUnifiedDetail .serviceReportTitle h2{font-size:clamp(20px,2vw,27px)!important;line-height:1.35!important;letter-spacing:-.02em!important;color:#f0f6fc!important;margin:0 0 5px!important;}
.serviceUnifiedDetail .serviceReportTitle p{font-size:12px!important;color:#91a8bd!important;margin-bottom:12px!important;}
.serviceUnifiedDetail .serviceReportIdentity,.serviceUnifiedDetail .serviceReportCustomerOrder{display:inline-flex!important;align-items:center!important;gap:6px!important;margin:4px 6px 0 0!important;padding:7px 10px!important;border:1px solid rgba(145,174,205,.14)!important;border-radius:9px!important;background:rgba(4,13,24,.38)!important;color:#d6e4f0!important;font-size:12px!important;}
.serviceUnifiedDetail .serviceReportHeader>div:last-child{color:#9fb2c5!important;font-size:12px!important;line-height:1.6!important;}
.serviceUnifiedDetail .serviceReportTable{width:100%!important;border:1px solid rgba(145,174,205,.14)!important;border-collapse:separate!important;border-spacing:0!important;border-radius:13px!important;overflow:hidden!important;background:rgba(5,14,25,.3)!important;}
.serviceUnifiedDetail .serviceReportTable th{padding:13px 15px!important;background:rgba(28,49,70,.72)!important;color:#aebfd0!important;border:0!important;border-bottom:1px solid rgba(145,174,205,.18)!important;font-size:11px!important;font-weight:800!important;letter-spacing:.025em!important;}
.serviceUnifiedDetail .serviceReportTable td{padding:17px 15px!important;border:0!important;border-bottom:1px solid rgba(145,174,205,.11)!important;color:#dbe6f0!important;vertical-align:middle!important;}
.serviceUnifiedDetail .serviceReportTable tbody tr:last-child td{border-bottom:0!important;}
.serviceUnifiedDetail .serviceReportTable .serviceGlassRow:nth-child(odd),.serviceUnifiedDetail .serviceReportTable .serviceGlassRow:nth-child(even){background:rgba(11,24,39,.72)!important;}
.serviceUnifiedDetail .serviceReportTable .serviceGlassRow:nth-child(even) td{background:rgba(94,133,168,.045)!important;}
.serviceUnifiedDetail .serviceReportTable .serviceGlassRow:hover td{background:rgba(82,150,198,.09)!important;}
.serviceUnifiedDetail .serviceReportTable .serviceLineCell{width:66px!important;text-align:center!important;color:#a7bfd2!important;font-size:12px!important;font-weight:800!important;}
.serviceUnifiedDetail .serviceReportTable .serviceLineNumber{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:34px!important;min-height:30px!important;padding:0 7px!important;border:1px solid rgba(145,174,205,.17)!important;border-radius:8px!important;background:rgba(145,174,205,.07)!important;color:#c8d9e8!important;font-size:12px!important;}
.serviceUnifiedDetail .serviceReportTable .serviceDescCell{min-width:280px!important;line-height:1.5!important;}
.serviceUnifiedDetail .serviceReportTable .serviceDescCell>b{display:block!important;margin-bottom:7px!important;color:#edf4fa!important;font-size:14px!important;font-weight:750!important;line-height:1.55!important;}
.serviceUnifiedDetail .serviceReportTable .serviceSizeCell{min-width:150px!important;background:transparent!important;color:#e6eef6!important;font-size:16px!important;font-weight:800!important;letter-spacing:.01em!important;font-variant-numeric:tabular-nums!important;}
.serviceUnifiedDetail .serviceReportTable .servicePcsCell{width:90px!important;background:transparent!important;color:#d4e1ed!important;font-size:15px!important;font-weight:800!important;font-variant-numeric:tabular-nums!important;}
.serviceUnifiedDetail .serviceReportTable .serviceActionCell{min-width:150px!important;background:transparent!important;}
.serviceUnifiedDetail .serviceReportTable .serviceTableRoute{gap:5px!important;margin-top:8px!important;max-height:none!important;overflow:visible!important;}
.serviceUnifiedDetail .serviceReportTable .serviceTableRoute span{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:27px!important;padding:5px 9px!important;border:1px solid color-mix(in srgb,var(--route-color,#52c8ff) 22%,transparent)!important;border-radius:8px!important;background:color-mix(in srgb,var(--route-color,#52c8ff) 7%,#0b1725)!important;color:#aebfd0!important;font-size:10px!important;font-weight:700!important;box-shadow:none!important;transform:none!important;white-space:normal!important;}
.serviceUnifiedDetail .serviceReportTable .serviceTableRoute span.current{background:var(--route-color,#52c8ff)!important;border:1px solid rgba(255,255,255,.62)!important;color:#07131e!important;font-weight:950!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--route-color,#52c8ff) 20%,transparent),0 2px 10px color-mix(in srgb,var(--route-color,#52c8ff) 24%,transparent)!important;transform:translateY(-1px)!important;}
.serviceUnifiedDetail .serviceReportTable .serviceTableRoute span.done{background:rgba(62,191,143,.12)!important;color:#91d8b9!important;border-color:rgba(62,191,143,.22)!important;}
.serviceUnifiedDetail .serviceReportRemarks{padding:18px 22px!important;border-top:1px solid rgba(145,174,205,.12)!important;color:#bdccda!important;line-height:1.65!important;}
.serviceUnifiedDetail .serviceReportRemarks>b{color:#e2edf6!important;font-size:12px!important;letter-spacing:.02em!important;}
.serviceUnifiedDetail .serviceEditBar,.serviceUnifiedDetail .serviceIssueTools{border:1px solid rgba(145,174,205,.15)!important;border-radius:13px!important;background:rgba(11,25,41,.86)!important;box-shadow:none!important;padding:12px 15px!important;}
.serviceUnifiedDetail .serviceEditSummary b{color:#e3edf6!important;font-size:13px!important;}
.serviceUnifiedDetail .serviceEditSummary span{color:#91a7bb!important;font-size:11px!important;}
.serviceUnifiedDetail .serviceReportAudit{border:1px solid rgba(145,174,205,.14)!important;border-radius:13px!important;background:rgba(10,23,38,.68)!important;}
.serviceUnifiedDetail .serviceReportAuditTitle{color:#c8d9e8!important;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportHeader{direction:rtl!important;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportHeader>div:last-child{text-align:left!important;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .serviceLineCell,html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .serviceSizeCell,html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .servicePcsCell{text-align:center!important;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .serviceSizeCell,html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .servicePcsCell{direction:ltr!important;unicode-bidi:isolate!important;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .serviceTableRoute{direction:rtl!important;}
html[dir="ltr"] .serviceUnifiedDetail .serviceReportHeader{direction:ltr!important;}
@media(max-width:800px){
 .serviceUnifiedDetail{padding:12px 10px 72px!important;}
 .serviceUnifiedDetail .serviceReportHeader{padding:17px!important;gap:12px!important;}
 .serviceUnifiedDetail .serviceReportTitle h2{font-size:20px!important;}
 .serviceUnifiedDetail .serviceReportTable th{padding:10px 7px!important;font-size:10px!important;}
 .serviceUnifiedDetail .serviceReportTable td{padding:12px 7px!important;}
 .serviceUnifiedDetail .serviceReportTable .serviceDescCell{min-width:0!important;}
 .serviceUnifiedDetail .serviceReportTable .serviceDescCell>b{font-size:12px!important;}
 .serviceUnifiedDetail .serviceReportTable .serviceSizeCell{min-width:0!important;font-size:13px!important;}
 .serviceUnifiedDetail .serviceReportTable .servicePcsCell{font-size:13px!important;}
 .serviceUnifiedDetail .serviceReportTable .serviceTableRoute span{font-size:9px!important;padding:4px 6px!important;}
 .serviceUnifiedDetail .serviceReportIdentity,.serviceUnifiedDetail .serviceReportCustomerOrder{font-size:11px!important;}
}
@media(prefers-reduced-motion:reduce){.serviceUnifiedDetail .serviceReportTable .serviceGlassRow td{transition:none!important;}}

/* v413 — force the calmer service-detail palette past legacy !important cell rules. */
.serviceUnifiedDetail .serviceReportTable tbody tr.serviceGlassRow:nth-child(odd) td,
.serviceUnifiedDetail .serviceReportTable tbody tr.serviceGlassRow:nth-child(even) td{background:rgba(11,24,39,.72)!important;border:0!important;border-bottom:1px solid rgba(145,174,205,.12)!important;color:#dbe6f0!important;box-shadow:none!important;}
.serviceUnifiedDetail .serviceReportTable tbody tr.serviceGlassRow:nth-child(even) td{background:rgba(22,39,57,.72)!important;}
.serviceUnifiedDetail .serviceReportTable tbody tr.serviceGlassRow td:nth-child(3),
.serviceUnifiedDetail .serviceReportTable tbody tr.serviceGlassRow td:nth-child(4){background:transparent!important;color:#e0eaf3!important;box-shadow:none!important;border-left:0!important;border-right:0!important;}
.serviceUnifiedDetail .serviceReportTable tbody tr.serviceGlassRow td:first-child{background:rgba(145,174,205,.035)!important;border-right:0!important;color:#afc4d6!important;}
.serviceUnifiedDetail .serviceReportTable tbody tr.serviceGlassRow:hover td{background:rgba(82,150,198,.09)!important;}
.serviceUnifiedDetail .serviceReportTable .serviceSizeCell .serviceDimensionValue{display:inline-block!important;direction:ltr!important;unicode-bidi:isolate!important;white-space:nowrap!important;font-size:15px!important;font-weight:750!important;letter-spacing:0!important;color:#e0eaf3!important;}
.serviceUnifiedDetail .serviceReportTable .servicePcsCell .serviceQuantityValue{display:inline-block!important;direction:ltr!important;unicode-bidi:isolate!important;white-space:nowrap!important;}
.serviceUnifiedDetail .serviceReportTable .serviceTableRoute span{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:26px!important;padding:5px 8px!important;border:1px solid color-mix(in srgb,var(--route-color,#52c8ff) 24%,transparent)!important;border-radius:8px!important;background:color-mix(in srgb,var(--route-color,#52c8ff) 8%,#0b1725)!important;color:#aebfd0!important;font-size:10px!important;font-weight:750!important;line-height:1.2!important;box-shadow:none!important;transform:none!important;}
.serviceUnifiedDetail .serviceReportTable .serviceTableRoute span.current{background:var(--route-color,#52c8ff)!important;color:#06131f!important;border:1px solid rgba(255,255,255,.88)!important;font-weight:950!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--route-color,#52c8ff) 22%,transparent),0 2px 9px color-mix(in srgb,var(--route-color,#52c8ff) 30%,transparent)!important;transform:translateY(-1px)!important;}
.serviceUnifiedDetail .serviceReportTable .serviceTableRoute span.done{background:rgba(62,191,143,.12)!important;color:#91d8b9!important;border-color:rgba(62,191,143,.24)!important;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .serviceDimensionValue,html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .serviceQuantityValue{direction:ltr!important;unicode-bidi:isolate!important;text-align:center!important;}
@media(max-width:800px){.serviceUnifiedDetail .serviceReportTable .serviceSizeCell .serviceDimensionValue{font-size:12px!important}.serviceUnifiedDetail .serviceReportTable .serviceTableRoute span{font-size:9px!important;padding:4px 6px!important}}

/* v414 — calmer, more legible service order detail; override legacy styles at the detail boundary. */
.serviceUnifiedDetail{padding:18px clamp(12px,2vw,28px) 76px!important;max-width:1600px!important;margin-inline:auto!important;color:#dbe7f2!important;}
.serviceUnifiedDetail .serviceTools{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin:0 0 14px!important;flex-wrap:wrap!important;}
.serviceUnifiedDetail .serviceReport{border:1px solid rgba(145,174,205,.14)!important;border-radius:16px!important;overflow:hidden!important;background:#0b1724!important;box-shadow:0 8px 24px rgba(0,0,0,.12)!important;}
.serviceUnifiedDetail .serviceReportHeader{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:20px!important;padding:20px 24px!important;background:linear-gradient(120deg,rgba(28,49,70,.72),rgba(13,28,43,.78))!important;border-bottom:1px solid rgba(145,174,205,.13)!important;}
.serviceUnifiedDetail .serviceReportTitle h2{font-size:clamp(20px,2vw,26px)!important;line-height:1.25!important;letter-spacing:-.02em!important;margin:0 0 5px!important;color:#f0f6fb!important;}
.serviceUnifiedDetail .serviceReportTitle p{margin:0 0 12px!important;font-size:12px!important;color:#9fb4c8!important;}
.serviceUnifiedDetail .serviceReportIdentity,.serviceUnifiedDetail .serviceReportCustomerOrder{display:inline-flex!important;gap:6px!important;align-items:center!important;margin:4px 10px 0 0!important;padding:6px 9px!important;border-radius:8px!important;background:rgba(145,174,205,.07)!important;border:1px solid rgba(145,174,205,.11)!important;color:#d4e2ef!important;font-size:12px!important;}
.serviceUnifiedDetail .serviceReportHeader>div:last-child{font-size:12px!important;color:#9fb4c8!important;line-height:1.8!important;white-space:nowrap!important;}
.serviceUnifiedDetail .serviceReportTable{width:100%!important;border-collapse:separate!important;border-spacing:0!important;table-layout:auto!important;background:#0b1724!important;}
.serviceUnifiedDetail .serviceReportTable thead th{position:sticky!important;top:0!important;padding:12px 14px!important;background:#122337!important;border:0!important;border-bottom:1px solid rgba(145,174,205,.18)!important;color:#9eb7cc!important;font-size:11px!important;font-weight:800!important;letter-spacing:.025em!important;text-align:start!important;white-space:nowrap!important;}
.serviceUnifiedDetail .serviceReportTable tbody tr.serviceGlassRow td,.serviceUnifiedDetail .serviceReportTable tbody tr.serviceGlassRow:nth-child(odd) td,.serviceUnifiedDetail .serviceReportTable tbody tr.serviceGlassRow:nth-child(even) td{padding:13px 14px!important;background:#0d1b29!important;border:0!important;border-bottom:1px solid rgba(145,174,205,.10)!important;color:#d9e5ef!important;box-shadow:none!important;vertical-align:middle!important;transition:background .15s ease!important;}
.serviceUnifiedDetail .serviceReportTable tbody tr.serviceGlassRow:nth-child(even) td{background:#102031!important;}
.serviceUnifiedDetail .serviceReportTable tbody tr.serviceGlassRow:hover td{background:#162b3e!important;}
.serviceUnifiedDetail .serviceReportTable tbody tr.serviceGlassRow.serviceIssueRow td{background:rgba(115,46,48,.18)!important;border-bottom-color:rgba(225,117,117,.15)!important;}
.serviceUnifiedDetail .serviceReportTable .serviceLineCell{width:58px!important;text-align:center!important;color:#9bb1c5!important;font-size:12px!important;}
.serviceUnifiedDetail .serviceReportTable .serviceLineNumber{min-width:30px!important;min-height:28px!important;padding:0 6px!important;border:1px solid rgba(145,174,205,.12)!important;border-radius:7px!important;background:rgba(145,174,205,.05)!important;color:#a9bfd2!important;font-size:11px!important;}
.serviceUnifiedDetail .serviceReportTable .serviceDescCell{min-width:260px!important;max-width:720px!important;line-height:1.5!important;}
.serviceUnifiedDetail .serviceReportTable .serviceDescCell>b{display:block!important;margin:0 0 7px!important;color:#e5edf5!important;font-size:13px!important;font-weight:700!important;line-height:1.55!important;}
.serviceUnifiedDetail .serviceReportTable .serviceSizeCell{min-width:130px!important;background:transparent!important;text-align:center!important;color:#edf4fa!important;font-size:14px!important;font-weight:750!important;font-variant-numeric:tabular-nums!important;white-space:nowrap!important;}
.serviceUnifiedDetail .serviceReportTable .serviceSizeCell .serviceDimensionValue{font-size:14px!important;color:#e4edf5!important;font-weight:750!important;}
.serviceUnifiedDetail .serviceReportTable .servicePcsCell{width:70px!important;min-width:60px!important;background:transparent!important;text-align:center!important;color:#dce8f2!important;font-size:14px!important;font-weight:800!important;font-variant-numeric:tabular-nums!important;}
.serviceUnifiedDetail .serviceReportTable .serviceActionCell{min-width:130px!important;background:transparent!important;text-align:center!important;}
.serviceUnifiedDetail .serviceReportTable .serviceTableRoute{display:flex!important;align-items:center!important;gap:5px!important;flex-wrap:wrap!important;margin-top:8px!important;max-height:none!important;overflow:visible!important;}
.serviceUnifiedDetail .serviceReportTable .serviceTableRoute span{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:25px!important;padding:4px 8px!important;border:1px solid color-mix(in srgb,var(--route-color,#52c8ff) 22%,transparent)!important;border-radius:7px!important;background:color-mix(in srgb,var(--route-color,#52c8ff) 6%,#0b1725)!important;color:#aebfd0!important;font-size:10px!important;font-weight:700!important;line-height:1.25!important;box-shadow:none!important;transform:none!important;white-space:nowrap!important;}
.serviceUnifiedDetail .serviceReportTable .serviceTableRoute span.current{background:var(--route-color,#52c8ff)!important;border:1px solid rgba(255,255,255,.88)!important;color:#06131f!important;font-weight:950!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--route-color,#52c8ff) 22%,transparent)!important;transform:translateY(-1px)!important;}
.serviceUnifiedDetail .serviceReportTable .serviceTableRoute span.done{background:rgba(62,191,143,.11)!important;color:#91d8b9!important;border-color:rgba(62,191,143,.22)!important;}
.serviceUnifiedDetail .serviceEditBar,.serviceUnifiedDetail .serviceIssueTools{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important;margin:0 0 12px!important;padding:12px 15px!important;border:1px solid rgba(145,174,205,.12)!important;border-radius:12px!important;background:#0c1a28!important;box-shadow:none!important;}
.serviceUnifiedDetail .serviceEditSummary{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;}
.serviceUnifiedDetail .serviceEditSummary b{color:#dce8f2!important;font-size:12px!important;}
.serviceUnifiedDetail .serviceEditSummary span{color:#8fa7bc!important;font-size:11px!important;}
.serviceUnifiedDetail .serviceEditActions{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;}
.serviceUnifiedDetail .serviceEditActions button,.serviceUnifiedDetail .serviceTools button{min-height:36px!important;border-radius:9px!important;font-weight:750!important;}
.serviceUnifiedDetail .serviceReportRemarks{padding:16px 22px!important;background:#0c1926!important;border-top:1px solid rgba(145,174,205,.11)!important;color:#aebfd0!important;font-size:12px!important;line-height:1.7!important;}
html[dir="rtl"] .serviceUnifiedDetail{direction:rtl!important;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportHeader{direction:rtl!important;text-align:right!important;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportHeader>div:last-child{text-align:left!important;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable th,html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable td{unicode-bidi:plaintext!important;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .serviceLineCell,html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .serviceSizeCell,html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .servicePcsCell,html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .serviceActionCell{text-align:center!important;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .serviceSizeCell,html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .servicePcsCell{direction:ltr!important;unicode-bidi:isolate!important;}
html[dir="rtl"] .serviceUnifiedDetail .serviceReportTable .serviceTableRoute{direction:rtl!important;}
html[dir="ltr"] .serviceUnifiedDetail{direction:ltr!important;}
html[dir="ltr"] .serviceUnifiedDetail .serviceReportHeader{text-align:left!important;}
@media(max-width:800px){
 .serviceUnifiedDetail{padding:10px 7px 72px!important;}
 .serviceUnifiedDetail .serviceReportHeader{padding:15px!important;gap:9px!important;flex-direction:column!important;}
 .serviceUnifiedDetail .serviceReportHeader>div:last-child{white-space:normal!important;}
 .serviceUnifiedDetail .serviceReportTable{min-width:690px!important;}
 .serviceUnifiedDetail .serviceReport{overflow-x:auto!important;}
 .serviceUnifiedDetail .serviceReportTable th{padding:10px 8px!important;font-size:10px!important;}
 .serviceUnifiedDetail .serviceReportTable tbody tr.serviceGlassRow td{padding:10px 8px!important;}
 .serviceUnifiedDetail .serviceReportTable .serviceDescCell{min-width:230px!important;}
 .serviceUnifiedDetail .serviceReportTable .serviceDescCell>b{font-size:12px!important;}
 .serviceUnifiedDetail .serviceReportTable .serviceSizeCell{font-size:12px!important;}
 .serviceUnifiedDetail .serviceReportTable .serviceSizeCell .serviceDimensionValue{font-size:12px!important;}
 .serviceUnifiedDetail .serviceEditBar,.serviceUnifiedDetail .serviceIssueTools{align-items:stretch!important;}
 .serviceUnifiedDetail .serviceEditActions{width:100%!important;}
}
@media(prefers-reduced-motion:reduce){.serviceUnifiedDetail .serviceReportTable tbody tr.serviceGlassRow td{transition:none!important;}}


/* v415 — make Production order-line text as readable and refined as Service details. */
.compactLineRow.glassLineRow .compactLineInfo>b{
  font-size:13px!important;
  font-weight:750!important;
  line-height:1.42!important;
  letter-spacing:0!important;
  white-space:normal!important;
  overflow:visible!important;
  display:block!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  color:#e4edf6!important;
}
.compactLineRow.glassLineRow .compactLineInfo{gap:6px!important;padding-top:12px!important;padding-bottom:12px!important;}
.compactLineRow.glassLineRow .compactLineRoute{display:flex!important;flex-wrap:wrap!important;gap:5px!important;max-height:none!important;overflow:visible!important;white-space:normal!important;line-height:1.35!important;margin-top:7px!important;}
.compactLineRow.glassLineRow .compactLineRoute span{font-size:9px!important;line-height:1.25!important;padding:4px 7px!important;white-space:normal!important;border-radius:999px!important;}
html[dir="rtl"] .compactLineRow.glassLineRow .compactLineInfo{text-align:right!important;direction:rtl!important;}
html[dir="rtl"] .compactLineRow.glassLineRow .compactLineInfo>b{unicode-bidi:plaintext!important;}
@media(max-width:800px){
  .compactLineRow.glassLineRow .compactLineInfo>b{font-size:12px!important;line-height:1.35!important;-webkit-line-clamp:unset!important;}
  .compactLineRow.glassLineRow .compactLineRoute{max-height:none!important;}
  .compactLineRow.glassLineRow .compactLineRoute span{font-size:8px!important;padding:4px 6px!important;}
}

/* v417 — preserve section tint on both Production and Service cards in Staff Home. */
.uiStaffWorkPanel .orderCard.sectionAwareCard,
.uiStaffWorkPanel .serviceCard.sectionAwareCard{
  background:var(--section-card-bg,linear-gradient(135deg,rgba(82,200,255,.17),rgba(7,20,38,.92)))!important;
  border:1px solid var(--section-card-border,rgba(82,200,255,.35))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 7px 18px rgba(0,0,0,.12)!important;
}
.uiStaffWorkPanel .orderCard.statusTint-green{--status-tint:rgba(45,190,130,.14)}
.uiStaffWorkPanel .orderCard.statusTint-orange{--status-tint:rgba(244,157,56,.15)}
.uiStaffWorkPanel .orderCard.statusTint-teal{--status-tint:rgba(40,190,185,.13)}
.uiStaffWorkPanel .orderCard.statusTint-blue{--status-tint:rgba(65,157,235,.14)}
.uiStaffWorkPanel .orderCard.statusTint-green:not([style*="--section-card-bg"]),
.uiStaffWorkPanel .orderCard.statusTint-orange:not([style*="--section-card-bg"]),
.uiStaffWorkPanel .orderCard.statusTint-teal:not([style*="--section-card-bg"]),
.uiStaffWorkPanel .orderCard.statusTint-blue:not([style*="--section-card-bg"]){background:linear-gradient(135deg,var(--status-tint),rgba(7,20,38,.92))!important}

/* v419 — match Production glass dimensions to the Service size text treatment. */
.compactLineRow.glassLineRow .compactLineSize{
  font-size:14px!important;
  font-weight:750!important;
  color:#edf4fa!important;
  letter-spacing:0!important;
  font-variant-numeric:tabular-nums!important;
  text-shadow:none!important;
  background:transparent!important;
  box-shadow:none!important;
  white-space:nowrap!important;
  text-overflow:clip!important;
}
.compactLineRow.glassLineRow .compactLineSize .productionDimensionValue{
  display:inline-block!important;
  direction:ltr!important;
  unicode-bidi:isolate!important;
  font-size:14px!important;
  font-weight:750!important;
  color:#e4edf5!important;
  letter-spacing:0!important;
  font-variant-numeric:tabular-nums!important;
  white-space:nowrap!important;
}
html[dir="rtl"] .compactLineRow.glassLineRow .compactLineSize,
html[dir="rtl"] .compactLineRow.glassLineRow .productionDimensionValue{
  direction:ltr!important;
  unicode-bidi:isolate!important;
  text-align:center!important;
}
@media(max-width:800px){
  .compactLineRow.glassLineRow .compactLineSize,
  .compactLineRow.glassLineRow .compactLineSize .productionDimensionValue{
    font-size:12px!important;
    font-weight:750!important;
  }
}


/* v420 — keep Staff Home Production and Service order cards tinted at all times, not only on hover. */
.uiStaffWorkPanel .uiProductionOrderCards .orderCard,
.uiStaffWorkPanel .serviceProductionOrderCards .serviceCard,
.uiStaffWorkPanel .orderCard.sectionAwareCard,
.uiStaffWorkPanel .serviceCard.sectionAwareCard{
  background:var(--section-card-bg,linear-gradient(135deg,var(--status-tint,rgba(82,200,255,.20)),rgba(7,20,38,.92)))!important;
  border:1px solid var(--section-card-border,rgba(82,200,255,.42))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 7px 18px rgba(0,0,0,.14)!important;
}
.uiStaffWorkPanel .uiProductionOrderCards .orderCard:hover,
.uiStaffWorkPanel .serviceProductionOrderCards .serviceCard:hover{
  background:var(--section-card-bg,linear-gradient(135deg,var(--status-tint,rgba(82,200,255,.20)),rgba(7,20,38,.92)))!important;
  border-color:var(--section-card-border,rgba(82,200,255,.42))!important;
}
/* Match the Production glass-size value to the Service table's dimension typography exactly. */
.compactLineRow.glassLineRow .compactLineSize .productionDimensionValue{
  font-family:inherit!important;font-size:14px!important;font-weight:750!important;line-height:1.25!important;
  letter-spacing:0!important;color:#e4edf5!important;font-variant-numeric:tabular-nums!important;
  text-shadow:none!important;background:transparent!important;box-shadow:none!important;
}
@media(max-width:800px){.compactLineRow.glassLineRow .compactLineSize .productionDimensionValue{font-size:12px!important;}}


/* v422: Customer Home is the only customer order workspace. Keep all order cards
   together, remove workflow route strips from customer service cards, and improve
   breathing room without affecting Staff or Office pages. */
.uiCustomerHomeGrid{display:block!important;width:100%!important;}
.uiCustomerOrdersPanel{width:100%!important;min-width:0!important;}
.uiCustomerOrdersPanel .uiPanelHead{align-items:flex-start!important;margin-bottom:12px!important;}
.uiCustomerOrdersHint{margin:5px 0 0!important;color:var(--muted,#91a9bf)!important;font-size:.9rem!important;line-height:1.45!important;}
.uiCustomerUnifiedOrders{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;padding-top:8px!important;}
.uiCustomerUnifiedOrders .orderCard{width:100%!important;min-width:0!important;margin:0!important;box-sizing:border-box!important;}
.uiCustomerUnifiedOrders .route,.uiCustomerUnifiedOrders .serviceRoute{display:none!important;}
.uiCustomerUnifiedOrders .orderMain{min-width:0!important;}
.uiCustomerUnifiedOrders .orderCustomerName,.uiCustomerUnifiedOrders .orderEdr,.uiCustomerUnifiedOrders .customerOrderLine{overflow-wrap:anywhere!important;}
.uiCustomerUnifiedOrders .orderBadges{flex-wrap:wrap!important;align-items:flex-start!important;}
@media(max-width:900px){.uiCustomerUnifiedOrders{grid-template-columns:1fr!important;gap:9px!important;}}
@media(max-width:600px){.uiCustomerOrdersPanel{padding:12px!important;}.uiCustomerUnifiedOrders .orderCard{padding:12px!important;gap:10px!important;}}

/* v424: Customer cards use one visual language; customer order number is the primary identity. */
.uiCustomerUnifiedOrders .orderCard,
.uiCustomerUnifiedOrders .orderCard.serviceCard,
.uiCustomerUnifiedOrders .orderCard.serviceIssueCard,
.uiCustomerUnifiedOrders .orderCard.serviceReadyCard{
  background:linear-gradient(145deg,rgba(24,43,61,.98),rgba(13,27,41,.98))!important;
  border:1px solid rgba(151,181,207,.22)!important;
  border-radius:15px!important;
  color:#e7f0f7!important;
  box-shadow:0 8px 22px rgba(0,0,0,.16)!important;
  --section-card-bg:transparent!important;
  --section-card-border:rgba(151,181,207,.22)!important;
}
.uiCustomerUnifiedOrders .orderCard:before,
.uiCustomerUnifiedOrders .orderCard:after{display:none!important;}
.uiCustomerUnifiedOrders .orderIcon{
  width:40px!important;height:40px!important;min-width:40px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border-radius:11px!important;background:rgba(104,174,220,.12)!important;
  color:#9bd8ff!important;border:1px solid rgba(104,174,220,.2)!important;
}
.uiCustomerUnifiedOrders .orderMain{display:flex!important;flex-direction:column!important;gap:7px!important;min-width:0!important;}
.uiCustomerUnifiedOrders .orderIdentity{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:5px!important;min-width:0!important;}
.uiCustomerUnifiedOrders .customerPrimaryOrderNo{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:3px!important;
  width:100%!important;padding:10px 12px!important;border-radius:10px!important;
  background:linear-gradient(110deg,rgba(42,128,177,.22),rgba(39,91,127,.10))!important;
  border:1px solid rgba(93,190,239,.34)!important;box-sizing:border-box!important;
}
.uiCustomerUnifiedOrders .customerPrimaryOrderNo span{
  color:#a9c5d8!important;font-size:10px!important;font-weight:800!important;
  text-transform:uppercase!important;letter-spacing:.06em!important;line-height:1.25!important;
}
.uiCustomerUnifiedOrders .customerPrimaryOrderNo strong{
  color:#fff!important;font-size:clamp(21px,2vw,29px)!important;font-weight:950!important;
  line-height:1.15!important;letter-spacing:-.025em!important;font-variant-numeric:tabular-nums!important;
  overflow-wrap:anywhere!important;unicode-bidi:plaintext!important;
}
.uiCustomerUnifiedOrders .customerSecondaryEdr{
  color:#9db2c4!important;font-size:11px!important;font-weight:650!important;
  background:transparent!important;border:0!important;padding:0!important;
}
.uiCustomerUnifiedOrders .orderCustomerName{color:#e4edf5!important;font-size:13px!important;font-weight:750!important;line-height:1.35!important;}
.uiCustomerUnifiedOrders .orderEdr:not(.customerSecondaryEdr),
.uiCustomerUnifiedOrders .customerOrderLine{color:#a6bacb!important;font-size:11px!important;}
.uiCustomerUnifiedOrders .orderMain>small{color:#a6bacb!important;font-size:11px!important;line-height:1.45!important;}
.uiCustomerUnifiedOrders .serviceMeta{color:#bacbd8!important;line-height:1.5!important;}
.uiCustomerUnifiedOrders .orderBadges{align-content:flex-start!important;gap:7px!important;}
.uiCustomerUnifiedOrders .orderBadges .pill{font-size:10px!important;font-weight:850!important;}
.uiCustomerUnifiedOrders .serviceRoute,.uiCustomerUnifiedOrders .route,.uiCustomerUnifiedOrders .nowStage{display:none!important;}

/* v424: A customer-facing service report must never expose internal production routes. */
.serviceUnifiedDetail .serviceTableRoute{display:none!important;}
.serviceUnifiedDetail .serviceActionCell{min-width:155px!important;text-align:start!important;vertical-align:top!important;}
.serviceUnifiedDetail .serviceActionContent{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:6px!important;}
.serviceUnifiedDetail .serviceEditedActionBadge{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:4px!important;white-space:normal!important;max-width:100%!important;}
.serviceUnifiedDetail .serviceActionChangeList{display:flex!important;flex-direction:column!important;gap:3px!important;color:#d8e7f1!important;font-size:11px!important;font-weight:550!important;line-height:1.4!important;overflow-wrap:anywhere!important;}
.serviceUnifiedDetail .serviceActionChange{display:block!important;color:#d8e7f1!important;font-size:11px!important;font-weight:550!important;line-height:1.4!important;overflow-wrap:anywhere!important;}
.serviceUnifiedDetail .serviceActionChange b{color:#9ecde7!important;}
.serviceUnifiedDetail .serviceEditedRow .serviceActionCell{background:rgba(44,111,148,.10)!important;}
@media(max-width:900px){
 .uiCustomerUnifiedOrders .customerPrimaryOrderNo strong{font-size:24px!important;}
}

/* Customer urgent-order controls: independent click targets inside order cards. */
.customerCardUrgentAction{display:inline-flex!important;align-items:center;justify-content:center;gap:5px;padding:7px 10px!important;margin:3px 0 0!important;border:1px solid rgba(255,173,92,.42)!important;border-radius:10px!important;background:rgba(255,173,92,.12)!important;color:#ffc78e!important;font:inherit!important;font-size:11px!important;font-weight:850!important;line-height:1.25!important;white-space:normal!important;cursor:pointer!important;max-width:100%;text-align:center}
.customerCardUrgentAction.isUrgent{border-color:rgba(255,111,120,.42)!important;background:rgba(255,111,120,.12)!important;color:#ffaaa8!important}
.uiCustomerUnifiedOrders .customerCardUrgentAction{align-self:flex-start}
.uiCustomerUnifiedOrders .orderBadges{max-width:38%;flex-direction:column;align-items:flex-start}
@media(max-width:600px){.customerCardUrgentAction{font-size:10px!important;padding:7px 8px!important}.uiCustomerUnifiedOrders .orderBadges{max-width:44%}}


/* v426: customer card visual system inspired by the approved dashboard mockup.
   This is scoped to customer Home only; staff/office cards are unchanged. */
.uiCustomerOrdersPanel{padding:22px!important;background:linear-gradient(145deg,rgba(12,31,49,.96),rgba(5,17,30,.98))!important;border-color:rgba(71,139,185,.28)!important;}
.uiCustomerOrdersPanel .uiPanelHead{margin-bottom:18px!important;}
.uiCustomerOrdersPanel .uiPanelHead h2{font-size:clamp(22px,2.3vw,29px)!important;letter-spacing:-.025em!important;line-height:1.15!important;color:#f2f7fc!important;}
.uiCustomerOrdersPanel .uiCustomerOrdersHint{font-size:14px!important;color:#9eb5c9!important;line-height:1.5!important;}
.uiCustomerUnifiedOrders{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;align-items:stretch!important;}
.uiCustomerUnifiedOrders .orderCard,
.uiCustomerUnifiedOrders .orderCard.serviceCard,
.uiCustomerUnifiedOrders .orderCard.serviceIssueCard,
.uiCustomerUnifiedOrders .orderCard.serviceReadyCard{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;gap:0!important;
  min-width:0!important;min-height:0!important;padding:18px!important;border-radius:17px!important;
  background:linear-gradient(150deg,rgba(18,39,58,.98),rgba(8,22,36,.99))!important;
  border:1px solid rgba(66,139,189,.32)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 12px 30px rgba(0,0,0,.2)!important;
  text-align:left!important;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
.uiCustomerUnifiedOrders .orderCard:hover{border-color:rgba(75,178,238,.62)!important;transform:translateY(-2px)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 17px 34px rgba(0,0,0,.28)!important;}
.uiCustomerUnifiedOrders .orderIcon{display:none!important;}
.uiCustomerUnifiedOrders .orderMain{display:flex!important;flex-direction:column!important;gap:10px!important;width:100%!important;min-width:0!important;padding:0!important;}
.uiCustomerUnifiedOrders .orderIdentity{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;width:100%!important;min-width:0!important;}
.uiCustomerUnifiedOrders .customerPrimaryOrderNo{padding:11px 13px!important;border-radius:12px!important;background:linear-gradient(115deg,rgba(30,104,155,.28),rgba(19,59,89,.2))!important;border:1px solid rgba(82,174,225,.32)!important;}
.uiCustomerUnifiedOrders .customerPrimaryOrderNo span{font-size:10px!important;letter-spacing:.085em!important;color:#a9c6dc!important;}
.uiCustomerUnifiedOrders .customerPrimaryOrderNo strong{font-size:clamp(24px,2.1vw,32px)!important;line-height:1.14!important;letter-spacing:-.035em!important;color:#f7fbff!important;}
.uiCustomerUnifiedOrders .customerSecondaryEdr,.uiCustomerUnifiedOrders .orderEdr{font-size:12px!important;line-height:1.4!important;color:#91b0c9!important;font-weight:700!important;overflow-wrap:anywhere!important;}
.uiCustomerUnifiedOrders .orderCustomerName{font-size:14px!important;line-height:1.45!important;font-weight:750!important;color:#e8f2fb!important;overflow-wrap:anywhere!important;}
.uiCustomerUnifiedOrders .orderMain>small{font-size:12px!important;line-height:1.5!important;color:#a9bfd2!important;overflow-wrap:anywhere!important;}
.uiCustomerUnifiedOrders .serviceMeta{font-size:12px!important;line-height:1.55!important;color:#c2d2df!important;overflow-wrap:anywhere!important;}
.uiCustomerUnifiedOrders .orderBadges{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;align-content:flex-start!important;gap:8px!important;width:100%!important;max-width:none!important;margin-top:16px!important;padding-top:13px!important;border-top:1px solid rgba(123,164,194,.22)!important;}
.uiCustomerUnifiedOrders .orderBadges .pill,.uiCustomerUnifiedOrders .orderBadges .urgentBadge,.uiCustomerUnifiedOrders .orderBadges .deliveryBadge{display:inline-flex!important;align-items:center!important;min-height:30px!important;padding:7px 10px!important;border-radius:999px!important;font-size:11px!important;line-height:1.2!important;font-weight:800!important;white-space:normal!important;overflow-wrap:anywhere!important;}
.uiCustomerUnifiedOrders .orderBadges .pill.blue,.uiCustomerUnifiedOrders .orderBadges .pill.teal{background:rgba(54,163,219,.14)!important;color:#82d3ff!important;border:1px solid rgba(54,163,219,.2)!important;}
.uiCustomerUnifiedOrders .orderBadges .pill.green,.uiCustomerUnifiedOrders .orderBadges .deliveryBadge.full{background:rgba(30,194,124,.13)!important;color:#85edb7!important;border:1px solid rgba(30,194,124,.3)!important;}
.uiCustomerUnifiedOrders .orderBadges .urgentBadge,.uiCustomerUnifiedOrders .customerCardUrgentAction{background:rgba(255,80,96,.12)!important;border:1px solid rgba(255,80,96,.55)!important;color:#ff7884!important;}
.uiCustomerUnifiedOrders .customerCardUrgentAction{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:39px!important;padding:9px 13px!important;margin:0!important;border-radius:10px!important;font-size:12px!important;font-weight:850!important;line-height:1.25!important;white-space:normal!important;text-align:center!important;max-width:100%!important;}
.uiCustomerUnifiedOrders .customerCardUrgentAction.isUrgent{background:rgba(255,80,96,.2)!important;color:#ff9da5!important;}
.uiCustomerUnifiedOrders .orderBadges .deliveryBadge.partial{background:rgba(255,170,61,.12)!important;color:#ffd08b!important;border:1px solid rgba(255,170,61,.3)!important;}
.uiCustomerUnifiedOrders .orderBadges .urgentBadge.edrChangeBadge{background:rgba(255,170,61,.12)!important;color:#ffd08b!important;border-color:rgba(255,170,61,.3)!important;}
.uiCustomerUnifiedOrders .orderBadges .cardReadyButton{min-height:39px!important;margin:0!important;}
@media(max-width:900px){.uiCustomerUnifiedOrders{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}.uiCustomerOrdersPanel{padding:17px!important;}}
@media(max-width:650px){.uiCustomerUnifiedOrders{grid-template-columns:minmax(0,1fr)!important;gap:11px!important;}.uiCustomerUnifiedOrders .orderCard{padding:15px!important;}.uiCustomerUnifiedOrders .customerPrimaryOrderNo strong{font-size:clamp(24px,7vw,30px)!important;}.uiCustomerUnifiedOrders .orderBadges{margin-top:12px!important;padding-top:11px!important;}.uiCustomerUnifiedOrders .customerCardUrgentAction{flex:1 1 145px!important;}}

/* v427: per-row delivery quantities are customer-visible only; workflow remains internal. */
.customerLineDelivery{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin-top:10px;padding:8px 10px;border:1px solid rgba(55,190,140,.28);border-radius:10px;background:rgba(55,190,140,.08);font-size:.88rem}
.customerLineDelivery.isPartial{border-color:rgba(236,164,61,.36);background:rgba(236,164,61,.09)}
.customerLineDelivery b{color:var(--gf-ui-text,#dce9f4)}
.customerLineDelivery span{color:var(--gf-ui-muted,#9eafc0)}
.customerDeliveryDataNotice{display:flex;flex-direction:column;gap:6px;padding:12px 14px;margin:10px 0;border-color:rgba(236,164,61,.36)}
.customerDeliveryDataNotice small{color:var(--gf-ui-muted,#9eafc0)}
.customerServiceDelivery{display:block;margin-top:4px;font-size:.78rem;color:var(--gf-ui-muted,#9eafc0);white-space:nowrap}
.serviceLineWorkflow{margin-top:8px}

/* v429: make per-line delivery quantities readable in internal order details. */
.lineDeliveryTiny{display:block!important;margin-top:5px!important;font-size:10px!important;line-height:1.3!important;white-space:normal!important;color:#8fe3bb!important;font-weight:750!important;max-width:150px}
.compactLineRow.glassLineRow .compactLinePieces{flex-direction:column!important;align-items:center!important;gap:3px!important}

/* v434: staff edits are marked, never shown as problems */
.pill.editedPill{border:1px solid rgba(82,200,255,.40);background:rgba(82,200,255,.12);color:#bfeeff;font-weight:900;white-space:nowrap}
.servicePieceEditBadge{display:inline-flex!important;margin-top:5px!important}

/* ===== v435 design pass ===== */
/* 1. Arabic / Hebrew: the side menu sits on the right, the page moves left. */
@media(min-width:901px){
  html[dir="rtl"] .gfSidebar{left:auto!important;right:0!important;border-right:0!important;border-left:1px solid #17416a!important;box-shadow:-18px 0 45px #0008!important}
  html[dir="rtl"] .wrap{margin-left:0!important;margin-right:220px!important}
}
html[dir="rtl"] .gfSidebarNav button,html[dir="rtl"] .gfDrawerNav button{text-align:right}
/* 2. Readable small text: search hint, stat labels, section counts. */
.uiSearchScopeHint{font-size:12px!important;line-height:1.35!important;color:var(--muted,#9fb2c4)!important;opacity:.9}
.uiStat .l{font-size:13px!important;font-weight:700!important;opacity:.92}
.uiSection small{font-size:12px!important;font-weight:800!important;padding:3px 9px;border-radius:999px;background:rgba(127,162,255,.12);color:#cfe0ff!important;white-space:nowrap}
/* 3. Stat cards fill the row instead of leaving empty columns. */
.uiStatGrid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important}
/* 4. One scroll only: order card lists grow with the page (no box-inside-a-box scrollbar). */
.uiProductionOrderCards,.serviceProductionOrderCards{max-height:none!important;overflow:visible!important}
/* 5. Mixed Hebrew/Arabic names next to English text keep their own direction. */
.orderCustomerName{unicode-bidi:plaintext}
/* 6. Consistent table headers on the service order screen. */
.serviceUnifiedTable th{text-transform:uppercase;letter-spacing:.04em}
/* 7. Language buttons keep one size on every screen. */
@media(min-width:901px){.langs .lang{font-size:15px!important;min-height:34px;padding:4px 10px!important}}
/* 8. Service order summary bar. */
.serviceSummaryBar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.serviceSummaryBar span{padding:6px 12px;border-radius:999px;border:1px solid rgba(127,162,255,.25);background:rgba(127,162,255,.08);font-size:13px;font-weight:800;color:#dce8ff}
.serviceSummaryBar span.ready{border-color:rgba(68,214,140,.35);background:rgba(68,214,140,.10);color:#a9f0c8}
.serviceSummaryBar span.issue{border-color:rgba(255,111,120,.35);background:rgba(255,111,120,.10);color:#ffb7bd}
.serviceSummaryBar span.edited{border-color:rgba(82,200,255,.35);background:rgba(82,200,255,.10);color:#bfeeff}
/* 9. Whole-order Ready button: clear and easy to find. */
.orderReadyAllButton{font-weight:900!important;font-size:14px!important;padding:10px 16px!important;border-radius:12px!important}
.orderReadyAllBar{display:flex;justify-content:flex-end;gap:10px;margin:12px 0}
html[dir="rtl"] .orderReadyAllBar{justify-content:flex-start}
/* 10. Phones: service order rows keep size, pieces and status on screen (they were pushed off the right edge). */
@media(max-width:700px){
  .serviceUnifiedDetail .serviceUnifiedTable tr.serviceGlassRow{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;grid-template-areas:"no desc desc" "no size pcs" "no act act"!important;gap:6px 10px!important;align-items:center!important;width:100%!important;padding:10px 8px!important}
  .serviceUnifiedDetail .serviceUnifiedTable tr.serviceGlassRow>td{width:auto!important;min-width:0!important;max-width:none!important;padding:0!important;border:0!important}
  .serviceUnifiedDetail .serviceUnifiedTable tr.serviceGlassRow>td.serviceLineCell{grid-area:no;align-self:start!important}
  .serviceUnifiedDetail .serviceUnifiedTable tr.serviceGlassRow>td.serviceDescCell{grid-area:desc}
  .serviceUnifiedDetail .serviceUnifiedTable tr.serviceGlassRow>td.serviceSizeCell{grid-area:size;justify-content:flex-start!important}
  .serviceUnifiedDetail .serviceUnifiedTable tr.serviceGlassRow>td.servicePcsCell{grid-area:pcs;justify-content:flex-end!important}
  .serviceUnifiedDetail .serviceUnifiedTable tr.serviceGlassRow>td.serviceActionCell{grid-area:act;justify-content:flex-start!important}
  .serviceUnifiedDetail .serviceUnifiedTable thead{display:none!important}
  .serviceUnifiedDetail .serviceUnifiedTable,.serviceUnifiedDetail .serviceUnifiedTable tbody{display:block!important;min-width:0!important;width:100%!important}
}
/* v436 */
.editedByLabel{display:block;margin-top:2px;font-size:10px;font-weight:700;opacity:.85;white-space:normal}
.serviceWorkBanner{margin:0 0 12px}
/* v437 customer page */
/* Card colours follow the card's meaning, not its position (Ready was red on the customer page). */
.metrics .uiStat.green,.uiStatGrid .uiStat.green{border-top-color:#20d991!important}
.metrics .uiStat.red,.uiStatGrid .uiStat.red{border-top-color:#ff5067!important}
.metrics .uiStat.orange,.uiStatGrid .uiStat.orange{border-top-color:#ffab3d!important}
/* Customers do not need their own company name on every card. */
.uiCustomerUnifiedOrders .orderCustomerName{display:none!important}
/* Delivered card: label and value on one line. */
.deliveredCardMeta>div,.deliveryWorkspaceMeta>div{display:block!important}
.deliveredCardMeta>div>b,.deliveryWorkspaceMeta>div>b{display:inline!important;margin-inline-end:4px}
/* Service report: balanced columns; the edit box no longer stretches across the row. */
@media(min-width:701px){
  .serviceUnifiedTable th:nth-child(1){width:6%}
  .serviceUnifiedTable th:nth-child(2){width:40%}
  .serviceUnifiedTable th:nth-child(3){width:16%}
  .serviceUnifiedTable th:nth-child(4){width:10%}
  .serviceUnifiedTable th:nth-child(5){width:28%}
  .serviceUnifiedTable .serviceEditedActionBadge{max-width:320px!important}
}

/* ===== v438 ===== */
/* Customer order cards: one colour per state (In production blue, Ready green, Partially amber, Delivered grey-teal). */
.uiCustomerUnifiedOrders .orderCard.custState{position:relative;overflow:hidden;border-width:1px!important;transition:transform .15s ease,border-color .15s ease}
.uiCustomerUnifiedOrders .orderCard.custState{border-inline-start:7px solid var(--cust-accent)!important}
.uiCustomerUnifiedOrders .orderCard.custState-progress{--cust-accent:#3b8dff;background:linear-gradient(135deg,rgba(59,141,255,.30),rgba(8,20,38,.92))!important;border-color:rgba(59,141,255,.38)!important}
.uiCustomerUnifiedOrders .orderCard.custState-ready{--cust-accent:#20d991;background:linear-gradient(135deg,rgba(32,217,145,.30),rgba(8,20,38,.92))!important;border-color:rgba(32,217,145,.42)!important}
.uiCustomerUnifiedOrders .orderCard.custState-partial{--cust-accent:#ffab3d;background:linear-gradient(135deg,rgba(255,171,61,.28),rgba(8,20,38,.92))!important;border-color:rgba(255,171,61,.40)!important}
.uiCustomerUnifiedOrders .orderCard.custState-delivered{--cust-accent:#7f97ad;background:linear-gradient(135deg,rgba(127,151,173,.20),rgba(8,20,38,.94))!important;border-color:rgba(127,151,173,.30)!important;opacity:.92}
.uiCustomerUnifiedOrders .orderCard.custUrgent{box-shadow:0 0 0 2px rgba(255,80,103,.55),0 8px 24px rgba(0,0,0,.25)!important}
.uiCustomerUnifiedOrders .orderCard.custState-ready .pill,.uiCustomerUnifiedOrders .orderCard.custState-ready .orderBadges span:first-child{background:rgba(32,217,145,.16)!important;color:#9ff3cf!important;border-color:rgba(32,217,145,.4)!important}
.uiCustomerUnifiedOrders .orderCard.custState-partial .pill{background:rgba(255,171,61,.15)!important;color:#ffd79c!important}
.uiStat.selected{outline:2px solid rgba(255,255,255,.55);outline-offset:2px;transform:translateY(-1px)}
.custFilterBar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding:10px 14px;border-radius:12px;background:rgba(127,162,255,.10);border:1px solid rgba(127,162,255,.25);font-weight:800}

/* Line cards inside an order (customer): number, description, size and pieces, status chip. */
.custLine{display:block;padding:14px 16px!important;margin:0 0 10px!important;border-radius:14px!important;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.02))!important;border:1px solid rgba(145,190,215,.16)!important;border-inline-start:4px solid var(--line-accent,#3b8dff)!important;box-shadow:none!important}
.custLine-ready{--line-accent:#20d991}.custLine-delivered{--line-accent:#7f97ad}.custLine-progress{--line-accent:#3b8dff}
.custLineHead{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}
.custLineNo{display:inline-grid;place-items:center;min-width:34px;height:34px;border-radius:10px;background:rgba(127,162,255,.12);color:#cfe0ff;font-weight:900;font-size:13px}
.custLineMain{min-width:0;display:flex;flex-direction:column;gap:4px}
.custLineDesc{font-size:15px;line-height:1.35;font-weight:800;overflow-wrap:anywhere}
.custLineMeta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--muted,#9fb2c4)}
.custLineMeta bdi{font-weight:800;color:#dce8ff}
.custLineChip{white-space:nowrap;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:900;border:1px solid transparent}
.custLineChip.ready{background:rgba(32,217,145,.14);color:#9ff3cf;border-color:rgba(32,217,145,.35)}
.custLineChip.progress{background:rgba(59,141,255,.14);color:#bcd6ff;border-color:rgba(59,141,255,.35)}
.custLineChip.delivered{background:rgba(127,151,173,.16);color:#d6e2ec;border-color:rgba(127,151,173,.35)}
.custLineDelivery{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;padding:8px 12px;border-radius:10px;background:rgba(255,171,61,.08);border:1px solid rgba(255,171,61,.25);font-size:13px}
@media(max-width:560px){.custLineHead{grid-template-columns:auto minmax(0,1fr)}.custLineChip{grid-column:2;justify-self:start}}

/* Staff/office line rows: softer, rounder, more breathing room. */
.compactLineRow.glassLineRow{border-radius:14px!important;margin-bottom:8px!important;border:1px solid rgba(145,190,215,.14)!important;transition:background .15s ease,border-color .15s ease}
.compactLineRow.glassLineRow.isReady{border-inline-start:4px solid #20d991!important}
.compactLineRow.glassLineRow.hasIssue{border-inline-start:4px solid #ff5067!important}
.compactLineRow.glassLineRow.isEdited{border-inline-start:4px solid #52c8ff!important}

/* Smooth scrolling on phones/tablets: no blur behind each card, pause the moving background while scrolling,
   skip drawing cards that are off screen, and leave a margin on both sides for the finger. */
html.gfScrolling body,html.gfScrolling body::before,html.gfScrolling body::after{animation-play-state:paused!important}
.orderCard,.lineCard,.compactLineRow{content-visibility:auto;contain-intrinsic-size:auto 200px}
@media (hover:none),(max-width:900px){
  .orderCard,.lineCard,.compactLineRow,.uiPanel,.uiStat,.glass{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .orderCard{touch-action:pan-y;-webkit-tap-highlight-color:transparent}
  .orderCard:hover{transform:none!important}
}
@media(max-width:700px){
  .uiProductionOrderCards,.serviceProductionOrderCards,.uiCustomerUnifiedOrders{gap:14px!important;padding-inline:14px!important}
  .uiPanel{padding-inline:8px!important}
  body{overscroll-behavior-y:contain}
}

/* ===== v443: phones scroll with one finger ===== */
/* Order lists and activity lists no longer scroll inside the page; the page itself scrolls. */
@media (max-width:1100px),(pointer:coarse){
  html body .uiStaffOrderList,html body .uiProductionOrderCards,html body .serviceProductionOrderCards,
  html body .uiProductionWork .uiProductionOrderCards,html body .uiHomeWorkPair .uiActivityList,html body .uiActivityList{
    max-height:none!important;overflow-y:visible!important;overflow-x:visible!important;overscroll-behavior:auto!important}
  html,html body{overscroll-behavior-y:auto!important}
  /* only the page scrolls: the body must not be a second scroll box */
  html body{overflow-y:visible!important;overflow-x:clip!important;height:auto!important;min-height:100%}
  html body .orderCard{touch-action:manipulation!important}
}
/* Cards are drawn normally (no late drawing that made the page jump while scrolling). */
.orderCard,.lineCard,.compactLineRow{content-visibility:visible!important;contain-intrinsic-size:none!important}

/* ===== v445: order lines shown as one worksheet (rows and columns), not a card per line ===== */
#app .wrap{--ws-line:rgba(160,200,230,.18);--ws-head:rgba(120,170,210,.14);--ws-row:rgba(255,255,255,.025);--ws-alt:rgba(255,255,255,.055);--ws-hover:rgba(95,180,220,.10)}

/* --- production order: header + rows form one sheet --- */
#app .wrap .lineColumnHeader,#app .wrap .compactLineRow.glassLineRow{
  display:grid!important;grid-template-columns:44px minmax(0,1fr) 140px 76px 240px!important;gap:0!important;align-items:stretch!important;
  margin:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;
  border:1px solid var(--ws-line)!important;border-top:0!important;min-height:0!important;background-image:none!important;filter:none!important}
#app .wrap .lineColumnHeader{background:var(--ws-head)!important;border-top:1px solid var(--ws-line)!important;border-radius:10px 10px 0 0!important;position:sticky!important;top:0;z-index:3}
#app .wrap .lineColumnHeader > span{display:flex!important;align-items:center;padding:8px 10px!important;margin:0!important;border:0!important;border-inline-end:1px solid var(--ws-line)!important;background:none!important;
  font-size:11px!important;font-weight:800!important;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)!important;border-radius:0!important}
#app .wrap .lineColumnHeader > span:last-child{border-inline-end:0!important}
#app .wrap .compactLineRow.glassLineRow{background:var(--ws-row)!important}
#app .wrap .compactLineRow.glassLineRow:nth-of-type(even){background:var(--ws-alt)!important}
#app .wrap .compactLineRow.glassLineRow:hover{background:var(--ws-hover)!important}
#app .wrap .compactLineRow.glassLineRow::before,#app .wrap .compactLineRow.glassLineRow::after{content:none!important;display:none!important}
#app .wrap .compactLineRow.glassLineRow + :not(.compactLineRow){margin-top:12px!important}
#app .wrap .compactLineRow.glassLineRow > div{display:flex!important;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;min-width:0!important;max-width:none!important;width:auto!important;flex:none!important;grid-column:auto!important;min-height:0!important;
  margin:0!important;padding:6px 10px!important;border:0!important;border-inline-end:1px solid var(--ws-line)!important;border-radius:0!important;background:none!important;box-shadow:none!important;text-align:start!important}
#app .wrap .compactLineRow.glassLineRow > div:last-child{border-inline-end:0!important}
#app .wrap .compactLineRow.glassLineRow .compactLineNo{align-items:center!important;font-size:13px!important;font-weight:800!important;color:var(--muted)!important;font-variant-numeric:tabular-nums;width:auto!important;height:auto!important}
#app .wrap .compactLineRow.glassLineRow.isReady .compactLineNo{color:var(--green,#4fe39a)!important}
#app .wrap .compactLineRow.glassLineRow.hasIssue{box-shadow:inset 3px 0 0 var(--red,#ff6f78)!important}
html[dir="rtl"] #app .wrap .compactLineRow.glassLineRow.hasIssue{box-shadow:inset -3px 0 0 var(--red,#ff6f78)!important}
#app .wrap .compactLineRow.glassLineRow .compactLineInfo > b{font-size:14px!important;font-weight:700!important;line-height:1.3!important;margin:0!important;text-align:start!important;width:100%}
#app .wrap .compactLineRow.glassLineRow .compactLineInfo em{font-size:12px!important;font-style:normal;color:var(--red,#ff6f78)!important;margin:0!important}
#app .wrap .compactLineRow.glassLineRow .rowEditedBadge{font-size:11px!important;padding:1px 7px!important;margin:0!important}
#app .wrap .compactLineRow.glassLineRow .compactLineRoute{display:flex!important;flex-wrap:wrap;align-items:center;gap:2px 4px;margin:0!important;padding:0!important;font-size:11px!important;line-height:1.2;justify-content:flex-start!important}
#app .wrap .compactLineRow.glassLineRow .compactLineRoute span{padding:1px 6px!important;font-size:11px!important;min-height:0!important;line-height:1.4!important}
#app .wrap .compactLineRow.glassLineRow .compactLineSize,#app .wrap .compactLineRow.glassLineRow .compactLineSize *{font-size:14px!important;font-weight:700!important;font-variant-numeric:tabular-nums}
#app .wrap .compactLineRow.glassLineRow .compactLinePieces{align-items:center!important}
#app .wrap .compactLineRow.glassLineRow .compactLinePieces span{font-size:15px!important;font-weight:800!important;font-variant-numeric:tabular-nums}
#app .wrap .compactLineRow.glassLineRow .compactLinePieces small{font-size:10px!important;opacity:.75}
#app .wrap .compactLineRow.glassLineRow .lineDeliveryTiny{font-size:10px!important;line-height:1.2}
#app .wrap .compactLineRow.glassLineRow .compactLineAction{flex-direction:row!important;flex-wrap:wrap;align-items:center!important;justify-content:flex-start!important;gap:4px!important}
#app .wrap .compactLineRow.glassLineRow .lineActionStack{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:4px!important;margin:0!important;justify-content:flex-start!important}
#app .wrap .compactLineRow.glassLineRow .compactLineAction button{min-height:30px!important;height:auto!important;padding:4px 9px!important;font-size:12px!important;border-radius:7px!important;width:auto!important;margin:0!important;white-space:nowrap;text-transform:none!important;letter-spacing:0!important}
#app .wrap .compactLineRow.glassLineRow .compactLineAction small{font-size:11px!important;line-height:1.25}
#app .wrap .compactLineRow.glassLineRow .lineReadyBadge{font-size:12px!important;padding:2px 8px!important}
/* last row closes the sheet */
#app .wrap .compactLineRow.glassLineRow:not(:has(+ .compactLineRow)){border-radius:0 0 10px 10px!important}

/* --- customer order lines: rows of one sheet --- */
#app .wrap .custLine,#app .wrap .lineCard.customerLine{margin:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;background-image:none!important;
  border:1px solid var(--ws-line)!important;border-top:0!important;background:var(--ws-row)!important}
#app .wrap .custLine:nth-of-type(even){background:var(--ws-alt)!important}
#app .wrap .custLine::before,#app .wrap .custLine::after{content:none!important;display:none!important}
#app .wrap :not(.custLine) + .custLine{border-top:1px solid var(--ws-line)!important;border-radius:10px 10px 0 0!important}
#app .wrap .custLine:not(:has(+ .custLine)){border-radius:0 0 10px 10px!important}
#app .wrap :not(.custLine) + .custLine:not(:has(+ .custLine)){border-radius:10px!important}
#app .wrap .custLine + :not(.custLine){margin-top:12px!important}
#app .wrap .custLine .custLineHead{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;align-items:center!important;gap:0!important;padding:0!important;margin:0!important}
#app .wrap .custLine .custLineHead > *{padding:7px 10px!important;margin:0!important}
#app .wrap .custLine .custLineNo{align-self:stretch;display:flex!important;align-items:center;justify-content:center;border-inline-end:1px solid var(--ws-line)!important;background:none!important;border-radius:0!important;
  font-size:13px!important;font-weight:800!important;color:var(--muted)!important;width:auto!important;height:auto!important;min-width:0!important;box-shadow:none!important}
#app .wrap .custLine .custLineMain{display:flex!important;flex-direction:column;gap:2px;min-width:0}
#app .wrap .custLine .custLineDesc{font-size:14px!important;font-weight:700!important;line-height:1.3!important}
#app .wrap .custLine .custLineMeta{font-size:13px!important;gap:4px!important}
#app .wrap .custLine .custLineChip{font-size:11px!important;padding:2px 8px!important;white-space:nowrap}
#app .wrap .custLine .custLineDelivery{margin:0!important;padding:4px 10px 6px 48px!important;border-radius:0!important;font-size:12px!important;background:none!important;border:0!important;border-top:1px dashed var(--ws-line)!important}
html[dir="rtl"] #app .wrap .custLine .custLineDelivery{padding:4px 48px 6px 10px!important}

/* --- service order: keep it a real table on every screen --- */
#app .wrap .serviceUnifiedTable{display:table!important;width:100%!important;border-collapse:collapse!important;border-spacing:0!important;table-layout:auto!important;border:1px solid var(--ws-line)!important;border-radius:0!important}
#app .wrap .serviceUnifiedTable thead{display:table-header-group!important}
#app .wrap .serviceUnifiedTable tbody{display:table-row-group!important}
#app .wrap .serviceUnifiedTable tr,#app .wrap .serviceUnifiedTable tbody tr.serviceGlassRow{display:table-row!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:none!important;grid-template-columns:none!important}
#app .wrap .serviceUnifiedTable th,#app .wrap .serviceUnifiedTable td,#app .wrap .serviceUnifiedTable tbody tr.serviceGlassRow td{display:table-cell!important;vertical-align:middle!important;padding:6px 10px!important;margin:0!important;
  border:0!important;border-bottom:1px solid var(--ws-line)!important;border-inline-end:1px solid var(--ws-line)!important;border-radius:0!important;box-shadow:none!important;text-align:start!important;min-height:0!important;width:auto;grid-area:auto!important}
#app .wrap .serviceUnifiedTable th:last-child,#app .wrap .serviceUnifiedTable td:last-child{border-inline-end:0!important}
#app .wrap .serviceUnifiedTable th{background:var(--ws-head)!important;font-size:11px!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)!important;white-space:nowrap}
#app .wrap .serviceUnifiedTable tbody tr.serviceGlassRow td{background:var(--ws-row)!important}
#app .wrap .serviceUnifiedTable tbody tr.serviceGlassRow:nth-child(even) td{background:var(--ws-alt)!important}
#app .wrap .serviceUnifiedTable tbody tr.serviceGlassRow:hover td{background:var(--ws-hover)!important}
#app .wrap .serviceUnifiedTable tbody tr.serviceGlassRow.serviceIssueRow td:first-child{box-shadow:inset 3px 0 0 var(--red,#ff6f78)!important}
html[dir="rtl"] #app .wrap .serviceUnifiedTable tbody tr.serviceGlassRow.serviceIssueRow td:first-child{box-shadow:inset -3px 0 0 var(--red,#ff6f78)!important}
#app .wrap .serviceUnifiedTable td.serviceLineCell{width:44px;white-space:nowrap}
#app .wrap .serviceUnifiedTable .serviceLineNumber{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;font-size:13px!important;font-weight:800!important;color:var(--muted)!important;width:auto!important;height:auto!important;min-width:0!important}
#app .wrap .serviceUnifiedTable td.serviceDescCell b{font-size:14px!important;font-weight:700!important;line-height:1.3}
#app .wrap .serviceUnifiedTable td.serviceSizeCell,#app .wrap .serviceUnifiedTable td.servicePcsCell{white-space:nowrap;font-weight:700!important;font-variant-numeric:tabular-nums}
#app .wrap .serviceUnifiedTable td.servicePcsCell{width:56px;font-size:15px!important}
#app .wrap .serviceUnifiedTable td.serviceSizeCell *{font-size:14px!important}
#app .wrap .serviceUnifiedTable .serviceActionContent{display:flex!important;flex-wrap:wrap;gap:4px!important;align-items:center;justify-content:flex-start!important}
#app .wrap .serviceUnifiedTable .serviceActionCell button{min-height:30px!important;padding:4px 9px!important;font-size:12px!important;border-radius:7px!important;width:auto!important;margin:0!important;white-space:nowrap}
#app .wrap .serviceUnifiedTable .rowEditedBadge,#app .wrap .serviceUnifiedTable .serviceIssueTag,#app .wrap .serviceUnifiedTable .lineReadyBadge{font-size:11px!important;padding:2px 7px!important;border-radius:6px!important}
#app .wrap .serviceUnifiedTable .compactLineRoute span,#app .wrap .serviceUnifiedTable [style*="--route-color"]{font-size:11px!important;padding:1px 6px!important}

/* --- phones: same sheet, narrower columns, small buttons --- */
@media (max-width:760px){
  #app .wrap .lineColumnHeader,#app .wrap .compactLineRow.glassLineRow{grid-template-columns:28px minmax(0,1fr) 66px 30px 84px!important}
  #app .wrap .lineColumnHeader > span{padding:6px 4px!important;font-size:9px!important;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #app .wrap .compactLineRow.glassLineRow > div{padding:5px 4px!important}
  #app .wrap .compactLineRow.glassLineRow .compactLineNo{font-size:11px!important}
  #app .wrap .compactLineRow.glassLineRow .compactLineInfo > b{font-size:12px!important}
  #app .wrap .compactLineRow.glassLineRow .compactLineRoute,#app .wrap .compactLineRow.glassLineRow .compactLineRoute span{font-size:9px!important;padding:0 3px!important}
  #app .wrap .compactLineRow.glassLineRow .compactLineSize,#app .wrap .compactLineRow.glassLineRow .compactLineSize *{font-size:11px!important}
  #app .wrap .compactLineRow.glassLineRow .compactLineSize bdi{white-space:normal;word-break:break-word}
  #app .wrap .compactLineRow.glassLineRow .compactLinePieces span{font-size:13px!important}
  #app .wrap .compactLineRow.glassLineRow .compactLinePieces small{display:none!important}
  #app .wrap .compactLineRow.glassLineRow .compactLineAction,#app .wrap .compactLineRow.glassLineRow .lineActionStack{flex-direction:column!important;align-items:stretch!important;flex-wrap:nowrap!important;width:100%}
  #app .wrap .compactLineRow.glassLineRow .compactLineAction button{min-height:28px!important;padding:3px 4px!important;font-size:10px!important;white-space:normal;line-height:1.15;width:100%!important}
  #app .wrap .compactLineRow.glassLineRow .compactLineAction small{font-size:9px!important}
  #app .wrap .serviceUnifiedTable th,#app .wrap .serviceUnifiedTable td,#app .wrap .serviceUnifiedTable tbody tr.serviceGlassRow td{padding:5px 4px!important}
  #app .wrap .serviceUnifiedTable th{font-size:9px!important;letter-spacing:0}
  #app .wrap .serviceUnifiedTable td.serviceLineCell{width:28px}
  #app .wrap .serviceUnifiedTable td.serviceDescCell b{font-size:12px!important}
  #app .wrap .serviceUnifiedTable td.serviceSizeCell *{font-size:11px!important}
  #app .wrap .serviceUnifiedTable td.servicePcsCell{width:30px;font-size:13px!important}
  #app .wrap .serviceUnifiedTable .serviceActionCell{width:84px}
  #app .wrap .serviceUnifiedTable .serviceActionCell button{min-height:28px!important;padding:3px 4px!important;font-size:10px!important;white-space:normal;line-height:1.15;width:100%!important}
  #app .wrap .serviceUnifiedTable .serviceActionContent{flex-direction:column;align-items:stretch}
  #app .wrap .custLine .custLineHead{grid-template-columns:30px minmax(0,1fr) auto!important}
  #app .wrap .custLine .custLineHead > *{padding:6px 6px!important}
  #app .wrap .custLine .custLineDesc{font-size:13px!important}
  #app .wrap .custLine .custLineMeta{font-size:12px!important}
  #app .wrap .custLine .custLineChip{font-size:10px!important;padding:2px 6px!important}
}
#app .wrap .lineColumnHeader > span{width:auto!important;min-width:0!important;max-width:none!important}
#app .wrap .compactLineRow.glassLineRow .compactLinePieces{flex-direction:row!important;flex-wrap:wrap;gap:2px 4px!important;align-items:baseline!important;align-content:center}
/* undo older per-line card layouts (named grid areas, hidden header cells) */
#app .wrap .lineColumnHeader,#app .wrap .compactLineRow.glassLineRow{grid-template-areas:none!important;min-width:0!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
#app .wrap .compactLineRow.glassLineRow > div,#app .wrap .lineColumnHeader > span{grid-area:auto!important;grid-row:auto!important;order:0!important}
#app .wrap .lineColumnHeader > span{display:flex!important;visibility:visible!important}
#app .wrap .compactLineRow.glassLineRow .compactLineAction,#app .wrap .compactLineRow.glassLineRow .lineActionStack{display:flex!important}
@media (max-width:760px){
  #app .wrap .serviceUnifiedTable{table-layout:fixed!important}
  #app .wrap .serviceUnifiedTable th:nth-child(1){width:28px!important}
  #app .wrap .serviceUnifiedTable th:nth-child(3){width:64px!important}
  #app .wrap .serviceUnifiedTable th:nth-child(4){width:30px!important}
  #app .wrap .serviceUnifiedTable th:nth-child(5){width:86px!important}
  #app .wrap .serviceUnifiedTable th,#app .wrap .serviceUnifiedTable td{overflow:hidden;word-break:break-word;white-space:normal!important}
  #app .wrap .serviceUnifiedTable td.serviceSizeCell bdi{white-space:normal!important}
  #app .wrap .serviceUnifiedTable .rowEditedBadge,#app .wrap .serviceUnifiedTable .serviceIssueTag{display:block;max-width:100%;white-space:normal!important;font-size:9px!important;padding:2px 4px!important;border-radius:6px!important}
  #app .wrap .serviceUnifiedTable td.serviceDescCell [style*="--route-color"],#app .wrap .serviceUnifiedTable td.serviceDescCell span{font-size:9px!important;padding:0 4px!important;white-space:nowrap}
}
@media (max-width:760px){
  #app .wrap .compactLineRow.glassLineRow .compactLineSize,#app .wrap .compactLineRow.glassLineRow .compactLineSize bdi,#app .wrap .compactLineRow.glassLineRow .compactLineSize .productionDimensionValue{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:normal!important;overflow-wrap:anywhere!important;max-width:100%!important;line-height:1.25!important;display:block!important;text-align:center!important}
  #app .wrap .compactLineRow.glassLineRow .compactLineSize{align-items:center!important}
}

/* ===== v446: line order buttons + extra glass lines ===== */
#app .wrap .lineSortBar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 8px}
#app .wrap .lineSortBar span{font-size:12px;color:var(--muted)}
#app .wrap .lineSortBar button{min-height:32px;padding:4px 12px;border-radius:999px;border:1px solid var(--ws-line,rgba(160,200,230,.18));background:transparent;color:inherit;font-size:12px;font-weight:700;cursor:pointer}
#app .wrap .lineSortBar button.on{background:var(--accent,#52c8ff);border-color:var(--accent,#52c8ff);color:#04121c}
#app .wrap .extraLineBadge,#app .wrap .extraLineTag{display:inline-block;margin-top:2px;padding:1px 8px;border-radius:6px;font-size:11px;font-weight:700;background:rgba(255,173,92,.16);color:#ffc98f;border:1px solid rgba(255,173,92,.35)}
#app .wrap .compactLineRow.glassLineRow .extraLineBadge{white-space:normal}
#app .wrap .extraLineTools{margin:12px 0}
#app .wrap .extraLineAddBtn{min-height:42px;border-style:dashed!important}
#app .wrap .extraLineForm{margin-top:10px;padding:14px;display:flex;flex-direction:column;gap:10px;border-radius:12px}
#app .wrap .extraLineForm label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
#app .wrap .extraLineForm input,#app .wrap .extraLineForm select{min-height:42px;font-size:15px;padding:6px 10px;border-radius:9px;background:rgba(8,20,32,.85)!important;color:#eef6ff!important;border:1px solid rgba(160,200,230,.28)!important;-webkit-text-fill-color:#eef6ff}
#app .wrap .extraLineForm select option{background:#0b1a28;color:#eef6ff}
#app .wrap .extraLineSize{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#app .wrap .extraLineButtons{display:flex;gap:8px;flex-wrap:wrap}
#app .wrap .extraLineButtons button{min-height:42px;flex:1 1 140px}
#app .wrap .extraLineNote{color:#ffc98f}

/* v448: extra glass on service orders */
#app .wrap .serviceExtraTools{margin:6px 0 10px}
#app .wrap .serviceExtraTools .extraLineHint{display:inline-block;margin-inline-start:10px;color:var(--muted);font-size:12px}
#app .wrap .serviceUnifiedTable .extraLineBadge{display:block;margin-top:3px;width:auto;max-width:100%;white-space:normal!important;overflow-wrap:anywhere;line-height:1.3}
#app .wrap .serviceUnifiedTable .extraLineActions{display:flex;gap:4px;flex-wrap:wrap}

/* v449: report disclaimer */
#app .wrap .reportDisclaimer{margin:10px 16px 12px;padding:8px 12px;border:1px solid rgba(255,173,92,.55);border-radius:8px;background:rgba(255,173,92,.12);color:#ffd2a1;font-size:13px;font-weight:700;line-height:1.4}
@media (max-width:760px){#app .wrap .reportDisclaimer{margin:8px 8px 10px;font-size:12px}}

/* v451: make "Add unregistered pieces" easy to find */
#app .wrap .extraLineAddBtn.extraLineAddBig{min-height:48px!important;padding:8px 18px!important;border-radius:10px!important;border:2px solid #f59e0b!important;background:rgba(245,158,11,.16)!important;color:#ffd08a!important;font-size:15px!important;font-weight:800!important;cursor:pointer}
#app .wrap .extraLineAddBtn.extraLineAddBig:hover{background:rgba(245,158,11,.26)!important}
#app .wrap .serviceExtraBottom{padding:12px 16px 4px}
@media (max-width:760px){#app .wrap .extraLineAddBtn.extraLineAddBig{width:100%}#app .wrap .serviceExtraBottom{padding:10px 8px 2px}}

/* v452: retry button when loading takes too long */
.gfLoadRetry{margin-top:14px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;max-width:300px}
.gfLoadRetry p{margin:0;font-size:14px;line-height:1.4;color:#cfe3f3}
.gfLoadRetry button{min-height:46px;padding:8px 22px;border-radius:12px;border:0;background:#52c8ff;color:#04121c;font-weight:800;font-size:16px;cursor:pointer}

.gfBuildTag{margin-top:12px;font-size:12px;text-align:center}.gfBuildTag a{color:inherit;text-decoration:underline}
