*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #070A12;--text: #EAF0FF;--surface: rgba(255, 255, 255, .05);--surface2: rgba(255, 255, 255, .015);--border: rgba(255, 255, 255, .09);--muted: #8A98B8;--faint: #56627E;--sidebar: linear-gradient(180deg, rgba(10, 15, 28, .92), rgba(7, 10, 18, .96));--header: rgba(7, 10, 18, .72);--accent-a: #4F8EF7;--accent-b: #00E5C0;--danger: #FF5C6C;--warn: #FFB23E;--success: #2ECC71;--purple: #C084FC}html[data-theme=light]{--bg: #e8ecf4;--text: #1d2535;--surface: #ffffff;--surface2: #f4f6fb;--border: #e3e8f1;--muted: #57617a;--faint: #97a1b7;--sidebar: linear-gradient(180deg, #ffffff, #eef2f8);--header: rgba(255, 255, 255, .82)}html[data-theme=light] body{background:#e8ecf4}html[data-theme=light] .bg-layer{opacity:.5}html,body{background:var(--bg);color:var(--text);font-family:IBM Plex Sans Thai,Space Grotesk,sans-serif;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:9px}::-webkit-scrollbar-thumb:hover{background:#4f8ef780}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}50%{transform:translate(40px,-30px) scale(1.15)}}@keyframes orbFloat2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-50px,40px) scale(1.1)}}@keyframes gridShift{0%{background-position:0 0}to{background-position:46px 46px}}@keyframes scanMove{0%{top:0;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}@keyframes sheen{0%{transform:translate(-120%) skew(-18deg)}to{transform:translate(220%) skew(-18deg)}}@keyframes glowPulse{0%,to{box-shadow:0 0 #00e5c059}50%{box-shadow:0 0 0 8px #00e5c000}}@keyframes pageIn{0%{transform:translateY(16px)}to{transform:translateY(0)}}@keyframes floatUp{0%{transform:translateY(0);opacity:0}10%{opacity:.7}to{transform:translateY(-120px);opacity:0}}@keyframes spin360{to{transform:rotate(360deg)}}@keyframes ringPulse{0%{transform:scale(.6);opacity:.9}to{transform:scale(2.4);opacity:0}}@keyframes dashFlow{to{stroke-dashoffset:-24}}@keyframes blip{0%,to{opacity:.3}50%{opacity:1}}@keyframes loginGrad{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes loginRise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes shineSweep{0%{transform:translate(-120%) skew(-20deg)}60%,to{transform:translate(320%) skew(-20deg)}}@keyframes marqueeUp{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes floatCard{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-14px) rotate(-2deg)}}@keyframes floatCard2{0%,to{transform:translateY(0) rotate(3deg)}50%{transform:translateY(-18px) rotate(3deg)}}@keyframes ringSpin{to{transform:rotate(360deg)}}@keyframes jfloat{0%,to{transform:translateY(0)}50%{transform:translateY(-26px)}}@keyframes shineSweepBtn{0%{transform:translate(-120%) skew(-18deg)}to{transform:translate(220%) skew(-18deg)}}@keyframes neonBreath{0%,to{opacity:.82;filter:drop-shadow(0 0 10px rgba(0,229,192,.32)) drop-shadow(0 0 22px rgba(79,142,247,.24))}50%{opacity:1;filter:drop-shadow(0 0 16px rgba(0,229,192,.5)) drop-shadow(0 0 34px rgba(79,142,247,.34))}}@keyframes stationDrift{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes activeRing{0%,to{opacity:.18;stroke-width:1.4}50%{opacity:.55;stroke-width:2.6}}@keyframes flowGlow{0%,to{opacity:.55}50%{opacity:.95}}@keyframes routePulse{0%{stroke-dashoffset:0;opacity:.72}50%{opacity:1}to{stroke-dashoffset:-42;opacity:.72}}@keyframes workerBreathe{0%,to{transform:translateY(0)}50%{transform:translateY(-2.2px)}}@keyframes screenPulse{0%,to{opacity:.72}50%{opacity:1}}@keyframes layoutPop{0%,to{transform:scale(.38) translateY(0)}50%{transform:scale(.4) translateY(-5px)}}@keyframes printSheet{0%{transform:translateY(-8px);opacity:.55}45%{opacity:1}to{transform:translateY(18px);opacity:.75}}.factory-station{transform-box:fill-box;transform-origin:center;animation:stationDrift 5.2s ease-in-out infinite;transition:filter .18s ease,opacity .18s ease}.factory-station:hover{filter:drop-shadow(0 0 16px var(--station-color))}.factory-active-ring{animation:activeRing 2.4s ease-in-out infinite}.factory-flow-line{filter:drop-shadow(0 0 7px currentColor);animation-name:dashFlow,flowGlow!important;animation-duration:1.15s,2.8s!important;animation-timing-function:linear,ease-in-out!important;animation-iteration-count:infinite,infinite!important}.factory-neon-route{stroke-dasharray:18 24;filter:drop-shadow(0 0 7px rgba(116,217,255,.8)) drop-shadow(0 0 18px rgba(79,142,247,.45));animation:routePulse 1.45s linear infinite}.factory-flow-token{animation:flowTokenGlow 1.4s ease-in-out infinite}.factory-worker,.factory-plant{transform-box:fill-box;transform-origin:center bottom}.factory-worker{animation:workerBreathe 2.8s ease-in-out infinite}.factory-arm-swing{transform-box:fill-box;transform-origin:top center;animation:armWork 1.1s ease-in-out infinite}.factory-screen-pulse{animation:screenPulse 1.8s ease-in-out infinite}.factory-layout-pop{transform-box:fill-box;transform-origin:center;animation:layoutPop 2.4s ease-in-out infinite}.factory-print-sheet{animation:printSheet 2.1s ease-in-out infinite}.factory-cut-head{animation:cutHead 2.2s ease-in-out infinite}.factory-roll-spin{transform-box:fill-box;transform-origin:center;animation:rollSpin .72s ease-in-out infinite}.factory-needle{animation:needleTap .42s ease-in-out infinite}.factory-qc-lens{transform-box:fill-box;transform-origin:center;animation:qcLens 2.2s ease-in-out infinite}.factory-box-flap{transform-box:fill-box;transform-origin:center top;animation:boxFlap 1.6s ease-in-out infinite}.factory-truck-light{animation:truckLight .8s ease-in-out infinite}.factory-cargo{animation:cargoLift 1.8s ease-in-out infinite}.factory-plant{animation:plantSway 3.4s ease-in-out infinite}.factory-zone-label{filter:drop-shadow(0 10px 20px rgba(0,0,0,.32))}.hov-lift{transition:all .16s}.hov-card:hover{border-color:#ffffff2e!important;transform:translateY(-3px);box-shadow:0 16px 40px #0006,inset 0 1px 0 var(--border)}.hov-nav:hover{background:var(--surface)!important;color:var(--text)!important}.hov-row:hover{background:#4f8ef70f}.hov-bright:hover{filter:brightness(1.08);transform:translateY(-1px)}.hov-urgent:hover{transform:translateY(-3px);border-color:#ff5c6c80!important;box-shadow:0 16px 40px #ff5c6c2e}.hov-quickpick{transition:all .15s}.hov-quickpick:hover{border-color:#4f8ef766!important;background:#4f8ef714!important;transform:translate(2px)}.hov-logout:hover{color:#ff8a95!important;background:#ff5c6c1a}.hov-icon:hover{color:var(--text)!important;border-color:#4f8ef7!important}.hov-notif:hover{background:var(--surface2)}.hov-ghost:hover{color:var(--text)!important;border-color:#4f8ef7!important}input::placeholder{color:var(--faint)}input,select,textarea{min-width:0}@media print{@page{size:A4 portrait;margin:10mm}html,body{background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.bg-layer,aside,header,.no-print{display:none!important}.app-shell,.main-col{display:block!important}main{display:block!important;padding:0!important;overflow:visible!important}.print-page{display:block!important;width:100%!important}.print-page>*{width:100%!important;max-width:100%!important;position:static!important}.print-area{display:block!important;gap:0!important;width:100%!important;max-width:100%!important}.print-area *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.print-sheet{box-shadow:none!important;border:1px solid #d4d8e2!important;border-radius:0!important;margin:0 0 6mm!important;width:100%!important;max-width:100%!important;height:271mm!important;min-height:271mm!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;page-break-after:always;break-after:page}.print-sheet:last-child{page-break-after:auto;break-after:auto;margin-bottom:0!important}.sheet-fill{flex:1 1 auto!important;min-height:0!important}}.print-sheet{min-height:1040px;display:flex;flex-direction:column}.sheet-fill{flex:1 1 auto;min-height:0}.app-shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.app-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto}.app-main{flex:1;padding:26px;overflow-x:hidden}.app-header{padding:0 26px}.nav-toggle,.nav-overlay,.search-toggle{display:none}@media (max-width: 1180px){.header-clock-wrap{display:none!important}}@media (max-width: 860px){.app-shell{grid-template-columns:1fr}.app-sidebar{position:fixed;top:0;left:0;bottom:0;width:266px;height:100vh;z-index:130;transform:translate(-106%);transition:transform .26s cubic-bezier(.4,0,.2,1);box-shadow:0 0 60px #0009}.app-sidebar.open{transform:translate(0)}.nav-overlay.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:120}.nav-toggle{display:inline-flex!important}.app-main{padding:16px 13px}.app-header{padding:0 13px;gap:8px}.header-sub,.btn-label{display:none!important}.search-toggle{display:inline-flex!important}.header-search{display:none!important}.header-search.search-open{display:flex!important;position:absolute;top:64px;left:13px;right:13px;min-width:0!important;z-index:70;padding:11px 14px;box-shadow:0 16px 40px #00000073}.rgrid-side,.rgrid-2,.wo-grid,.rgrid-userform{grid-template-columns:1fr!important}.rgrid-stats{grid-template-columns:repeat(2,1fr)!important}.rgrid-side>*,.rgrid-2>*,.wo-grid>*,.rgrid-userform>*,.rgrid-stats>*{min-width:0!important;grid-column:auto!important}}@media (max-width: 520px){.rgrid-stats{grid-template-columns:1fr!important}}
