.mrp-note[data-v-0c79974c]{font-size:13px;color:#7a90a1;padding:0 22px;margin:0 0 18px}:root{font-family:Inter,Microsoft YaHei,Segoe UI,sans-serif;color:#183247;background:#f2f5f9;font-size:14px;font-synthesis:none;--nav:#102a43;--ink:#183247;--teal:#087f83;--line:#e1e8ef;--orange:#c36523}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background .15s}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #39bac7;outline-offset:3px}input,select,textarea{border:1px solid #d5dfe8;border-radius:7px;background:#fff;color:var(--ink);padding:10px 12px;min-height:40px;max-width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #6bc1c6;outline-offset:1px}input[type=checkbox]{min-height:18px;width:18px;accent-color:var(--teal)}button{border:0;background:none;color:inherit;display:inline-flex;align-items:center;justify-content:center;gap:7px}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:-.6px;margin-bottom:0}h2{font-size:17px;margin:0;font-weight:650}h3{font-size:16px}small{font-size:12px}p{line-height:1.7}.muted{color:#708395}.orange{color:var(--orange)!important}.strong{font-weight:650}.mono{font-family:Cascadia Code,Consolas,monospace;font-size:13px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:650;color:#71899b;display:block;margin-bottom:8px}.primary,.secondary{padding:10px 15px;border-radius:7px;font-weight:600;white-space:nowrap;min-height:40px}.primary{background:var(--teal);color:#fff}.primary:hover{background:#076a6e}.secondary{background:#fff;border:1px solid #d5dfe8;color:#34546a}.secondary:hover{background:#f1f6f8}.text-button{color:var(--teal);font-weight:600;padding:5px 0;white-space:nowrap}.icon-button{width:34px;height:34px;border-radius:6px;padding:5px}.icon-button:hover{background:#eaf0f5}.full{width:100%}.inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;font-size:12px;border-radius:5px;white-space:nowrap;font-weight:500}.neutral{background:#edf2f6;color:#527187}.success{background:#e3f3ed;color:#208267}.warning,.sun{background:#fff1db;color:#98601e}.danger{background:#fff0ed;color:#b84337}.fan{background:#e7f3fc;color:#287da6}.info{background:#eaf4f7;color:#30677c}.alert{padding:13px 15px;border-radius:8px;margin-bottom:16px;display:flex;align-items:flex-start;gap:10px;line-height:1.6}.alert small{display:block;margin-top:3px}.alert>button{margin-left:auto}.shell{display:flex;min-height:100vh}.sidebar{width:224px;background:var(--nav);color:#bdd0df;position:fixed;left:0;top:0;bottom:0;padding:26px 14px 15px;display:flex;flex-direction:column;z-index:40}.brand{display:flex;gap:12px;align-items:center;color:#fff;font-size:21px;font-weight:700;padding:0 12px}.brand-mark{display:grid;place-items:center;width:39px;height:43px;border-radius:11px 3px;background:#17a3a6;color:#fff;font-size:28px;font-weight:800}.brand small{display:block;font-size:11px;font-weight:400;color:#9cb8cc;margin-top:4px}.sidebar nav{margin-top:28px;overflow:auto;scrollbar-width:thin}.nav-group{font-size:10px;letter-spacing:1px;color:#668ba6;padding:16px 15px 8px}.sidebar nav button{width:100%;justify-content:flex-start;padding:10px 12px;gap:12px;margin:2px 0;border-radius:7px;font-size:14px}.sidebar nav button:hover{background:#193b56}.sidebar nav button.active{background:#087f83;color:#fff}.nav-count{margin-left:auto;font-size:11px;padding:2px 6px;border-radius:4px;background:#ffffff25}.sidebar-bottom{margin-top:auto;padding:20px 13px 0;display:flex;flex-direction:column;gap:10px;font-size:11px;color:#65859d}.local-badge{display:flex;align-items:center;gap:7px;color:#9db6c8}.workspace{margin-left:224px;width:calc(100% - 224px)}.topbar{height:76px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 30px;gap:12px;position:sticky;top:0;z-index:20}.breadcrumb{display:flex;align-items:center;gap:14px;font-size:13px}.breadcrumb>span:nth-child(2){color:#bbc6d0}.top-actions{display:flex;align-items:center;gap:12px}.top-actions select{font-size:13px;padding:8px 10px;min-height:34px}.language{padding:7px 9px;font-size:12px;color:#44667f}.user-chip{display:flex;align-items:center;gap:9px;border-left:1px solid var(--line);padding-left:14px;font-size:12px}.user-chip>span{width:33px;height:33px;border-radius:50%;background:#e7f1f2;color:var(--teal);display:grid;place-items:center;font-weight:650}.user-chip small{display:block;color:#8a9bab;font-size:10px;margin-top:3px}.content{padding:30px;max-width:1800px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.heading-actions{display:flex;gap:8px;flex-wrap:wrap}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 3px 9px #102a4303;margin-bottom:20px;overflow:hidden}.panel-title{padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:10px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}.kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 22px}.kpi-label{display:flex;justify-content:space-between;color:#6b8194;font-size:13px}.kpi-label svg{color:#6f9aa3}.kpi-value{font-size:35px;letter-spacing:-1px;font-weight:650;margin:17px 0 10px;line-height:1}.kpi-value small{font-size:12px;color:#8296a7;margin-left:8px;font-weight:400;letter-spacing:0}.kpi-note{font-size:11px;color:#8a9bab}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2.8fr) minmax(230px,1fr);gap:20px}.flow-strip{display:grid;grid-template-columns:repeat(7,1fr);padding:7px 18px 25px;gap:10px}.flow-strip>div{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:12px;position:relative;white-space:nowrap}.flow-strip svg{color:var(--teal);background:#eef7f7;box-sizing:content-box;padding:13px;border-radius:10px}.flow-strip>div:not(:last-child):after{content:"";height:1px;background:#d5e5e8;position:absolute;left:78%;right:-22%;top:23px}.wip-grid{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:19px 12px}.wip-grid button{flex-direction:column;gap:10px;border-right:1px solid var(--line)}.wip-grid button:last-child{border:0}.wip-grid span{font-size:12px;color:#71889b}.wip-grid strong{font-size:22px}.todo>button{display:flex;justify-content:space-between;padding:15px 22px;width:100%;border-top:1px solid #f0f3f6;color:#648095;font-size:13px}.todo strong{color:#183247;font-size:19px}.onboarding{padding:28px;display:flex;gap:22px;align-items:center}.onboarding-icon{background:#edf6f7;color:var(--teal);padding:20px;border-radius:12px}.onboarding p{margin:9px 0 16px;color:#6b8294;font-size:14px}.tabs{display:flex;gap:5px;border-bottom:1px solid #dce5ed;margin:0 0 20px;overflow-x:auto;white-space:nowrap}.tabs button{padding:13px 17px;border-bottom:2px solid transparent;color:#6e8395;font-size:14px}.tabs button.active{color:var(--teal);border-bottom-color:var(--teal);font-weight:650}.toolbar{padding:17px 20px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toolbar input:not([type=checkbox]){width:280px;font-size:13px}.toolbar>.inline-actions{margin-left:auto}.toolbar>.secondary:last-child,.toolbar>.primary:last-child{margin-left:auto}.toolbar>.count{font-size:12px}.table-wrap{overflow:auto;width:100%}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th{background:#f7f9fc;color:#748b9e;font-weight:500;padding:13px 16px;white-space:nowrap;font-size:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:14px 16px;border-bottom:1px solid #edf1f5;white-space:nowrap;line-height:1.5}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f9fbfd}td small{display:block;color:#8a9aab;font-size:11px;margin-top:3px}td.number{text-align:right;font-variant-numeric:tabular-nums}.wrap{white-space:pre-line;min-width:140px;max-width:330px}.empty{text-align:center;color:#94a5b3;padding:40px!important;font-size:14px}.big.empty{width:100%;padding:70px!important}.big.empty svg{color:#c2d4dc;margin-bottom:18px}.big.empty h2{margin-bottom:20px;color:#6f8699}.row-actions{display:flex;gap:10px;flex-wrap:wrap}.row-actions button{font-size:12px}.operation-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.schedule-bar{background:#dff2f0;border-left:3px solid var(--teal);height:28px;min-width:54px;font-size:12px;display:grid;place-items:center;cursor:pointer}.schedule-bar.urgent{background:#ffeddb;border-color:#cf762e}.schedule-table td:not(:first-child){padding:14px 0}.schedule-table td:first-child{min-width:210px}.process-nav{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:20px}.process-nav button{padding:14px 10px;background:#fff;border:1px solid var(--line);border-radius:9px;color:#698598;flex-direction:column;font-size:13px;gap:9px}.process-nav button.active{background:#e5f4f3;color:var(--teal);border-color:#62b8b7}.workorder-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 20px 20px}.workorder-card{border:1px solid var(--line);border-radius:9px;padding:17px}.workorder-card>div:first-child{display:flex;justify-content:space-between;gap:8px}.workorder-card p{font-size:13px;margin:12px 0;color:#6a8397;overflow-wrap:anywhere}.workorder-card small{color:#8296a7;font-size:11px}.mini-progress{background:#edf2f6;height:6px;border-radius:6px;margin-bottom:9px}.mini-progress span{display:block;height:100%;background:#139d9c;border-radius:6px}.workorder-card .inline-actions{justify-content:space-between;margin-top:9px}.drying-summary{display:flex;align-items:center;gap:18px;background:#fff8e9;border:1px solid #f3e3be;border-radius:10px;padding:19px 23px;margin-bottom:22px;color:#a27732}.drying-summary strong{font-size:27px;margin-right:6px}.drying-summary p{margin:4px 0 0;font-size:13px}.drying-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.drying-grid>.empty{grid-column:1/-1}.drying-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:21px}.drying-card-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:22px}.drying-card h2{font-size:22px}.drying-card p{margin:7px 0 21px;font-size:13px;color:#7b90a1}.drying-quantity{font-size:30px}.drying-quantity small{font-weight:400;font-size:12px;margin-left:7px;color:#71899b}dl{margin:20px 0;display:flex;justify-content:space-between;gap:15px}dt{color:#8a9bab;font-size:12px}dd{margin:6px 0 0;font-size:13px}.reference-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.reference-stats button{background:#fff;border:1px solid var(--line);border-radius:9px;align-items:flex-start;flex-direction:column;padding:18px 20px;gap:8px}.reference-stats strong{font-size:29px}.reference-stats span{font-size:13px;color:#71899b}.reference-table{max-height:650px}.reference-table thead{position:sticky;top:0;z-index:2}.raw-controls{display:flex;padding:16px;gap:12px;position:sticky;left:0}.raw-table td{max-width:240px;min-width:90px;white-space:pre-line;font-size:12px;padding:8px;border-right:1px solid var(--line)}.raw-table th{padding:8px}.backup-panel{text-align:center;padding:50px;color:#55798e}.backup-panel h2{margin:20px 0 10px}.footer{display:flex;justify-content:space-between;color:#98a8b6;font-size:10px;letter-spacing:1px;padding:10px 30px 25px}.modal-backdrop{position:fixed;inset:0;background:#102a4370;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:center;z-index:80;padding:20px}.modal{width:700px;max-width:100%;max-height:92vh;background:#fff;border-radius:13px;box-shadow:0 20px 70px #102a4325;display:flex;flex-direction:column}.modal>header{padding:20px 25px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal form{overflow:auto;padding:22px 25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid label,.login-panel label{display:block;font-size:13px;color:#527185;font-weight:500}.form-grid label input,.form-grid label select,.form-grid label textarea,.login-panel label input{display:block;width:100%;margin-top:8px}.form-grid label.wide{grid-column:1/-1}.required{color:#ce795c;margin-left:4px}.modal form>.alert{margin:18px 0 0}.modal form>footer{display:flex;justify-content:flex-end;gap:10px;margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);background:#173f4d;color:#fff;padding:13px 22px;border-radius:9px;box-shadow:0 8px 22px #102a4325;display:flex;align-items:center;gap:9px;z-index:100}.trace-body{padding:24px;overflow:auto}.trace-summary{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px}.trace-summary h3{margin-bottom:9px}.trace-summary p{color:#728b9e;margin:5px 0;font-size:13px}.timeline{list-style:none;padding:22px 0 0 14px;margin:0}.timeline li{position:relative;padding:0 0 20px 28px;border-left:1px solid #cbdce5}.timeline-dot{position:absolute;left:-5px;top:4px;width:9px;height:9px;border-radius:50%;background:#1c9a9c}.timeline small{margin-left:12px;color:#93a5b3}.timeline p{margin:5px 0 0;font-size:13px}.login-layout{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh;background:#fff}.login-story{background:#102a43;color:#fff;padding:50px 60px;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-story:after{content:"";width:550px;height:550px;border:1px solid #1f5068;border-radius:50%;position:absolute;bottom:-280px;right:-220px;box-shadow:0 0 0 70px #14364a,0 0 0 140px #123046}.login-copy{margin:auto 0;position:relative;z-index:1}.login-copy .eyebrow{color:#66c5c5;margin-bottom:25px}.login-copy h1{font-size:39px;line-height:1.4;max-width:450px}.login-flow{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;max-width:440px}.login-flow span{font-size:13px;border:1px solid #31536b;padding:9px 13px;border-radius:6px;color:#b6d0df}.factory-badges{display:flex;gap:20px;margin-top:30px;color:#6bbebf;font-size:13px}.login-footer{font-size:12px;color:#688ba3;margin:0;z-index:1}.login-panel{position:relative;display:flex;align-items:center;justify-content:center;padding:50px}.login-panel form{width:360px;max-width:100%}.login-panel h2{font-size:27px;margin:12px 0}.login-panel .muted{font-size:14px;margin-bottom:30px}.login-panel label{margin-bottom:20px}.login-panel .full{margin-top:10px}.floating{position:absolute;right:30px;top:30px}.large{padding:0;font-size:27px}.large .brand-mark{width:48px;height:50px}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12px}.spin{animation:rotate 1.2s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}.mobile-menu,.nav-backdrop{display:none}.upload-button{cursor:pointer;display:inline-flex;align-items:center;font-size:13px}@media(min-width:1600px){.content{padding:35px 40px}.kpi{padding:25px}.topbar{padding:0 40px}}@media(max-width:1150px){.sidebar{width:200px}.workspace{margin-left:200px;width:calc(100% - 200px)}.content{padding:22px}.topbar{padding:0 22px}.kpi-grid{gap:12px}.kpi{padding:16px}.kpi-value{font-size:28px}.dashboard-grid{grid-template-columns:1fr}.flow-strip{padding-top:10px}.workorder-cards,.drying-grid{grid-template-columns:repeat(2,1fr)}.top-actions{gap:6px}.user-chip>div{display:none}.login-story{padding:40px}.login-copy h1{font-size:32px}}@media(max-width:800px){.sidebar{transform:translate(-100%);transition:transform .2s;width:224px}.sidebar.open{transform:translate(0)}.workspace{margin:0;width:100%}.mobile-menu{display:flex}.nav-backdrop{display:block;position:fixed;inset:0;background:#102a4350;z-index:35}.topbar{height:66px;padding:0 15px}.breadcrumb{gap:8px}.breadcrumb>.muted,.breadcrumb>span:nth-child(3){display:none}.top-actions .user-chip,.top-actions>.icon-button:first-of-type{display:none}.top-actions select{max-width:140px}.content{padding:20px 15px}.page-heading{align-items:flex-start;margin-bottom:20px}.page-heading h1{font-size:24px}.heading-actions input{width:140px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.kpi-label{font-size:12px}.dashboard-grid{gap:0}.flow-strip{gap:5px;overflow:auto;grid-template-columns:repeat(7,minmax(65px,1fr));padding-bottom:22px}.flow-strip>div{font-size:11px}.flow-strip svg{padding:10px}.flow-strip>div:not(:last-child):after{top:20px}.onboarding{align-items:flex-start;padding:20px;gap:15px}.onboarding-icon{display:none}.process-nav{grid-template-columns:repeat(3,1fr)}.reference-stats{grid-template-columns:repeat(2,1fr)}.toolbar{padding:14px;gap:8px}.toolbar input:not([type=checkbox]){width:100%}.toolbar>.inline-actions{margin-left:0}.workorder-cards{grid-template-columns:1fr}.drying-grid{grid-template-columns:repeat(2,1fr);gap:12px}.drying-card{padding:16px}.drying-card h2{font-size:19px}.drying-card-head{flex-wrap:wrap;gap:8px}.footer{padding:10px 15px 20px}.login-layout{grid-template-columns:1fr}.login-story{padding:30px;min-height:280px}.login-copy{margin:35px 0}.login-copy h1{font-size:25px}.login-flow,.login-footer{display:none}.factory-badges{margin-top:17px}.login-panel{padding:45px 25px;min-height:480px}.floating{top:10px;right:15px}.modal-backdrop{padding:10px}.modal>header{padding:16px 18px}.modal form{padding:18px}.form-grid{gap:14px}.eyebrow{font-size:10px;letter-spacing:1px}.wip-grid strong{font-size:20px}}@media(max-width:450px){.top-actions select{max-width:116px;padding:7px}.top-actions{gap:2px}.language{font-size:11px;padding:7px}.breadcrumb strong{font-size:12px}.drying-grid,.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.heading-actions{justify-content:flex-end}.heading-actions .secondary,.heading-actions .primary{padding:8px 10px;font-size:12px}.kpi{padding:14px}.kpi-value{font-size:27px}.kpi-label svg{width:17px}.panel-title{padding:17px}.tabs button{padding:12px}.reference-stats button{padding:16px}.trace-summary{gap:12px}.trace-summary img{width:80px;height:80px}.login-story:after{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.form-grid label,.login-panel label,.kpi-label,table,th,.mono,.toolbar input:not([type=checkbox]),.row-actions button,.flow-strip>div,.process-nav button,.top-actions select{font-size:14px}
