@import"https://fonts.googleapis.com/css2?family=Nunito:wght@700;800;900&family=Rajdhani:wght@500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root[data-theme=dark]{--bg: #000000;--surface: #0d0d0d;--surface2: #141414;--surface3: #1c1c1c;--border: rgba(255,255,255,.11);--border-hi: rgba(255,255,255,.22);--txt-1: #f0f0f0;--txt-2: #aaaaaa;--txt-3: #666666;--accent: #1d6fe8;--accent-lt: #5b9ef8;--copper: #c8782a;--copper-lt: #f0943a;--green: #22c55e;--green-bg: rgba(34,197,94,.13);--amber: #f59e0b;--amber-bg: rgba(245,158,11,.13);--red: #ef4444;--red-bg: rgba(239,68,68,.12);--cyan: #22d3ee;--shadow: 0 2px 10px rgba(0,0,0,.7);--radius: 6px}:root[data-theme=light]{--bg: #f0f2f6;--surface: #ffffff;--surface2: #f7f8fa;--surface3: #ebedf2;--border: rgba(0,0,0,.08);--border-hi: rgba(0,0,0,.16);--txt-1: #1a202e;--txt-2: #4a5568;--txt-3: #9aa5b8;--accent: #2563eb;--accent-lt: #3b82f6;--copper: #9a5f24;--copper-lt: #b87333;--green: #16803a;--green-bg: rgba(22,128,58,.1);--amber: #b45309;--amber-bg: rgba(180,83,9,.1);--red: #c01c1c;--red-bg: rgba(192,28,28,.08);--cyan: #0369a1;--shadow: 0 1px 4px rgba(0,0,0,.12);--radius: 6px}:root[data-theme=navy]{--bg: #0d1117;--surface: #121820;--surface2: #161e28;--surface3: #1c2838;--border: rgba(100,160,255,.08);--border-hi: rgba(100,160,255,.16);--txt-1: #cdd9f0;--txt-2: #6e88b8;--txt-3: #384e72;--accent: #1d6fa4;--accent-lt: #3498db;--copper: #b87333;--copper-lt: #d4924c;--green: #1fa864;--green-bg: rgba(31,168,100,.12);--amber: #d97706;--amber-bg: rgba(217,119,6,.12);--red: #e53e3e;--red-bg: rgba(229,62,62,.1);--cyan: #0bc5ea;--shadow: 0 2px 10px rgba(0,0,0,.5);--radius: 6px}:root[data-theme=industrial]{--bg: #1a1a1a;--surface: #242424;--surface2: #2c2c2c;--surface3: #333333;--border: rgba(255,255,255,.08);--border-hi: rgba(255,120,0,.25);--txt-1: #f0ece4;--txt-2: #9e9080;--txt-3: #5a5040;--accent: #c85a00;--accent-lt: #f07020;--copper: #c8832a;--copper-lt: #e09040;--green: #4a9e50;--green-bg: rgba(74,158,80,.12);--amber: #e0a020;--amber-bg: rgba(224,160,32,.12);--red: #cc3030;--red-bg: rgba(204,48,48,.1);--cyan: #3a9ec0;--shadow: 0 2px 8px rgba(0,0,0,.4);--radius: 4px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#80808040;border-radius:10px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:#80808080}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:rgba(128,128,128,.25) transparent}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow-x:hidden}body{background:var(--bg);color:var(--txt-1);font-family:Inter,sans-serif;font-size:14px;min-height:100dvh;height:100%;display:flex;flex-direction:column;transition:background .2s,color .2s;overflow-x:hidden}.pane.on{flex:1;display:block}h1,h2,h3,.rj{font-family:Rajdhani,sans-serif}.mono{font-family:JetBrains Mono,monospace}select,input,button{font-family:Inter,sans-serif}.hdr{background:var(--surface);border-bottom:1px solid var(--border-hi);height:52px;display:flex;align-items:center;gap:12px;padding:0 18px;position:sticky;top:0;z-index:200;box-shadow:var(--shadow)}.logo{display:flex;flex-direction:column;justify-content:center;gap:1px;flex-shrink:0}.brand-mark{display:flex;align-items:center;gap:2px;line-height:1}.brand-img-wrap{width:88px;height:30px;overflow:hidden;border-radius:4px;flex-shrink:0;position:relative}.brand-img{width:88px;height:auto;display:block;margin-top:-31px}.brand-name{font-family:Nunito,Poppins,Inter,sans-serif;font-weight:800;font-size:22px;letter-spacing:-.2px;background:linear-gradient(165deg,#e05200,#f07600 45%,#fa0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.brand-star{width:22px;height:22px;flex-shrink:0;margin-left:1px}.logo-s2{font-size:9px;color:var(--txt-2);letter-spacing:3px;text-transform:uppercase;padding-left:1px}.app-footer{position:sticky;bottom:0;z-index:100;background:var(--surface);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:center;gap:5px;padding:0 18px;max-height:28px;overflow:hidden;transition:max-height .22s ease,padding .22s ease,background .15s;font-size:10px;color:var(--txt-3);letter-spacing:.4px;white-space:nowrap;flex-shrink:0;opacity:.7;transition:max-height .22s ease,opacity .18s ease,background .15s}.app-footer:hover{max-height:44px;padding:7px 18px;background:var(--surface2);opacity:1}.app-footer strong{color:var(--copper-lt);font-weight:600}.app-footer img{transition:opacity .18s}#gtooltip{background:var(--surface3);border:1px solid var(--border-hi);border-radius:8px;padding:10px 13px;min-width:170px;max-width:290px;box-shadow:0 6px 24px #00000073;font-size:11px;line-height:1.5;color:var(--txt-1)}.tip-title{font-weight:700;font-size:13px;color:var(--accent-lt);font-family:JetBrains Mono,monospace;margin-bottom:2px}.tip-sub{font-size:10px;color:var(--txt-2);margin-bottom:6px}.tip-divider{border-top:1px solid var(--border);margin:6px 0}.tip-row{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin-bottom:3px}.tip-row span:first-child{color:var(--txt-3);flex-shrink:0}.tip-row span:last-child{color:var(--txt-1);font-weight:500;text-align:right}[data-tip-type],[data-tip]{cursor:help;text-decoration:underline dotted rgba(255,255,255,.18);text-underline-offset:2px}.mach-warn{border-color:var(--amber)!important}.mach-alert{font-size:10px;color:var(--amber);background:var(--amber-bg);border-radius:3px;padding:2px 6px;margin-top:4px}.mach-sensors{display:flex;flex-direction:column;gap:4px;margin:6px 0;padding:6px 8px;background:var(--surface3);border-radius:4px}.ms-row{display:flex;align-items:center;gap:6px;font-size:10px}.ms-k{color:var(--txt-3);width:42px;flex-shrink:0}.ms-v{color:var(--txt-1);font-family:JetBrains Mono,monospace;min-width:48px}.ms-err{color:var(--red)!important}.ms-bar{flex:1;height:3px;background:var(--border);border-radius:2px}.ms-fill{height:100%;background:var(--accent-lt);border-radius:2px;transition:width .3s}.ms-fill-warn{background:var(--amber)}.qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;padding:4px 0}.qr-card{background:var(--surface2);border:1px solid var(--border-hi);border-radius:8px;padding:14px 12px;text-align:center;cursor:pointer;transition:border-color .15s}.qr-card:hover{border-color:var(--copper-lt)}.qr-code-label{font-size:13px;font-weight:800;letter-spacing:2px;color:var(--txt-1);font-family:JetBrains Mono,monospace;margin-bottom:6px}.qr-line{border-top:1px solid var(--border);margin:8px 0}.qr-img{width:160px;height:160px;border-radius:4px}.qr-meta{text-align:left;margin-top:8px}.qr-row{display:flex;justify-content:space-between;font-size:10px;margin-bottom:3px;gap:8px}.qr-k{color:var(--txt-3);font-weight:600;white-space:nowrap}.qr-v{color:var(--txt-2);text-align:right}.qr-footer{font-size:9px;color:var(--txt-3);margin-top:8px;letter-spacing:.4px}.rpt-row{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;border-bottom:1px solid var(--border);gap:12px;flex-wrap:wrap}.rpt-row:last-child{border-bottom:none}.report-name{font-size:13px;color:var(--txt-1);font-weight:500;margin-bottom:2px}.report-meta{font-size:11px;color:var(--txt-3)}.rpt-controls{display:flex;align-items:center;gap:10px;flex-shrink:0;flex-wrap:wrap}.rpt-periods{display:flex;gap:2px;background:var(--surface3);border-radius:4px;padding:2px;flex-wrap:wrap}.rpt-period{background:none;border:none;border-radius:3px;padding:3px 10px;font-size:11px;color:var(--txt-3);cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;font-family:Inter,sans-serif}.rpt-period:hover{color:var(--txt-1)}.rpt-period-on{background:var(--surface);color:var(--txt-1);box-shadow:0 1px 3px #0000004d}.rpt-dl-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:4px;font-size:11px;cursor:pointer;border:1px solid var(--border);font-family:Inter,sans-serif;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.rpt-csv{background:var(--surface2);color:var(--txt-2)}.rpt-csv:hover{background:var(--surface3);color:var(--txt-1)}.rpt-xls{background:#22a06b1a;color:var(--green);border-color:#22a06b40}.rpt-xls:hover{background:#22a06b2e}.rpt-daterange{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}.rpt-date-input{background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--txt-1);font-size:11px;padding:4px 8px;font-family:Inter,sans-serif;cursor:pointer;min-width:120px;color-scheme:dark}.rpt-date-input:focus{outline:none;border-color:var(--accent-lt)}.rpt-builder-trigger{background:var(--surface)}.rpt-builder-trigger:hover{background:var(--surface2)}.rpt-source-btn{background:var(--surface3);border:1px solid var(--border);border-radius:4px;padding:5px 12px;font-size:11px;color:var(--txt-2);cursor:pointer;font-family:Inter,sans-serif;transition:background .15s,color .15s,border-color .15s}.rpt-source-btn:hover{color:var(--txt-1)}.rpt-source-on{background:#3c72d41f;color:var(--accent-lt);border-color:#3c72d44d}.report-row{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border)}@media print{body>*:not(.qr-card){display:none!important}.qr-card{border:1.5px solid #333;border-radius:8px;padding:18px;width:240px;margin:auto}.qr-code-label{color:#000}.qr-k{color:#666}.qr-v{color:#000}}.hdr-sep{flex:1}.hdr-pill{background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:3px 10px;font-size:11px;color:var(--txt-2);letter-spacing:.4px}.hdr-sel{background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:4px 10px;color:var(--txt-1);font-size:12px;cursor:pointer;outline:none}.hdr-sel:focus{border-color:var(--accent)}.shift-on{display:flex;align-items:center;gap:5px;background:var(--green-bg);border:1px solid rgba(34,160,107,.25);border-radius:4px;padding:3px 10px;font-size:11px;color:var(--green)}.sd{width:6px;height:6px;border-radius:50%;background:var(--green);animation:blink 2s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.theme-btn{background:none;border:1px solid var(--border);border-radius:4px;padding:0 10px;height:28px;cursor:pointer;color:var(--txt-2);font-size:11px;display:flex;align-items:center;gap:5px;white-space:nowrap;letter-spacing:.3px}.theme-btn:hover{border-color:var(--border-hi);color:var(--txt-1)}.clk{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--txt-3);min-width:60px;text-align:right}.tabs{background:var(--surface);border-bottom:1px solid var(--border);display:flex;padding:0 18px;overflow-x:auto}.tab{font-family:Rajdhani,sans-serif;font-weight:600;font-size:13px;letter-spacing:.8px;color:var(--txt-2);padding:11px 18px;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}.tab:hover{color:var(--txt-1)}.tab.on{color:var(--copper-lt);border-bottom-color:var(--copper-lt)}.tab-hidden{display:none}.tab-hidden.show{display:block}.pane{display:none;padding:clamp(10px,1.5vw,20px);overflow-x:hidden}.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,1vw,14px)}.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1vw,14px)}.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(6px,.8vw,12px)}@media (max-width: 1050px){.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);min-width:0}.card-hd{font-family:Rajdhani,sans-serif;font-weight:600;font-size:12px;letter-spacing:1.1px;color:var(--txt-2);text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.cdot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.cd-copper{background:var(--copper-lt)}.cd-green{background:var(--green)}.cd-amber{background:var(--amber)}.cd-red{background:var(--red)}.cd-blue{background:var(--accent-lt)}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}@media (max-width: 800px){.kpi-row{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.kpi-row{grid-template-columns:1fr}}.kpi{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border-hi);border-radius:var(--radius);padding:13px 15px;box-shadow:var(--shadow);transition:border-left-color .2s}.kpi:has(.kpi-val.ku){border-left-color:var(--copper-lt)}.kpi:has(.kpi-val.kg){border-left-color:var(--green)}.kpi:has(.kpi-val.ka){border-left-color:var(--amber)}.kpi:has(.kpi-val.kr){border-left-color:var(--red)}.kpi-lbl{font-family:Rajdhani,sans-serif;font-weight:600;font-size:11px;letter-spacing:.8px;color:var(--txt-3);text-transform:uppercase;margin-bottom:5px}.kpi-val{font-family:JetBrains Mono,monospace;font-size:22px;font-weight:500;color:var(--txt-1);line-height:1.15}.kpi-val.ku{color:var(--copper-lt)}.kpi-val.kg{color:var(--green)}.kpi-val.ka{color:var(--amber)}.kpi-val.kr{color:var(--red)}.kpi-sub{font-size:11px;color:var(--txt-3);margin-top:4px;line-height:1.4}.kpi-tip{display:flex;align-items:center;gap:5px;cursor:default}.kpi-info{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border-radius:50%;background:var(--surface3);color:var(--txt-3);font-size:9px;font-weight:700;font-family:Inter,sans-serif;cursor:help;flex-shrink:0;border:1px solid var(--border);vertical-align:middle;line-height:1}.badge{display:inline-block;padding:2px 7px;border-radius:3px;font-size:11px;font-weight:500}.b-ok{background:var(--green-bg);color:var(--green);border:1px solid rgba(34,160,107,.2)}.b-warn{background:var(--amber-bg);color:var(--amber);border:1px solid rgba(217,119,6,.2)}.b-err{background:var(--red-bg);color:var(--red);border:1px solid rgba(220,38,38,.2)}.b-plan{background:#3c72d41a;color:var(--accent-lt);border:1px solid rgba(60,114,212,.2)}.b-hld{background:var(--red-bg);color:var(--red);border:1px solid rgba(220,38,38,.22)}.pbar{height:4px;background:var(--surface3);border-radius:2px;overflow:hidden;margin-top:3px}.pfill{height:100%;border-radius:2px;transition:width .4s}.pf-g{background:var(--green)}.pf-b{background:var(--accent)}.pf-a{background:var(--amber)}.pf-c{background:var(--copper)}.tw{overflow-x:auto}table{width:100%;border-collapse:collapse}th{font-family:Rajdhani,sans-serif;font-weight:600;font-size:11px;letter-spacing:.9px;color:var(--txt-3);text-transform:uppercase;text-align:left;padding:7px 10px;border-bottom:1px solid var(--border)}td{padding:8px 10px;border-bottom:1px solid var(--border);font-size:12px;vertical-align:middle}[data-theme=light] td{border-bottom:1px solid rgba(0,0,0,.04)}tr:hover td{background:#3c72d40a}tr:last-child td{border-bottom:none}.alert{background:var(--red-bg);border:1px solid rgba(220,38,38,.25);border-radius:var(--radius);padding:10px 14px;display:flex;gap:9px;align-items:flex-start;margin-bottom:12px;font-size:12px;color:var(--txt-2)}.alert-ico{color:var(--red);flex-shrink:0;font-size:15px;line-height:1.3}.alert strong{color:var(--red)}.flow-lanes{display:flex;flex-direction:column;gap:14px}.flow-lane{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;overflow-x:auto}.lane-title{font-family:Rajdhani,sans-serif;font-weight:700;font-size:12px;letter-spacing:1px;color:var(--txt-2);margin-bottom:10px;display:flex;align-items:center;gap:8px}.lane-line{display:flex;align-items:flex-start;gap:0;min-width:800px}.conn{flex:1;height:2px;background:linear-gradient(90deg,var(--copper),rgba(184,115,51,.3));margin-top:50px;position:relative;overflow:visible}.conn:after{content:"";position:absolute;right:-5px;top:-4px;border-left:7px solid var(--copper);border-top:4px solid transparent;border-bottom:4px solid transparent}.conn-carrier{position:absolute;top:-16px;left:50%;transform:translate(-50%);font-size:9px;color:var(--txt-3);background:var(--surface);padding:1px 5px;border-radius:3px;white-space:nowrap;letter-spacing:.3px;border:1px solid var(--border);pointer-events:none}.conn-dot{position:absolute;top:-3px;left:0;width:6px;height:6px;border-radius:50%;background:var(--copper-lt);animation:connMove 2.4s linear infinite}@keyframes connMove{0%{left:0;opacity:0}10%{opacity:1}90%{opacity:1}to{left:calc(100% - 6px);opacity:0}}.sn{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:110px}.sn-box{width:110px;height:70px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:pointer;position:relative;transition:border-color .15s}.sn-box:hover{border-color:var(--copper)}.sn-box.sel{border-color:var(--accent);box-shadow:0 0 0 2px #3c72d42e}.sn-lbl{font-family:Rajdhani,sans-serif;font-weight:600;font-size:11px;letter-spacing:.7px;color:var(--txt-2)}.sn-cnt{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--copper-lt)}.sn-st{font-size:10px;padding:2px 6px;border-radius:3px;font-weight:500}.ss-run{background:var(--green-bg);color:var(--green)}.ss-idle{background:var(--amber-bg);color:var(--amber)}.ss-plan{background:#3c72d41a;color:var(--accent-lt)}.worker-anim{position:absolute;bottom:2px;right:4px;opacity:.7}.mach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px}.mach-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;cursor:pointer;transition:border-color .15s}.mach-card:hover{border-color:var(--border-hi)}.mach-card.active{border-color:var(--green);background:var(--green-bg)}.mach-id{font-family:Rajdhani,sans-serif;font-weight:700;font-size:15px;color:var(--copper-lt)}.mach-type{font-size:11px;color:var(--txt-3);margin-bottom:6px}.mach-worker{font-size:12px;color:var(--txt-2);font-weight:500}.mach-time{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--txt-3)}.mach-btn{margin-top:8px;width:100%;padding:5px;border:1px solid var(--border);border-radius:3px;background:transparent;color:var(--txt-2);font-size:11px;font-family:Rajdhani,sans-serif;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s}.mach-btn:hover{border-color:var(--copper-lt);color:var(--copper-lt)}.mach-btn.chk{border-color:var(--green);color:var(--green)}.roster-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:auto}.roster-grid{display:grid;grid-template-columns:130px repeat(7,1fr);min-width:700px}.rg-head{font-family:Rajdhani,sans-serif;font-weight:600;font-size:11px;letter-spacing:.7px;color:var(--txt-3);text-transform:uppercase;padding:8px 10px;border-bottom:1px solid var(--border);text-align:center}.rg-name{font-size:12px;color:var(--txt-1);font-weight:500;padding:8px 10px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);display:flex;align-items:center;gap:7px}.rg-cell{padding:5px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-align:center;cursor:pointer;transition:background .1s;min-height:36px;display:flex;align-items:center;justify-content:center}.rg-cell:last-child{border-right:none}.rg-cell:hover{background:#3c72d414}.shift-chip{padding:3px 8px;border-radius:3px;font-size:10px;font-weight:500;font-family:Rajdhani,sans-serif;cursor:pointer;-webkit-user-select:none;user-select:none}.sc-a{background:#22a06b26;color:var(--green)}.sc-b{background:#3c72d426;color:var(--accent-lt)}.sc-c{background:#d9770626;color:var(--amber)}.sc-off{background:var(--surface3);color:var(--txt-3)}.roster-legend{display:flex;gap:12px;padding:10px 14px;border-top:1px solid var(--border);font-size:11px}.rl-item{display:flex;align-items:center;gap:5px;color:var(--txt-2)}.rl-swatch{width:10px;height:10px;border-radius:2px}.lme-strip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;align-items:center;padding:0;margin-bottom:14px;overflow:hidden;box-shadow:var(--shadow);flex-wrap:wrap}.lme-part{padding:12px 18px;border-right:1px solid var(--border)}.lme-part:last-child{border-right:none;margin-left:auto}.lme-lbl{font-size:10px;color:var(--txt-3);letter-spacing:.6px;text-transform:uppercase;margin-bottom:3px}.lme-val{font-family:JetBrains Mono,monospace;font-size:19px;color:var(--copper-lt)}.lme-val.lv-sm{font-size:14px}.lme-val.lv-r{color:var(--red)}.lme-val.lv-g{color:var(--green)}.aging-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}.ab{text-align:center;padding:8px 4px;border-radius:4px;border:1px solid var(--border)}.ab-amt{font-family:JetBrains Mono,monospace;font-size:14px;font-weight:500}.ab-lbl{font-size:10px;color:var(--txt-3);margin-top:2px}.ab-0{background:var(--green-bg)}.ab-0 .ab-amt{color:var(--green)}.ab-1{background:var(--amber-bg)}.ab-1 .ab-amt{color:var(--amber)}.ab-2{background:var(--red-bg)}.ab-2 .ab-amt{color:var(--red)}.ab-3{background:var(--red-bg)}.ab-3 .ab-amt{color:var(--red)}.cf-row{display:flex;align-items:center;gap:8px;margin-bottom:5px}.cf-wk{font-size:11px;color:var(--txt-3);width:50px;flex-shrink:0}.cf-track{flex:1;height:14px;background:var(--surface3);border-radius:2px;overflow:hidden}.cf-bar{height:100%;background:var(--accent);border-radius:2px}.cf-val{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--txt-2);width:55px;text-align:right;flex-shrink:0}.arch-filter{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.af-btn{background:var(--surface2);border:1px solid var(--border);border-radius:3px;padding:4px 12px;font-size:12px;color:var(--txt-2);cursor:pointer;transition:border-color .15s,color .15s}.af-btn:hover,.af-btn.on{border-color:var(--accent);color:var(--accent-lt)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0e16b8;z-index:300;display:none;align-items:center;justify-content:center;padding:16px}.overlay.show{display:flex}.modal{background:var(--surface);border:1px solid var(--border-hi);border-radius:10px;padding:24px 28px;width:400px;max-width:100%;box-shadow:0 8px 40px #0006}.modal-title{font-family:Rajdhani,sans-serif;font-weight:700;font-size:18px;letter-spacing:.8px;color:var(--txt-1);margin-bottom:14px}.modal-mach{font-family:JetBrains Mono,monospace;font-size:26px;color:var(--copper-lt);margin-bottom:6px}.modal-note{font-size:11px;color:var(--txt-3);margin-bottom:14px;line-height:1.6}.m-input{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:9px 12px;color:var(--txt-1);font-size:14px;outline:none}.m-input:focus{border-color:var(--accent)}select.m-input{cursor:pointer}.m-row{display:flex;gap:8px;margin-top:12px;justify-content:flex-end}.btn-cancel{background:transparent;border:1px solid var(--border);border-radius:4px;padding:7px 16px;color:var(--txt-2);cursor:pointer;font-family:Rajdhani,sans-serif;font-weight:600;font-size:12px}.btn-pri{background:var(--accent);border:none;border-radius:4px;padding:7px 20px;color:#fff;cursor:pointer;font-family:Rajdhani,sans-serif;font-weight:700;font-size:12px}.btn-pri:hover{opacity:.9}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.form-lbl{font-size:11px;color:var(--txt-3);margin-bottom:3px;display:block}.plus-btn{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;background:var(--accent);border:none;color:#fff;font-size:22px;cursor:pointer;box-shadow:0 3px 12px #00000059;z-index:150;display:flex;align-items:center;justify-content:center}.plus-btn:hover{background:var(--accent-lt)}.cust-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.copt{background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:8px 10px;cursor:pointer;font-size:12px;color:var(--txt-2);transition:border-color .15s}.copt:hover,.copt.sel{border-color:var(--accent);color:var(--accent-lt)}.copt-ico{font-size:16px;margin-bottom:3px}.chart-box{position:relative;height:190px}.chart-box canvas{max-height:190px}.sn-time{font-family:JetBrains Mono,monospace;font-size:9px;color:var(--txt-3);margin-top:2px}.sn-wait{font-size:9px;color:var(--amber);font-weight:500}.wh-filter{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap;align-items:center}.wh-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}@media (max-width:800px){.wh-kpi-row{grid-template-columns:1fr 1fr}}.wh-status{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:3px;font-size:11px;font-weight:500;white-space:nowrap}.ws-ready{background:var(--green-bg);color:var(--green);border:1px solid rgba(34,160,107,.2)}.ws-qc{background:#3c72d41a;color:var(--accent-lt);border:1px solid rgba(60,114,212,.2)}.ws-hold{background:var(--amber-bg);color:var(--amber);border:1px solid rgba(217,119,6,.2)}.ws-aging{background:var(--red-bg);color:var(--red);border:1px solid rgba(220,38,38,.2)}.ws-done{background:var(--surface3);color:var(--txt-3);border:1px solid var(--border)}.ws-rework{background:var(--red-bg);color:var(--red);border:1px solid rgba(220,38,38,.22)}.wh-age-bar{display:flex;align-items:center;gap:6px}.wh-age-fill{height:4px;border-radius:2px;min-width:4px}.rm-toggle{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.rm-toggle input.rm-chk{position:absolute;opacity:0;width:0;height:0}.rm-pip{display:block;width:28px;height:16px;border-radius:8px;background:var(--surface3);border:1px solid var(--border);position:relative;transition:background .2s,border-color .2s}.rm-pip:after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:var(--txt-3);transition:transform .2s,background .2s}.rm-chk:checked~.rm-pip{background:var(--green-bg);border-color:var(--green)}.rm-chk:checked~.rm-pip:after{transform:translate(12px);background:var(--green)}html{font-size:clamp(12px,calc(.55vw + 7.1px),16px)}.kpi-val{font-size:clamp(1.3rem,2.4vw,2rem)}.hdr{height:52px!important;padding:0 clamp(10px,1.5vw,20px);gap:clamp(6px,1vw,14px)}.logo-s1{font-size:clamp(13px,1.3vw,18px)}.pane{padding:clamp(10px,1.4vw,22px)}.g2,.g3,.g4{gap:clamp(8px,1vw,16px)}.kpi-row{gap:clamp(8px,1vw,14px);margin-bottom:clamp(8px,1vw,16px)}@media (min-width: 1400px){.kpi-row,.g4{grid-template-columns:repeat(4,1fr)}}@media (max-width: 860px){.g4,.kpi-row{grid-template-columns:1fr 1fr}.hdr-pill{display:none}}@media (max-width: 540px){.g2,.g3,.g4{grid-template-columns:1fr}.kpi-row{grid-template-columns:1fr 1fr}.tabs{padding:0 8px}.tab{padding:10px;font-size:11px}.hdr{flex-wrap:wrap;height:auto;padding:7px 10px}.logo-s2,.shift-on{display:none}.pane{padding:8px}.modal{padding:18px 16px}}.mach-grid{grid-template-columns:repeat(auto-fill,minmax(clamp(130px,14vw,180px),1fr))}.sn-time{font-size:10px;color:var(--accent-lt);margin-top:2px}.sn-wait{font-size:10px;color:var(--amber);margin-top:1px}.sn-sensor{font-size:9px;color:var(--txt-3);margin-top:2px;letter-spacing:.3px}.sn-sensor-alert{color:var(--red);font-weight:600}.ss-warn{background:var(--red-bg);color:var(--red);border:1px solid rgba(239,68,68,.35);border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700;letter-spacing:.5px}#chat-fab{position:fixed;bottom:24px;right:24px;width:50px;height:50px;border-radius:50%;background:var(--accent-lt);border:none;color:#fff;font-size:22px;cursor:pointer;box-shadow:0 4px 16px #0006;z-index:999;transition:transform .15s}#chat-fab:hover{transform:scale(1.08)}#chat-wrap{position:fixed;bottom:84px;right:24px;width:320px;max-height:460px;background:var(--surface1);border:1px solid var(--border-hi);border-radius:12px;display:none;flex-direction:column;box-shadow:0 8px 32px #00000080;z-index:998;overflow:hidden}#chat-wrap.open{display:flex}.chat-header{background:var(--surface3);padding:10px 14px;font-size:12px;font-weight:600;color:var(--txt-1);display:flex;align-items:center;border-bottom:1px solid var(--border)}#chat-msgs{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.chat-msg{max-width:86%;padding:7px 10px;border-radius:10px;font-size:12px;line-height:1.5}.chat-user{align-self:flex-end;background:var(--accent-lt);color:#fff;border-bottom-right-radius:2px}.chat-bot{align-self:flex-start;background:var(--surface3);color:var(--txt-1);border-bottom-left-radius:2px;border:1px solid var(--border)}#chat-form{display:flex;gap:6px;padding:8px 10px;border-top:1px solid var(--border);background:var(--surface2)}#chat-inp{flex:1;background:var(--surface3);border:1px solid var(--border-hi);border-radius:20px;color:var(--txt-1);padding:6px 12px;font-size:12px;outline:none}#chat-inp:focus{border-color:var(--accent-lt)}#chat-form button{background:var(--accent-lt);border:none;border-radius:50%;width:30px;height:30px;color:#fff;cursor:pointer;font-size:13px;flex-shrink:0}.chat-chips{display:flex;flex-wrap:wrap;gap:5px;padding:2px 0 4px;align-self:flex-start;max-width:100%}.chat-chip{background:var(--surface2);border:1px solid var(--accent-lt);border-radius:20px;color:var(--accent-lt);font-size:11px;padding:3px 10px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.chat-chip:hover{background:var(--accent-lt);color:#fff}.chat-typing{align-self:flex-start;background:var(--surface3);border:1px solid var(--border);border-radius:10px 10px 10px 2px;padding:8px 14px;display:flex;gap:4px;align-items:center}.chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--txt-3);animation:chatdot 1.2s infinite ease-in-out}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes chatdot{0%,80%,to{transform:scale(.7);opacity:.4}40%{transform:scale(1.1);opacity:1}}.chat-context-lbl{font-size:10px;color:var(--txt-3);font-style:italic;margin-bottom:2px}@media (max-width: 540px){#chat-wrap{right:8px;left:8px;width:auto}#chat-fab{right:12px;bottom:16px}}
