:root{--bg:#000;--panel:#060606;--panel-2:#0f0f0f;--panel2:#0f0f0f;--input:#0c0c0c;--sidebar:#030303;--line:#181818;--line-2:#262626;--line2:#262626;--text:#f0f0f0;--muted:#7a7a7a;--faint:#444;--good:#a3e635;--warn:#fbbf24;--bad:#ef4444;--accent:#c2f24a;--glass:rgba(255,255,255,.03);--glass-2:rgba(255,255,255,.055);--seg-bg:rgba(255,255,255,.05);--seg-active:rgba(255,255,255,.1);--d05:#050505;--scroll:#1e1e1e;--scroll-h:#333;--modal:#0a0a0a;--sub:#050505;--dsec:#070707;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:13px}::-webkit-scrollbar{height:5px;width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scroll);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-h)}#root{min-height:100vh}.app{display:flex;min-height:100vh}.side{width:216px;flex-shrink:0;background:var(--sidebar);border-right:1px solid var(--line);padding:16px 10px 12px;display:flex;flex-direction:column;gap:2px}.brand{padding:2px 8px 0}.brand img{width:150px;display:block}.brand small{display:block;font-size:7.5px;letter-spacing:2.6px;color:var(--faint);font-weight:700;margin:7px 0 16px;text-transform:uppercase}.side-label{font-size:8px;color:var(--faint);letter-spacing:.24em;text-transform:uppercase;font-weight:700;padding:14px 10px 6px;display:block}.nav-btn{display:flex;align-items:center;gap:10px;background:none;border:0;border-radius:8px;color:var(--muted);font:inherit;font-size:12.5px;font-weight:500;padding:7px 10px;cursor:pointer;text-align:left;width:100%;transition:background .2s var(--ease),color .15s var(--ease)}.nav-btn:hover{color:var(--text);background:var(--glass)}.nav-btn.on{color:var(--text);background:#ffffff0f;font-weight:600}.nav-btn .dot{width:6px;height:6px;border-radius:50%;background:var(--line-2);flex-shrink:0;transition:background .2s}.nav-btn.on .dot{background:var(--accent)}.side .spacer{flex:1}.side .who{font-size:11px;color:var(--muted);padding:10px;border-top:1px solid var(--line)}.side .who b{display:block;color:var(--text);font-size:12px}.main{flex:1;min-width:0;padding:20px 26px;display:flex;flex-direction:column;gap:14px;height:100vh;overflow-y:auto}.panel{border:1px solid var(--line);border-radius:16px;padding:22px 24px;background:linear-gradient(160deg,#ffffff09,#ffffff04);min-width:0;position:relative;transition:border-color .25s var(--ease)}.panel:before{content:"";position:absolute;top:0;left:16px;right:16px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);pointer-events:none}.p-title{font-size:13.5px;font-weight:800;letter-spacing:-.01em;margin:0 0 3px}.p-sub{color:var(--muted);font-size:11px;line-height:1.6;margin:0 0 14px}.row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.fld{display:flex;flex-direction:column;gap:5px}.fld label{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}.fld input,.fld select{background:var(--panel-2);border:1px solid var(--line-2);border-radius:6px;color:var(--text);font-family:inherit;font-size:12.5px;padding:7px 10px;min-width:130px;outline:none;transition:border-color .2s,box-shadow .2s}.fld input:focus,.fld select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #c2f24a1f}.fld input.w-sm{min-width:90px;width:110px}.btn{background:var(--accent);border:1px solid var(--accent);border-radius:8px;color:#000;font-family:inherit;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:9px 16px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.btn:hover{background:#d3ff5c;border-color:#d3ff5c}.btn:disabled{opacity:.35;cursor:default}.btn.sec{background:transparent;border:1px solid var(--line-2);color:var(--muted);font-weight:600;font-size:9.5px;letter-spacing:.04em}.btn.sec:hover{border-color:var(--accent);color:var(--accent);background:transparent}.btn.danger{background:transparent;border:1px solid rgba(239,68,68,.4);color:var(--bad);font-weight:600;font-size:9.5px}.btn.danger:hover{border-color:var(--bad)}.btn.sm{padding:5px 10px}table{border-collapse:collapse;width:100%;margin-top:10px}th{position:sticky;top:0;background:var(--d05);z-index:2;font-size:9px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-weight:700;text-align:left;padding:8px 12px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);white-space:nowrap}td{font-size:12.5px;padding:8px 12px;text-align:left;border-bottom:1px solid var(--line);border-right:1px solid var(--line);white-space:nowrap;vertical-align:middle}th:last-child,td:last-child{border-right:0}tbody tr{transition:background .12s}tbody tr:hover td{background:var(--glass)}.tscroll{max-height:56vh;overflow:auto;border:1px solid var(--line);border-radius:10px;margin-top:10px}.tscroll table{margin-top:0}.stage{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--line-2);border-radius:20px;padding:2px 9px;white-space:nowrap;color:var(--muted)}.stage.in{color:var(--warn);border-color:#fbbf2459}.stage.lab_ok{color:#7dd3fc;border-color:#7dd3fc4d}.stage.lab_no{color:var(--bad);border-color:#ef444459}.stage.gross,.stage.unload{color:var(--accent);border-color:#c2f24a4d}.stage.tare{color:var(--good);border-color:#a3e6354d}.stage.left{color:var(--faint)}.stage.st-arrived,.stage.st-washing,.stage.st-repair{color:var(--warn);border-color:#fbbf2459}.stage.st-accepted,.stage.st-ready{color:#7dd3fc;border-color:#7dd3fc4d}.stage.st-loaded,.stage.st-inspected,.stage.st-fumigated{color:var(--accent);border-color:#c2f24a4d}.stage.st-dispatched{color:var(--faint)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:2px}.kpi{padding:16px 18px;border-right:1px solid var(--line);background:linear-gradient(160deg,#ffffff07,#ffffff03)}.kpi:last-child{border-right:0}.kpi .l{font-size:9px;color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:10px}.kpi .v{font-size:24px;letter-spacing:-.04em;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;color:var(--text)}.kpi .s{font-size:10.5px;color:var(--muted);margin-top:6px}.tabs{display:flex;background:var(--seg-bg);border:1px solid var(--line-2);border-radius:8px;padding:2px;gap:2px;width:max-content;margin-bottom:2px}.tab{background:transparent;border:none;color:var(--muted);font-family:inherit;font-size:10px;font-weight:600;padding:5px 14px;cursor:pointer;border-radius:6px;letter-spacing:.06em;text-transform:uppercase;transition:background .15s,color .15s;white-space:nowrap}.tab.on{background:var(--seg-active);color:var(--text)}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login .card{width:350px;border:1px solid var(--line);border-radius:16px;padding:30px 28px;background:linear-gradient(160deg,#ffffff09,#ffffff04)}.login .brand{padding:0;text-align:center}.login .brand img{margin:0 auto}.login .brand small{margin-bottom:22px}.login .fld{margin-bottom:12px}.login .fld input{width:100%;min-width:0}.err{color:var(--bad);font-size:12px;margin-top:8px}.ok{color:var(--good);font-size:12px;margin-top:8px}.muted{color:var(--muted)}.faint{color:var(--faint)}.right{text-align:right}.nowrap{white-space:nowrap}.mt0{margin-top:0}.hd{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}@media (max-width:900px){.side{width:64px}.side .brand,.side .who,.nav-btn span{display:none}.main{padding:12px}}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal{background:var(--modal);border:1px solid var(--line-2);border-radius:16px;padding:20px 22px;max-width:96vw;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 30px 80px #000000a6}.modal .m-body{overflow:auto;margin-top:10px}.modal table{margin-top:0}.modal th{background:var(--modal)}.modal td{padding:3px 4px;border-right:0}.modal .g-in,.g-in{background:var(--panel-2);border:1px solid var(--line-2);border-radius:6px;color:var(--text);font:inherit;font-size:12px;padding:6px 8px;width:100%;min-width:70px;outline:none}.modal .g-in:focus,.g-in:focus{border-color:var(--accent)}.modal .m-foot,.m-foot{display:flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}.modal .rown{color:var(--faint);font-size:10px;text-align:right;padding-right:6px!important}.sel{position:relative;display:inline-block;min-width:120px;vertical-align:middle}.sel-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:var(--panel-2);border:1px solid var(--line-2);border-radius:6px;color:var(--text);font:inherit;font-size:12.5px;padding:7px 10px;cursor:pointer;text-align:left;white-space:nowrap;overflow:hidden;transition:border-color .2s,box-shadow .2s}.sel-btn span{overflow:hidden;text-overflow:ellipsis}.sel-btn:hover{border-color:var(--scroll-h)}.sel-btn.open,.sel-btn:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px #c2f24a1f;outline:none}.sel-btn .sel-ph{color:var(--faint)}.sel-car{font-style:normal;font-size:9px;color:var(--faint);flex-shrink:0;transition:transform .15s var(--ease)}.sel-btn.open .sel-car{transform:rotate(180deg);color:var(--accent)}.sel-list{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;max-width:360px;max-height:250px;overflow:auto;background:var(--modal);border:1px solid var(--line-2);border-radius:10px;padding:4px;z-index:70;box-shadow:0 18px 50px #0000008c}.sel-list.up{top:auto;bottom:calc(100% + 4px)}.sel-list.fx{position:fixed;max-width:380px;z-index:120}.sel-opt{padding:7px 10px;border-radius:6px;font-size:12.5px;color:var(--muted);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .12s,color .12s}.sel-opt:hover{background:var(--glass-2);color:var(--text)}.sel-opt.on{background:#c2f24a24;color:var(--accent);font-weight:600}tr.rowx{cursor:pointer}.car{display:inline-block;width:13px;color:var(--faint);font-size:10px}tr.subtr>td{background:var(--sub)!important;padding:0!important;border-right:0}.subwrap{padding:10px 14px 14px 22px;border-left:2px solid rgba(194,242,74,.4)}.sub-t{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:800;margin:4px 0 2px}.subwrap table{margin-top:6px}.subwrap th{position:static;background:var(--sub)}.btn.icon{padding:4px 8px;font-size:11px;line-height:1}tfoot td{border-top:1px solid var(--line-2);background:var(--d05);font-variant-numeric:tabular-nums}.dsec{border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-top:10px;background:var(--dsec)}.dsec .t{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;margin-bottom:4px;color:var(--text)}.dsec .t .dot9{width:7px;height:7px;border-radius:50%;background:var(--line-2);flex-shrink:0}.dsec.done .t .dot9{background:var(--accent)}.dsec.skip{opacity:.55}.dsec .t .t-x{margin-left:auto;font-weight:600;letter-spacing:0;text-transform:none;color:var(--muted);font-size:11px}.dv{display:flex;justify-content:space-between;gap:16px;padding:4px 0;border-bottom:1px dashed var(--line);font-size:12px;min-width:0}.dv:last-child{border-bottom:0}.dv span{color:var(--muted);flex-shrink:0}.dv b{font-weight:600;text-align:right;overflow-wrap:anywhere}.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}@media (max-width:760px){.dgrid{grid-template-columns:1fr}}.depts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.panel.dept{padding:16px 18px}.panel.dept .sub-t{margin:0 0 8px;color:var(--accent)}.panel.dept .dv b{font-variant-numeric:tabular-nums;white-space:nowrap}.panel.dept .dv span{flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px}.bars{display:flex;align-items:flex-end;gap:5px;height:132px;margin-top:8px}.bcol{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}.bar{width:100%;max-width:34px;background:linear-gradient(180deg,#d3ff5c,#9fca35);border-radius:4px 4px 0 0;min-height:2px}.bval{font-size:8.5px;color:var(--muted);margin-bottom:3px;font-variant-numeric:tabular-nums;white-space:nowrap}.blab{font-size:7.5px;color:var(--faint);margin-top:5px;white-space:nowrap;letter-spacing:.02em}.hrow{display:flex;align-items:center;gap:10px;margin:7px 0}.hlab{width:128px;font-size:10.5px;color:var(--muted);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.htrack{flex:1;height:14px;background:var(--glass);border-radius:4px;overflow:hidden}.hfill{height:100%;background:linear-gradient(90deg,#9fca35,#d3ff5c);border-radius:4px}.hval{width:86px;font-size:10.5px;font-variant-numeric:tabular-nums;flex-shrink:0}html[data-theme=light]{--bg:#eef0e9;--panel:#ffffff;--panel-2:#f3f5ee;--panel2:#f3f5ee;--input:#f3f5ee;--line:#dcdfd4;--line-2:#c4c8b9;--line2:#c4c8b9;--text:#171a10;--muted:#666e58;--faint:#9aa08c;--good:#4d7c0f;--warn:#b45309;--bad:#dc2626;--accent:#5b8c00;--glass:rgba(30,40,10,.045);--glass-2:rgba(30,40,10,.08);--seg-bg:rgba(30,40,10,.06);--seg-active:#ffffff;--d05:#f6f8f1;--scroll:#c6cab9;--scroll-h:#a8ad99;--modal:#ffffff;--sub:#f3f5ee;--dsec:#fafbf6}html[data-theme=light] body{background:var(--bg)}html[data-theme=light] .panel{background:var(--panel);box-shadow:0 1px 3px #1e280a0f}html[data-theme=light] .panel:before{display:none}html[data-theme=light] .kpi,html[data-theme=light] .login .card{background:var(--panel)}html[data-theme=light] .btn{background:#c2f24a;border-color:#c2f24a;color:#111}html[data-theme=light] .btn:hover{background:#b5e63e;border-color:#b5e63e}html[data-theme=light] .btn.sec{background:transparent;color:var(--muted);border-color:var(--line-2)}html[data-theme=light] .btn.sec:hover{border-color:var(--accent);color:var(--accent)}html[data-theme=light] .btn.danger{background:transparent;color:var(--bad)}html[data-theme=light] .stage.gross,html[data-theme=light] .stage.unload{color:#5b8c00;border-color:#5b8c0066}html[data-theme=light] .stage.tare{color:#4d7c0f;border-color:#4d7c0f66}html[data-theme=light] .stage.lab_ok,html[data-theme=light] .stage.st-accepted,html[data-theme=light] .stage.st-ready{color:#0369a1;border-color:#0369a14d}html[data-theme=light] .stage.st-loaded,html[data-theme=light] .stage.st-inspected,html[data-theme=light] .stage.st-fumigated{color:#5b8c00;border-color:#5b8c0066}html[data-theme=light] .sel-opt.on{background:#5b8c001f;color:#4d7c0f}html[data-theme=light] .sel-btn.open,html[data-theme=light] .sel-btn:focus-visible{box-shadow:0 0 0 2px #5b8c0026}html[data-theme=light] .fld input:focus,html[data-theme=light] .fld select:focus{box-shadow:0 0 0 2px #5b8c0026}html[data-theme=light] .subwrap{border-left-color:#5b8c0080}html[data-theme=light] .modal{box-shadow:0 30px 80px #1e280a4d}html[data-theme=light] .side{--text:#f0f0f0;--muted:#8a8a8a;--faint:#555;--line:#181818;--line-2:#262626;--glass:rgba(255,255,255,.04);background:#070707;border-right-color:#181818}html[data-theme=light] .side .who{color:#8a8a8a}html[data-theme=light] .side .who b{color:#f0f0f0}html[data-theme=light] .side .btn.sec{color:#8a8a8a;border-color:#262626;background:transparent}html[data-theme=light] .side .btn.sec:hover{border-color:#c2f24a;color:#c2f24a}html[data-theme=light] .nav-btn.on{background:#ffffff14}html[data-theme=light] .nav-btn.on .dot{background:#c2f24a}.chips{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 10px}.chip{background:var(--seg-bg);border:1px solid var(--line-2);border-radius:20px;color:var(--muted);font-family:inherit;font-size:10.5px;font-weight:600;padding:4px 12px;cursor:pointer;transition:border-color .15s,color .15s,background .15s;white-space:nowrap}.chip b{color:var(--text);margin-left:4px;font-variant-numeric:tabular-nums}.chip:hover{border-color:var(--scroll-h);color:var(--text)}.chip.on{border-color:var(--accent);color:var(--accent);background:#c2f24a14}.chip.on b{color:var(--accent)}html[data-theme=light] .chip.on{background:#5b8c001a}.bcol,.hrow{position:relative}.btip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--modal);border:1px solid var(--line-2);border-radius:9px;padding:7px 11px;white-space:nowrap;z-index:30;box-shadow:0 12px 34px #00000080;pointer-events:none}.hrow .btip{bottom:calc(100% + 2px)}.bcol:hover .btip,.hrow:hover .btip{display:block}.btip .tt-l{display:block;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:3px}.btip .tt-v{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text)}.btip .tt-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}.bcol:hover .bar{background:linear-gradient(180deg,#e2ff85,#b4dc4a)}.hrow:hover .hfill{background:linear-gradient(90deg,#b4dc4a,#e2ff85)}.modal.snap{max-height:none}.modal.snap .m-body{overflow:visible!important;max-height:none}.modal.snap .no-print{display:none}.ordinfo{width:100%;font-size:11px;color:var(--muted);border:1px dashed var(--line-2);border-radius:8px;padding:8px 12px;margin:2px 0 0}.ordinfo b{color:var(--text)}.warn9{color:var(--warn);font-size:11.5px;margin-top:8px;line-height:1.5}.kpi .v{font-size:26px}.tabs{margin-bottom:4px}.panel>.hd{margin-bottom:4px}.hd .row{align-items:center}.main>.panel{flex-shrink:0}.err,.ok{font-size:11.5px}@media (max-width:900px){.main{padding:12px;gap:12px}.panel{padding:16px 14px;border-radius:12px}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.kpi{padding:12px 14px}.kpi .v{font-size:21px}.depts{grid-template-columns:1fr 1fr;gap:10px}.charts{grid-template-columns:1fr;gap:10px}.hlab{width:96px}.modal{padding:14px;border-radius:12px}.dgrid{grid-template-columns:1fr}.bval{font-size:7px}.blab{font-size:6.5px}}
