.production-filter-bar[data-v-4372a614]{grid-template-columns:minmax(260px,440px) 170px auto auto 1fr}.production-batch-table[data-v-4372a614]{overflow-x:auto}.production-batch-table table[data-v-4372a614]{min-width:1180px}.measure-cell[data-v-4372a614]{font-variant-numeric:tabular-nums;white-space:nowrap;min-width:260px}.form-hint[data-v-4372a614]{color:#68766e;margin:-4px 0 0;font-size:13px;line-height:1.6}@media (width<=760px){.production-filter-bar[data-v-4372a614]{grid-template-columns:1fr 1fr}}.batch-heading[data-v-845ce7f3]{align-items:center}.code-text[data-v-845ce7f3]{font:600 14px ui-monospace,monospace}.production-panel[data-v-845ce7f3]{background:#ffffff94;border:1px solid #d5dad4;gap:18px;margin-bottom:22px;padding:22px;display:grid}.production-panel-heading[data-v-845ce7f3]{justify-content:space-between;align-items:end;gap:20px;margin:0;display:flex}.production-panel-heading>div[data-v-845ce7f3]:first-child{min-width:0}.production-panel-heading .actions[data-v-845ce7f3]{flex-wrap:wrap;justify-content:flex-end}.issue-metrics[data-v-845ce7f3]{grid-template-columns:repeat(5,1fr);margin:0}.source-filter[data-v-845ce7f3]{grid-template-columns:minmax(280px,520px) 1fr;align-items:center;gap:12px;display:grid}.source-filter span[data-v-845ce7f3]{color:#68766e;font-size:13px}.source-table[data-v-845ce7f3]{overflow-x:auto}.source-table table[data-v-845ce7f3]{min-width:1120px}.source-table tr.selected td[data-v-845ce7f3]{background:#eaf1eb}.source-table td small[data-v-845ce7f3]{color:#748079;margin-top:4px;display:block}.triple-cell[data-v-845ce7f3]{font-variant-numeric:tabular-nums;white-space:nowrap;min-width:275px}.issue-lines[data-v-845ce7f3]{gap:14px;display:grid}.issue-line-card[data-v-845ce7f3]{background:#fff;border:1px solid #cfd5cf;min-width:0;padding:16px}.issue-line-card legend[data-v-845ce7f3]{color:#315f4d;padding:0 8px;font-weight:700}.issue-line-heading[data-v-845ce7f3]{justify-content:space-between;align-items:start;gap:12px;margin-bottom:14px;display:flex}.issue-line-heading>div[data-v-845ce7f3]{gap:5px;display:grid}.issue-line-heading small[data-v-845ce7f3]{color:#748079}.issue-measures[data-v-845ce7f3]{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;display:grid}.available-reference[data-v-845ce7f3]{background:#f7f8f5;border:1px solid #d5dad4;gap:7px;padding:9px 11px;display:grid}.available-reference span[data-v-845ce7f3]{color:#748079;font-size:12px}.available-reference strong[data-v-845ce7f3]{font:600 13px ui-monospace,monospace}.unit-picker[data-v-845ce7f3]{border-top:1px solid #e1e5e1;margin-top:14px;padding-top:12px}.unit-actions[data-v-845ce7f3]{gap:16px;margin:12px 0;display:flex}.unit-grid[data-v-845ce7f3]{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:220px;display:grid;overflow:auto}.unit-grid label[data-v-845ce7f3]{background:#f8f9f7;border:1px solid #e0e4df;flex-direction:row;align-items:center;gap:7px;min-width:0;padding:7px;display:flex}.unit-grid input[data-v-845ce7f3]{width:auto}.unit-grid span[data-v-845ce7f3]{overflow-wrap:anywhere;font:11px ui-monospace,monospace}.empty-panel[data-v-845ce7f3]{color:#748079;text-align:center;border:1px dashed #cbd1cc;margin:0;padding:20px}.batch-remark[data-v-845ce7f3],.next-step-note[data-v-845ce7f3]{color:#5d6b63;background:#eef2ed;border-left:3px solid #8ca696;margin:0;padding:12px 14px}.bom-warnings[data-v-845ce7f3]{color:#80501c;background:#fbf1df;border-left:3px solid #c78a40;padding:8px 14px}.bom-warnings p[data-v-845ce7f3]{margin:6px 0}.bom-snapshots[data-v-845ce7f3]{gap:14px;display:grid}.bom-snapshots article[data-v-845ce7f3]{gap:10px;display:grid}.bom-snapshots header[data-v-845ce7f3]{justify-content:space-between;align-items:center;display:flex}.bom-snapshots header>div[data-v-845ce7f3]{gap:4px;display:grid}.bom-snapshots small[data-v-845ce7f3]{color:#748079}.bom-total[data-v-845ce7f3]{background:#f5f7f3;border:1px solid #cfd5cf;gap:6px;padding:15px;display:grid}.bom-total span[data-v-845ce7f3]{color:#748079;font-size:12px}.bom-draft-actions[data-v-845ce7f3]{background:#f5f7f3;border:1px solid #cfd5cf;grid-template-columns:minmax(260px,1fr) auto auto;align-items:end;gap:12px;padding:14px;display:grid}.batch-output-table[data-v-845ce7f3]{overflow-x:auto}.batch-output-table table[data-v-845ce7f3]{min-width:900px}.loss-total[data-v-845ce7f3]{background:#f5f7f3;border:1px solid #cfd5cf;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.loss-total span[data-v-845ce7f3]{color:#68766e}.loss-total strong[data-v-845ce7f3]{font:700 18px ui-monospace,monospace}.loss-table[data-v-845ce7f3]{overflow-x:auto}.loss-table table[data-v-845ce7f3]{min-width:820px}.loss-table td[data-v-845ce7f3]{vertical-align:middle}.loss-table td[data-v-845ce7f3]:nth-child(2){align-items:center;gap:8px;display:flex}.loss-table td:nth-child(2) input[data-v-845ce7f3]{min-width:160px}.loss-table td small[data-v-845ce7f3]{color:#68766e}.closure-metrics[data-v-845ce7f3]{grid-template-columns:repeat(4,1fr);margin:0}.metric-ok[data-v-845ce7f3]{color:#266345}.metric-error[data-v-845ce7f3]{color:#a13d32}.closure-blockers[data-v-845ce7f3]{color:#8a3b31;background:#faeae7;border-left:3px solid #b95a4e;padding:13px 16px}.closure-blockers p[data-v-845ce7f3]{margin:6px 0 0}.closure-ready[data-v-845ce7f3]{color:#265c43;background:#e9f3ec;border-left:3px solid #4f8a68;margin:0;padding:13px 16px}.form-hint[data-v-845ce7f3]{color:#68766e;font-size:13px}@media (width<=1050px){.issue-metrics[data-v-845ce7f3]{grid-template-columns:repeat(3,1fr)}.issue-measures[data-v-845ce7f3],.closure-metrics[data-v-845ce7f3]{grid-template-columns:1fr 1fr}}@media (width<=760px){.production-panel-heading[data-v-845ce7f3]{flex-direction:column;align-items:start}.issue-metrics[data-v-845ce7f3],.issue-measures[data-v-845ce7f3],.unit-grid[data-v-845ce7f3],.bom-draft-actions[data-v-845ce7f3],.closure-metrics[data-v-845ce7f3],.source-filter[data-v-845ce7f3]{grid-template-columns:1fr}}.output-import-panel[data-v-5aefeef3]{background:#ffffff94;border:1px solid #d5dad4;gap:16px;margin-bottom:24px;padding:20px;display:grid}.output-import-panel h2[data-v-5aefeef3]{margin:0 0 5px;font:600 23px Songti SC,SimSun,serif}.output-filter-bar[data-v-5aefeef3]{grid-template-columns:minmax(280px,440px) 170px auto 1fr}.filter-context[data-v-5aefeef3]{color:#5d6b63;background:#eef2ed;border-left:3px solid #8ca696;padding:10px 14px}.output-table[data-v-5aefeef3]{overflow-x:auto}.output-table table[data-v-5aefeef3]{min-width:1120px}.output-dialog[data-v-5aefeef3]{width:min(1280px,100vw - 28px);max-height:94vh;overflow:auto}.output-header[data-v-5aefeef3]{grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;display:grid}.output-lines[data-v-5aefeef3]{gap:14px;max-height:53vh;display:grid;overflow:auto}.output-line-card[data-v-5aefeef3]{background:#fff;border:1px solid #d5dad4;gap:13px;padding:15px;display:grid}.output-line-card legend[data-v-5aefeef3]{color:#315f4d;padding:0 8px;font-weight:700}.output-line-main[data-v-5aefeef3]{grid-template-columns:1.6fr 1.3fr 1fr;gap:10px;display:grid}.output-measures[data-v-5aefeef3]{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.source-allocation[data-v-5aefeef3]{background:#f5f7f3;border:1px solid #dfe3de;gap:7px;padding:12px;display:grid}.source-allocation-heading[data-v-5aefeef3]{justify-content:space-between;align-items:center;display:flex}.source-allocation-row[data-v-5aefeef3]{grid-template-columns:minmax(300px,1fr) 180px;align-items:center;gap:10px;display:grid}.source-choice[data-v-5aefeef3]{flex-direction:row;align-items:center;gap:8px;min-width:0;display:flex}.source-choice input[data-v-5aefeef3]{width:auto}.source-choice span[data-v-5aefeef3]{overflow-wrap:anywhere;font-size:13px}.field-hint[data-v-5aefeef3]{color:#68766e;margin:0;font-size:12px}@media (width<=900px){.output-header[data-v-5aefeef3],.output-line-main[data-v-5aefeef3],.output-measures[data-v-5aefeef3]{grid-template-columns:1fr 1fr}}@media (width<=650px){.output-header[data-v-5aefeef3],.output-line-main[data-v-5aefeef3],.output-measures[data-v-5aefeef3],.source-allocation-row[data-v-5aefeef3]{grid-template-columns:1fr}}:root{color:#203027;font-synthesis:none;background:#f2f0e8;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{background:#f3f1e9;min-width:1280px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-page{background:linear-gradient(135deg,#f5f1e6,#e8eee7);grid-template-columns:minmax(520px,1fr) minmax(520px,.85fr);min-height:100vh;display:grid}.login-panel{flex-direction:column;justify-content:center;padding:11vh 11vw;display:flex}.login-panel h1{margin:0;font:600 38px/1.25 Songti SC,SimSun,serif}.login-panel form{gap:18px;max-width:420px;margin-top:38px;display:grid}.login-aside{background-color:#244438;background-image:linear-gradient(90deg,#2444386b 0%,#142b2214 42%,#0c1c1638 100%),url(/assets/login-industrial-recycling-bg-Ec1T3Zzc.webp);background-position:50%;background-size:cover;min-width:0}label{color:#4d5e54;gap:8px;font-size:14px;display:grid}input,select,textarea{color:#203027;background:#fff;border:1px solid #c8cec7;border-radius:5px;outline:none;width:100%;padding:10px 12px}input:focus,select:focus,textarea:focus{border-color:#3f705d;box-shadow:0 0 0 3px #3f705d1c}input:disabled,select:disabled{color:#69756e;background:#eceeea}.weight-entry{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='24'%3E%3Ctext x='2' y='17' fill='%2368766e' font-family='Arial,sans-serif' font-size='12'%3Ekg%3C/text%3E%3C/svg%3E");background-position:right 5px center;background-repeat:no-repeat;padding-right:42px}.weight-entry:invalid:not(:placeholder-shown){border-color:#b84b3f}.primary-button,.secondary-button{border:1px solid #0000;border-radius:5px;padding:11px 18px;font-weight:600}.primary-button{color:#fff;background:#315f4d}.primary-button:hover{background:#254c3c}.primary-button:disabled{opacity:.55;cursor:wait}.primary-button.compact,.secondary-button{padding:8px 15px}.secondary-button{color:#315f4d;background:#fff;border-color:#9aaba1}.text-button{color:#346b57;background:0 0;border:0;padding:0}.danger-text{color:#a33b31}.form-error{color:#a33b31;background:#fff0ed;border-left:3px solid #b84b3f;padding:9px 12px}.muted{color:#68766e}.eyebrow,.kicker{color:#9c5d1f;letter-spacing:.18em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700}.app-layout{grid-template-columns:238px 1fr;min-height:100vh;transition:grid-template-columns .2s;display:grid}.app-layout.sidebar-collapsed{grid-template-columns:0 1fr}.sidebar{color:#eff4f0;background:#203b31;height:100vh;padding:28px 20px;transition:padding .2s;position:sticky;top:0;overflow:hidden auto}.sidebar-collapsed .sidebar{padding-left:0;padding-right:0}.brand{border-bottom:1px solid #ffffff21;gap:8px;padding:0 10px 28px;display:grid}.brand span{color:#d59a51;letter-spacing:.18em;font-size:11px}.brand strong{font-size:16px}.sidebar nav{gap:5px;margin-top:24px;display:grid}.sidebar a{color:#d8e1dc;border-radius:4px;padding:10px 12px;text-decoration:none}.sidebar a:hover,.sidebar a.router-link-active{color:#fff;background:#ffffff1a}.nav-heading{color:#91a79b;letter-spacing:.14em;margin:20px 12px 6px;font-size:11px}.content-frame{min-width:0}.app-header{z-index:4;background:#faf9f4f2;border-bottom:1px solid #d9ddd7;justify-content:space-between;align-items:center;height:64px;padding:0 38px;display:flex;position:sticky;top:0}.header-context{align-items:center;gap:14px;display:flex}.sidebar-toggle{color:#315f4d;background:#fff;border:1px solid #c8cec7;border-radius:4px;width:34px;height:34px}.breadcrumb{color:#5d6b63;font-size:13px}.environment-badge{color:#80501c;background:#f1d5a8;border-radius:20px;padding:5px 11px;font-size:12px;font-weight:700}.environment-badge.production{color:#fff;background:#a33b31}.environment-badge.test,.environment-badge.staging{color:#80501c;background:#f1d5a8}.environment-badge.development{color:#315f4d;background:#dcece3}.environment-badge.unknown{color:#606963;background:#e2e5e1}.user-summary{align-items:center;gap:18px;display:flex}.page-content{padding:36px 42px 70px}.compatibility-notice{color:#80501c;background:#fbf0da;border-left:4px solid #cf9550;align-items:baseline;gap:12px;margin:-12px 0 24px;padding:11px 14px;font-size:13px;display:flex}.compatibility-notice strong{white-space:nowrap}.compatibility-notice.legacy{color:#7b3d35;background:#f8e6e2;border-left-color:#b85a4d}.error-page{text-align:center;max-width:620px;margin:10vh auto}.error-page .error-code{color:#b27736;margin:0;font:700 86px/1 ui-monospace,monospace}.error-page h1{margin:18px 0 12px;font:600 36px Songti SC,SimSun,serif}.error-page>p:not(.error-code){color:#68766e;line-height:1.8}.error-page .actions{justify-content:center;margin:28px 0 18px}.intro{max-width:830px;padding:52px 0}.intro h2{margin:0 0 22px;font:600 48px/1.18 Songti SC,SimSun,serif}.intro p:last-child{color:#5d6b63;max-width:650px;font-size:17px;line-height:1.8}.foundation-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.foundation-grid article{background:#ffffff80;border:1px solid #2030272e;min-height:142px;padding:22px}.foundation-grid span{color:#ae6d2b;font:12px ui-monospace,monospace}.foundation-grid h3{margin:42px 0 0;font-size:16px}.page-heading{justify-content:space-between;align-items:end;margin-bottom:24px;display:flex}.page-heading h1{margin:0;font:600 32px Songti SC,SimSun,serif}.filter-bar{grid-template-columns:minmax(280px,440px) 150px auto 1fr;align-items:center;gap:12px;margin-bottom:18px;display:grid}.filter-bar span{color:#748079;justify-self:end;font-size:13px}.report-filters{grid-template-columns:minmax(180px,1.4fr) 145px 145px minmax(160px,1fr) minmax(160px,1fr) auto}.secondary-button.active{color:#fff;background:#315f4d;border-color:#315f4d}.report-table{overflow-x:auto}.report-table table{min-width:1180px}.table-card{background:#ffffffb8;border:1px solid #d5dad4;border-radius:6px;overflow:hidden}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #e2e5e0;padding:13px 15px;font-size:14px}th{color:#66736b;letter-spacing:.04em;background:#eef0eb;font-size:12px}tbody tr:last-child td{border-bottom:0}.code-cell{color:#274e3f;font:600 13px ui-monospace,monospace}.status-pill{border-radius:20px;padding:4px 9px;font-size:12px}.status-pill.active{color:#276148;background:#dcece3}.status-pill.disabled{color:#707772;background:#e6e8e5}.status-pill.draft{color:#6b5a39;background:#eee6d4}.status-pill.submitted{color:#8a541c;background:#f4dfbe}.status-pill.posted{color:#276148;background:#dcece3}.status-pill.reversed,.status-pill.cancelled{color:#707772;background:#e6e8e5}.actions{gap:14px;display:flex}.editor-dialog{border:0;border-radius:8px;width:520px;max-height:84vh;padding:0;box-shadow:0 28px 80px #1a2a2147}.editor-dialog::backdrop{background:#121f1873}.editor-dialog form{gap:16px;padding:26px;display:grid}.dialog-heading,.dialog-actions{justify-content:space-between;align-items:center;display:flex}.dialog-heading h2{margin:0;font:600 25px Songti SC,SimSun,serif}.dialog-close{color:#66736b;background:0 0;border:0;font-size:26px}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:5px}.receipt-dialog{width:min(1080px,92vw)}.receipt-fields{grid-template-columns:2fr 1fr;gap:16px;display:grid}.line-heading{justify-content:space-between;align-items:center;display:flex}.receipt-lines{gap:8px;display:grid}.receipt-line{grid-template-columns:28px 1.5fr 1.3fr 130px 1fr 100px;align-items:center;gap:8px;display:grid}.receipt-line>span:first-child{color:#77827b;text-align:center}.layer-reference{color:#315f4d;font:11px ui-monospace,monospace}.inventory-filters{grid-template-columns:repeat(4,minmax(160px,1fr));align-items:end}.inventory-filters button,.inventory-filters span{justify-self:start}.inventory-table{overflow-x:auto}.inventory-table table{min-width:1120px}.layer-count-button{text-underline-offset:3px;font-weight:700;-webkit-text-decoration:underline #9aaba1;text-decoration:underline #9aaba1}.layer-count-button:hover{color:#244b3c;text-decoration-color:currentColor}.layer-detail-summary{color:#68766e;margin:-5px 0 0}.layer-detail-table{max-height:52vh;overflow:auto}.layer-detail-table thead{z-index:1;position:sticky;top:0}.weight-cell{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.table-loading{color:#68766e;margin:0;padding:16px}.load-more{justify-content:center;padding:18px;display:flex}@media (width<=1100px){.inventory-filters{grid-template-columns:repeat(3,minmax(160px,1fr))}}@media (width<=760px){.inventory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.inventory-filters{grid-template-columns:1fr}}.audit-filters{grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;margin-bottom:18px;display:grid}.audit-filters label{grid-template-columns:74px 1fr;align-items:center}.audit-table{overflow:visible}.audit-table table{min-width:1180px}.audit-table td{vertical-align:top}.audit-table small{color:#748079;overflow-wrap:anywhere;max-width:230px;margin-top:5px;font:11px/1.4 ui-monospace,monospace;display:block}.time-cell{white-space:nowrap}details{position:relative}summary{color:#346b57;cursor:pointer}.audit-detail{z-index:5;background:#fff;border:1px solid #bbc5bd;border-radius:6px;width:560px;max-height:560px;padding:18px;position:absolute;right:0;overflow:auto;box-shadow:0 18px 48px #1a2a2133}.audit-detail p{margin-top:0}.audit-detail pre{color:#31483c;white-space:pre-wrap;overflow-wrap:anywhere;background:#f2f4f0;max-height:180px;padding:12px;overflow:auto}.system-version-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.system-version-grid article{background:#ffffffa6;border:1px solid #d5dad4;gap:10px;min-width:0;padding:18px;display:grid}.system-version-grid span{color:#748079;font-size:12px}.system-version-grid strong{overflow-wrap:anywhere}.build-time{margin-bottom:34px}.system-heading{margin:22px 0 14px}.dashboard-heading,.dashboard-heading .actions{align-items:center}.dashboard-metrics{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.dashboard-metrics article{background:#ffffffb3;border:1px solid #d5dad4;border-top:3px solid #3f705d;gap:8px;padding:20px;display:grid}.dashboard-metrics span,.dashboard-metrics small{color:#748079;font-size:12px}.dashboard-metrics strong{font:600 24px/1.2 ui-monospace,monospace}.dashboard-grid{grid-template-columns:1fr 1.25fr;gap:16px;display:grid}.dashboard-panel{background:#ffffff9e;border:1px solid #d5dad4;min-height:278px;padding:22px}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.panel-heading h2,.dashboard-section-heading h2{margin:0;font:600 23px Songti SC,SimSun,serif}.panel-heading>strong{color:#a76225;font:600 28px ui-monospace,monospace}.pending-list{display:grid}.pending-list a{color:#31483c;border-bottom:1px solid #e0e4df;justify-content:space-between;align-items:center;padding:11px 4px;text-decoration:none;display:flex}.pending-list a:hover span{color:#346b57;text-decoration:underline}.pending-list a strong{color:#80501c;text-align:center;background:#f1d5a8;border-radius:20px;min-width:34px;padding:4px 9px}.health-dot{border-radius:20px;padding:5px 10px;font-size:12px}.health-dot.healthy{color:#276148;background:#dcece3}.health-dot.critical{color:#963d34;background:#f4ded9}.alert-list{gap:9px;display:grid}.alert-list a{color:#31483c;background:#f5f4ee;border-left:3px solid;grid-template-columns:36px 1fr;gap:12px;padding:11px;text-decoration:none;display:grid}.alert-list a.critical{border-color:#a33b31}.alert-list a.warning{border-color:#b77a2d}.alert-list small{color:#748079;margin-top:4px;line-height:1.45;display:block}.alert-count{color:#8c4a26;text-align:center;align-self:start;font:700 18px ui-monospace,monospace}.empty-state{color:#68766e;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:170px;display:flex}.empty-state span{font-size:13px}.healthy-state strong{color:#276148}.dashboard-section-heading{margin:30px 0 14px}.dashboard-section-heading>div{display:grid}.code-link{color:#274e3f;font:600 13px ui-monospace,monospace}.user-summary-cards{grid-template-columns:repeat(3,minmax(180px,260px));gap:12px;margin-bottom:20px;display:grid}.user-summary-cards article{background:#ffffff9e;border:1px solid #d5dad4;gap:8px;padding:16px 18px;display:grid}.user-summary-cards span{color:#748079;font-size:12px}.user-summary-cards strong{font:600 22px ui-monospace,monospace}.role-pills{flex-wrap:wrap;gap:5px;display:flex}.role-pills span{color:#315f4d;background:#e1ebe5;border-radius:14px;padding:4px 8px;font-size:11px}.current-user-mark{color:#9c5d1f;margin-left:8px;font-size:11px}button:disabled{cursor:not-allowed;opacity:.55}.user-dialog{width:600px}.field-hint{color:#748079;font-size:12px}.role-selector{border:1px solid #c8cec7;border-radius:5px;gap:8px;margin:0;padding:14px;display:grid}.role-selector legend{color:#4d5e54;padding:0 6px;font-size:13px}.role-selector label{background:#f3f4f0;border-radius:4px;grid-template-columns:18px 1fr;align-items:start;padding:9px}.role-selector input{width:16px;margin-top:2px}.role-selector small{color:#748079;margin-top:4px;display:block}.role-selector label.disabled{opacity:.7}.warehouse-scope-dialog{width:min(760px,100vw - 32px)}.warehouse-scope-table{max-height:420px;overflow:auto}.warehouse-scope-table input[type=checkbox]{width:17px;height:17px}.scope-code{color:#748079;margin-top:3px;font:12px ui-monospace,monospace;display:block}.partner-dialog{width:min(620px,100vw - 32px)}.partner-contact-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.partner-type-pill{color:#315f4d;background:#e1ebe5;border-radius:16px;padding:4px 9px;font-size:11px;display:inline-flex}.partner-type-pill.customer{color:#72501f;background:#f1e4c9}.partner-type-pill.both{color:#554a79;background:#e8e2f3}.taxonomy-dialog{width:min(600px,100vw - 32px)}.taxonomy-mapping{color:#315f4d;background:#e1ebe5;border-radius:16px;padding:4px 9px;font:12px ui-monospace,monospace;display:inline-flex}.taxonomy-mapping.unmapped{color:#72501f;background:#f1e4c9}.battery-model-dialog{width:min(780px,100vw - 32px)}.battery-model-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;display:grid}.battery-model-grid .span-two{grid-column:1/-1}.master-filter-bar{grid-template-columns:minmax(240px,1fr) 170px 150px auto 80px}.warehouse-policy-panel{background:#ffffff8a;border:1px solid #d5dad4;border-radius:6px;margin-top:32px;padding:24px}.warehouse-policy-panel .page-heading{align-items:start}.warehouse-policy-panel h2{margin:0;font:600 24px Songti SC,SimSun,serif}.policy-editor,.policy-preview{background:#fff;border:1px solid #d5dad4;margin-top:22px;padding:18px}.policy-editor h3,.policy-preview h3{margin:0 0 14px;font-size:16px}.policy-fields{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;display:grid}.policy-preview .policy-fields{grid-template-columns:minmax(250px,2fr) minmax(150px,1fr) auto}.policy-allowed{color:#276148}.policy-denied{color:#a33b31}.bom-line-summary{white-space:nowrap;margin:2px 0;display:block}.bom-remark{color:#748079;max-width:280px;margin-top:5px;display:block}.bom-import-panel,.code-import-panel,.purchase-import-panel{background:#ffffffad;border:1px solid #d5dad4;border-left:4px solid #3f705d;margin-top:28px;padding:22px}.bom-import-panel h2,.code-import-panel h2,.purchase-import-panel h2{margin:0 0 5px;font:600 23px Songti SC,SimSun,serif}.bom-import-panel p,.code-import-panel p,.purchase-import-panel p{margin:0}.bom-import-form{grid-template-columns:minmax(280px,1fr) auto;align-items:end;gap:12px;margin:16px 0;display:grid}.bom-import-form input[type=file]{background:#fff}.import-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.import-summary article{background:#f7f8f5;border:1px solid #d5dad4;gap:6px;padding:13px;display:grid}.import-summary span{color:#748079;font-size:12px}.import-summary strong{font:600 20px ui-monospace,monospace}.import-summary .has-error{color:#963d34;background:#fff0ed;border-color:#dfb9b1}.import-error-table{max-height:320px;overflow:auto}.import-created{color:#276148}@media (width<=700px){.bom-import-form,.import-summary{grid-template-columns:1fr}}.bom-resolver{background:#ffffffa6;border:1px solid #d5dad4;border-radius:6px;margin-top:32px;padding:22px}.bom-resolver h2{margin:0 0 16px;font:600 23px Songti SC,SimSun,serif}.bom-resolve-form{grid-template-columns:minmax(240px,2fr) 200px auto;align-items:end;gap:12px;display:grid}.bom-resolution{background:#e8efe8;border-left:4px solid #3f705d;flex-wrap:wrap;gap:14px;margin-top:16px;padding:16px;display:flex}.battery-bom-dialog{width:min(900px,100vw - 32px);overflow:auto}.bom-date-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.bom-editor-lines{gap:8px;max-height:34vh;display:grid;overflow:auto}.bom-editor-line{grid-template-columns:28px minmax(240px,1fr) 170px 48px;align-items:center;gap:8px;display:grid}.bom-editor-line span{color:#748079;text-align:center}.code-parse-form{background:#fff;border:1px solid #d5dad4;border-radius:6px;gap:16px;max-width:920px;padding:24px;display:grid}.code-mode-switch{gap:20px;display:flex}.code-mode-switch label{flex-direction:row;align-items:center;gap:7px;display:flex}.code-mode-switch input{width:auto}.code-part-grid,.code-options-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.code-parse-result{background:#ffffffbf;border:1px solid #d5dad4;border-radius:6px;max-width:920px;margin-top:24px;padding:24px}.code-parse-result h2{overflow-wrap:anywhere;margin:0;font:600 24px ui-monospace,monospace}.code-result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.code-result-grid div{background:#f7f8f5;border:1px solid #e2e5e0;gap:7px;padding:14px;display:grid}.code-result-grid span{color:#68766e;font-size:12px}.code-result-grid strong{overflow-wrap:anywhere;font:600 15px ui-monospace,monospace}.code-warning{color:#80501c;background:#fbf0da;border-left:3px solid #cf9550;padding:10px 14px}.code-ledger-filters{flex-wrap:wrap;gap:12px;margin:20px 0;display:flex}.code-ledger-filters input{flex:220px}.code-ledger-list{gap:8px;margin:16px 0;display:grid}.code-ledger-row{text-align:left;cursor:pointer;background:#fff;border:1px solid #d5dad4;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;width:100%;padding:13px 16px;display:flex}.code-ledger-row strong{overflow-wrap:anywhere;font-family:ui-monospace,monospace}.code-checkbox{flex-direction:row;align-self:end;align-items:center;gap:8px;display:flex}.code-checkbox input{width:auto}.receipt-dialog{width:min(1000px,100vw - 32px);max-height:92vh;overflow:auto}.receipt-editor-lines{gap:12px;max-height:46vh;display:grid;overflow:auto}.receipt-editor-line{border:1px solid #d5dad4;gap:12px;padding:14px;display:grid}.receipt-editor-line legend{color:#4f6258;padding:0 8px;font-weight:600}.receipt-measures{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.receipt-line-summary{gap:2px;margin-bottom:5px;display:grid}.receipt-line-summary small{color:#748079;overflow-wrap:anywhere}@media (width<=800px){.receipt-measures{grid-template-columns:1fr 1fr}}@media (width<=700px){.code-part-grid,.code-options-grid,.code-result-grid{grid-template-columns:1fr}}.model-energy-preview{background:#e8efe8;border-left:4px solid #3f705d;gap:4px;margin:16px 0;padding:14px 16px;display:grid}.model-energy-preview span,.model-energy-preview small{color:#66736b;font-size:12px}.model-energy-preview strong{color:#274e3f;font:600 22px ui-monospace,monospace}.form-warning{color:#80501c;background:#fbf1df;border-left:3px solid #c78a40;padding:9px 12px}.balance-material-card{background:#ffffffad;border:1px solid #d5dad4;border-left:4px solid #3f705d;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.balance-material-card>div{gap:7px;display:grid}.balance-material-card span:first-child{color:#748079;font-size:12px}.system-heading>div{gap:5px;display:grid}.system-heading>div>span{color:#748079;font-size:12px}.detail-tabs{z-index:3;background:#f3f1e9;border-bottom:1px solid #cfd5cf;gap:2px;margin:0 0 22px;padding:0 8px;display:flex;position:sticky;top:64px}.detail-tabs button{color:#66736b;background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 16px}.detail-tabs button:hover{color:#315f4d}.detail-tabs button.active{color:#274e3f;border-bottom-color:#3f705d;font-weight:700}.detail-section{min-height:260px}.overview-summary{margin-top:8px}.process-track{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:20px;display:grid}.process-track span{color:#748079;background:#ffffff8c;border-top:3px solid #cbd1cc;padding:16px}.process-track span.done{color:#274e3f;border-top-color:#3f705d;font-weight:600}.trace-source-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.trace-source-grid a{color:#31483c;background:#ffffffa6;border:1px solid #d5dad4;gap:8px;padding:18px;text-decoration:none;display:grid}.trace-source-grid a:hover{border-color:#699180}.trace-source-grid small{color:#748079}.batch-summary{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px;display:grid}.ledger-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.batch-summary article{background:#ffffffa6;border:1px solid #d5dad4;gap:10px;padding:18px;display:grid}.batch-summary span{color:#748079;font-size:12px}.batch-summary strong{font-size:18px}.issue-heading{margin:12px 0 16px}.issue-heading h2{margin:0 0 6px;font:600 24px Songti SC,SimSun,serif}.issue-heading p{margin:0}.row-checkbox{width:18px}.weight-input{text-align:right;min-width:110px;padding:7px 8px}.product-line{grid-template-columns:28px 1.25fr 1.1fr 1.55fr 120px 1fr 36px}.outbound-line{grid-template-columns:28px 1.5fr 1.2fr 130px 1fr 36px;align-items:start}.outbound-material-field{gap:5px;display:grid}.outbound-material-field select{width:100%}.stock-reference{color:#315f4d;font-size:11px;line-height:1.35}.stock-reference.error{color:#963d34}.conversion-filters{grid-template-columns:minmax(260px,1fr) 180px 150px auto 70px}.conversion-summary{color:#748079;max-width:420px;margin-top:5px;line-height:1.45;display:block}.conversion-dialog{width:min(1540px,100vw - 28px);max-height:94vh;overflow:auto}.conversion-dialog form{gap:18px}.conversion-header{grid-template-columns:220px 165px minmax(280px,1fr) 160px;align-items:end;gap:12px;display:grid}.conversion-state{background:#f7f8f5;border:1px solid #d5dad4;gap:6px;padding:9px 12px;display:grid}.conversion-state span{color:#748079;font-size:12px}.conversion-workbench{grid-template-columns:minmax(340px,1fr) minmax(420px,1.2fr) minmax(340px,1fr);align-items:start;gap:12px;display:grid}.conversion-column{background:#f2f4f0;border:1px solid #d5dad4;gap:10px;min-width:0;padding:12px;display:grid}.conversion-column.mapping-column{background:#f4f1e9}.conversion-column-heading{justify-content:space-between;align-items:end;min-height:58px;display:flex}.conversion-column-heading>div{gap:3px;display:grid}.conversion-column-heading span{color:#9c5d1f;letter-spacing:.12em;font:700 10px ui-monospace,monospace}.conversion-column-heading h3{margin:0;font:600 20px Songti SC,SimSun,serif}.conversion-column-heading small{color:#748079}.conversion-card{background:#fff;border:1px solid #d5dad4;border-radius:5px;gap:10px;padding:13px;display:grid}.conversion-card-heading{justify-content:space-between;align-items:center;display:flex}.conversion-measures{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.conversion-measures label{font-size:11px}.conversion-measures input{font-variant-numeric:tabular-nums;padding:8px}.movement-filters{grid-template-columns:minmax(260px,1fr) 170px auto auto}.movement-dialog{width:min(1180px,100vw - 28px);max-height:94vh;overflow:auto}.movement-dialog .dialog-heading>div{gap:3px;display:grid}.movement-dialog .dialog-heading p{margin:0}.movement-header{grid-template-columns:repeat(4,minmax(180px,1fr));align-items:end;gap:12px;display:grid}.movement-lines{gap:12px;max-height:48vh;display:grid;overflow:auto}.movement-line{background:#fff;border:1px solid #d5dad4;gap:12px;padding:14px;display:grid;position:relative}.movement-line legend{color:#4f6258;padding:0 8px;font-weight:600}.movement-line-main,.movement-measures{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.movement-policy{background:#f7f8f5;border:1px solid #d5dad4;gap:5px;padding:9px 12px;display:grid}.movement-policy span{color:#748079;font-size:12px}.movement-remove{justify-self:end}.movement-preview{background:#f4f1e9;border:1px solid #d5dad4;gap:10px;padding:14px;display:grid}.movement-preview article{background:#fff;border:1px solid #dfe3de;gap:7px;padding:11px;display:grid}.movement-preview article>header,.movement-allocation{flex-wrap:wrap;justify-content:space-between;gap:8px 18px;display:flex}.movement-preview article>header span,.movement-allocation small{color:#68766e}@media (width<=900px){.movement-header,.movement-line-main{grid-template-columns:1fr 1fr}}@media (width<=650px){.movement-header,.movement-line-main,.movement-measures{grid-template-columns:1fr}}.allocation-balance{color:#963d34;background:#fff0ed;justify-content:space-between;gap:10px;padding:9px 10px;font-size:12px;display:flex}.allocation-balance.balanced{color:#276148;background:#e5f0e9}.mapping-link{grid-template-columns:1fr 22px 1fr;align-items:end;gap:6px;display:grid}.mapping-link>span{color:#9c5d1f;text-align:center;padding-bottom:10px}.mapping-side{border-top:1px solid #e2e5e0;gap:6px;padding-top:8px;display:grid}.mapping-side>strong{color:#68766e;letter-spacing:.06em;font-size:11px}.mapping-rate{background:#fbf0da;border-left:3px solid #cf9550;justify-content:space-between;align-items:center;padding:9px 10px;display:flex}.mapping-rate span{color:#80501c;font-size:11px}.mapping-rate strong{color:#65431c;font:600 12px ui-monospace,monospace}.conversion-report-filters{grid-template-columns:145px 145px 170px 150px minmax(180px,1fr) minmax(200px,1.2fr) auto}.conversion-report-meta{color:#68766e;justify-content:space-between;margin:4px 0 16px;display:flex}.conversion-report-list{gap:14px;display:grid}.conversion-report-card{background:#ffffffb8;border:1px solid #d5dad4;border-radius:6px;padding:18px}.conversion-report-heading{justify-content:space-between;gap:16px;display:flex}.conversion-report-heading>div{flex-wrap:wrap;align-items:center;gap:8px 18px;display:flex}.conversion-report-heading small{color:#748079;flex-basis:100%}.conversion-report-sides{grid-template-columns:1fr 1fr;gap:14px;margin:16px 0;display:grid}.conversion-report-sides section{background:#f7f8f5;border:1px solid #e0e4df;padding:12px 14px}.conversion-report-sides h3{margin:0 0 8px;font-size:13px}.conversion-report-sides p{gap:3px;margin:9px 0;display:grid}.conversion-report-sides span,.conversion-report-sides small{color:#68766e}.conversion-mapping-report{margin-top:10px;overflow-x:auto}.conversion-mapping-report table{min-width:1080px}.conversion-mapping-report td span,.conversion-mapping-report td small{display:block}.conversion-mapping-report td small{color:#748079;margin-top:4px}.trace-section-heading{margin-top:28px}.trace-section-heading h2{margin:0 0 5px;font:600 23px Songti SC,SimSun,serif}.trace-section-heading p{margin:0}.trace-conversion-list{gap:10px;display:grid}.trace-conversion-card{background:#ffffffb3;border:1px solid #d5dad4;grid-template-columns:minmax(300px,1fr) minmax(260px,1fr) auto;align-items:center;gap:18px;padding:16px 18px;display:grid}.trace-conversion-card>div{grid-template-columns:auto 1fr;gap:5px 14px;display:grid}.trace-conversion-card small{color:#748079;grid-column:1/-1}.trace-conversion-card>span{color:#80501c;font:600 12px ui-monospace,monospace}.report-mode-tabs{border-bottom:1px solid #cfd5cf;gap:4px;margin:-4px 0 18px;display:flex}.report-mode-tabs a{color:#68766e;border-bottom:3px solid #0000;padding:10px 16px;text-decoration:none}.report-mode-tabs a.router-link-active{color:#274e3f;border-bottom-color:#3f705d;font-weight:700}.production-report-filters{grid-template-columns:145px 145px minmax(210px,1fr) 160px 160px auto}.production-report-list{gap:14px;display:grid}.production-report-card{background:#ffffffb8;border:1px solid #d5dad4;border-radius:6px;padding:18px}.production-report-card>header{justify-content:space-between;gap:16px;display:flex}.production-report-card>header>div{flex-wrap:wrap;align-items:center;gap:7px 18px;display:flex}.production-report-card>header small{color:#748079;flex-basis:100%}.conservation-metrics{grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0;display:grid}.conservation-metrics div{background:#f7f8f5;border:1px solid #e0e4df;gap:7px;padding:14px;display:grid}.conservation-metrics span{color:#748079;font-size:12px}.conservation-metrics strong{font:600 18px ui-monospace,monospace}.conservation-metrics .metric-ok{background:#e8f1eb;border-color:#b9d2c3}.production-report-card>footer{color:#748079;gap:20px;font-size:12px;display:flex}.hash-cell{margin-left:auto;font-family:ui-monospace,monospace}.bom-reference-list{flex-wrap:wrap;gap:7px;margin:14px 0;display:flex}.bom-reference-list span{color:#315f4d;background:#e5eee8;padding:5px 9px;font-size:12px}.bom-variance-table{overflow-x:auto}.bom-variance-table table{min-width:820px}.bom-variance-table td small{color:#748079;margin-top:4px;display:block}.bom-variance-table tfoot th{border-top:2px solid #cfd5cf}.report-warning-list{color:#80501c;background:#fbf0da;margin:14px 0 0;padding:10px 14px 10px 30px}.code-trace-summary{margin-top:20px}.code-trace-summary article:first-child{grid-column:span 2}.code-lineage-grid,.genealogy-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;display:grid}.code-lineage-grid article,.genealogy-grid article{background:#ffffffb3;border:1px solid #d5dad4;padding:18px}.code-lineage-grid h2,.genealogy-grid h3{margin:0 0 12px;font:600 20px Songti SC,SimSun,serif}.code-lineage-grid p,.genealogy-grid p{border-bottom:1px solid #e2e5e0;gap:4px;margin:0;padding:9px 0;display:grid}.code-lineage-grid p:last-child,.genealogy-grid p:last-child{border-bottom:0}.code-lineage-grid span,.genealogy-grid small{color:#748079;font-size:12px}.code-event-table{overflow-x:auto}.code-event-table table{min-width:1000px}.code-event-table td small,.code-anomaly-table td small{margin-top:4px;display:block}.trace-alerts{background:#fff0ed;flex-wrap:wrap;gap:8px;margin:14px 0;padding:12px;display:flex}.trace-alerts span{color:#963d34;font-size:13px}.code-anomaly-filters{grid-template-columns:minmax(260px,1fr) 210px minmax(220px,1fr) auto}.code-anomaly-table{overflow-x:auto}.code-anomaly-table table{min-width:1180px}.anomaly-chip{border-radius:15px;margin:2px 5px 2px 0;padding:4px 8px;font-size:11px;display:inline-flex}.anomaly-chip.error{color:#963d34;background:#f4ded9}.anomaly-chip.warning{color:#80501c;background:#f1e4c9}.trace-warning{color:#80501c;background:#fbf0da;border-left:3px solid #cf9550;padding:10px 14px}.batch-lineage-flow{gap:12px;display:grid}.batch-lineage-document{background:#ffffffb8;border:1px solid #d5dad4;border-left:4px solid #748079;padding:17px 18px}.batch-lineage-document.kind-purchase_receipt{border-left-color:#4f7f67}.batch-lineage-document.kind-production_batch{border-left-color:#af7030}.batch-lineage-document.kind-conversion{border-left-color:#7b6b9d}.batch-lineage-document.kind-outbound{border-left-color:#426f8e}.batch-lineage-document>header{flex-wrap:wrap;align-items:center;gap:6px 16px;display:flex}.batch-lineage-document>header>span{color:#315f4d;background:#e5eee8;padding:4px 8px;font-size:11px}.batch-lineage-document>header small{color:#748079;margin-left:auto}.batch-lineage-path{grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);align-items:center;gap:12px;margin-top:13px;display:grid}.batch-lineage-path>b{color:#9c5d1f;text-align:center;font-size:22px}.batch-lineage-path>div{gap:6px;display:grid}.batch-lineage-path>div>small{color:#748079}.lineage-root-chip{color:#31483c;text-align:left;cursor:pointer;background:#f7f8f5;border:1px solid #d5dad4;justify-content:space-between;gap:12px;padding:9px 11px;display:flex}.lineage-root-chip:hover{background:#edf2ed;border-color:#699180}.lineage-root-chip strong{overflow-wrap:anywhere;font:600 12px ui-monospace,monospace}.lineage-root-chip span{color:#68766e;white-space:nowrap;font-size:11px}.lineage-terminal{color:#748079;background:#f7f8f5;border:1px dashed #cbd1cc;padding:9px 11px}@media (width<=800px){.batch-lineage-path{grid-template-columns:1fr}.batch-lineage-path>b{transform:rotate(90deg)}.lineage-root-chip{display:grid}}
