:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:#172033;background:#f3f6fb}*{box-sizing:border-box}body{margin:0;display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{background:#122034;color:#fff;padding:28px 18px;position:sticky;top:0;height:100vh}aside h1{margin:0;font-size:24px}aside p{color:#91a3bb}nav{display:grid;gap:8px;margin:35px 0}nav a,.link{color:#c9d5e5;text-decoration:none;padding:13px;border-radius:9px;background:none;border:0;font-size:16px;text-align:left;width:100%}nav a:hover{background:#147bf3;color:#fff}main{padding:28px;min-width:0}header{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}header h2{margin:0;font-size:28px}header span,small,article span{color:#68778e}section,.login,.draft,article{background:white;border:1px solid #dbe3ee;border-radius:14px;padding:18px;margin-bottom:16px}label{display:grid;gap:7px;font-weight:600}input,textarea,select,button{font:inherit;border:1px solid #cbd6e4;border-radius:8px;padding:11px;background:#fff}textarea{width:100%;resize:vertical}.primary{background:#147bf3;color:white;border-color:#147bf3}.danger{color:#c93434}.actions,.row,.search{display:flex;gap:10px;align-items:center}.row{justify-content:space-between}.cards{display:grid;gap:12px}.cards article{display:grid;gap:9px}.status{background:#e9f3ff;padding:4px 9px;border-radius:20px}.machine-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.machine-grid>.machine{min-height:190px}.machine-grid>.machine article{display:grid;gap:7px;background:#f5f9ff}.machine-grid>.machine strong{color:#d43232}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:850px}th,td{text-align:left;border-bottom:1px solid #e3e9f0;padding:12px}td small{display:block}.warning,.error{background:#fff4dc;color:#8a5a00;padding:14px;border-radius:8px}.empty{color:#8190a5;padding:30px;text-align:center}.login{max-width:420px;margin:10vh auto}.login form{display:grid;gap:16px}
.page-header{align-items:center}.page-header p{margin:7px 0 0;color:#68778e}.page-count{background:#e9f3ff;color:#147bf3!important;border-radius:999px;padding:7px 13px;font-weight:700}.review-notice{display:grid;gap:4px;background:#fff8e8;border:1px solid #f2d68d;border-radius:12px;padding:14px 18px;margin-bottom:18px;color:#76520b}.review-notice span{font-size:14px}.review-list{display:grid;gap:18px}.review-sheet{padding:0;overflow:hidden;margin:0;box-shadow:0 8px 28px rgba(28,54,91,.06)}.review-sheet-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:20px 22px;background:linear-gradient(135deg,#f7fbff,#eef5ff);border-bottom:1px solid #dbe7f5}.review-sheet-head h3{margin:5px 0;font-size:22px}.review-sheet-head p{margin:0;color:#60718a}.eyebrow{font-size:13px;color:#147bf3!important;font-weight:700}.field-section{border:0;border-radius:0;border-bottom:1px solid #e6ecf3;margin:0;padding:18px 22px}.section-title{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.section-title b{font-size:16px}.section-title span{font-size:13px;color:#8190a5}.field-grid{display:grid;gap:14px}.field-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.field-grid label{font-size:13px;color:#52627a}.field-grid input,.field-grid textarea{color:#172033;font-weight:500;background:#fbfdff}.field-grid input:focus,.field-grid textarea:focus,.machine-select:focus{outline:3px solid rgba(20,123,243,.14);border-color:#147bf3}.important-input{font-size:16px;font-weight:700!important}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.recipe-section textarea{line-height:1.65}.source-line{display:flex;gap:24px;flex-wrap:wrap;padding:12px 22px;background:#fafbfd;color:#77869b;font-size:13px}.review-actions{display:flex;gap:12px;align-items:end;padding:16px 22px;border-top:1px solid #e6ecf3;background:#fff}.review-actions button{height:44px;min-width:110px;font-weight:700}.machine-field{display:grid;gap:5px;min-width:190px;font-size:12px;color:#68778e}.machine-select{display:block;width:100%;height:44px;min-height:44px;padding:9px 36px 9px 12px}.last-saved{display:block;padding:0 22px 18px;background:#fff}.empty-review{background:#fff;border:1px dashed #c8d5e5;border-radius:14px}.payload-store[hidden]{display:none}
@media(max-width:1180px){.field-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid-4 .span-4{grid-column:span 2}.machine-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1024px){body{grid-template-columns:1fr}aside{position:static;height:auto;padding:14px 18px}aside p{display:none}nav{display:flex;overflow:auto;margin:12px 0 0}nav a{white-space:nowrap;padding:9px}aside form{position:absolute;right:14px;top:10px}.machine-grid{grid-template-columns:repeat(2,1fr)}main{padding:18px}.field-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid-3 .span-3{grid-column:span 2}}
@media(max-width:700px){main{padding:12px}.machine-grid{grid-template-columns:1fr}.field-grid-2,.field-grid-3,.field-grid-4{grid-template-columns:1fr}.span-2,.span-3,.span-4,.field-grid-4 .span-4,.field-grid-3 .span-3{grid-column:span 1}.review-actions{position:sticky;bottom:0;z-index:2;align-items:stretch;flex-wrap:wrap;padding:12px 16px}.review-actions button{flex:1}.machine-field{width:100%;min-width:100%}.source-line{padding:12px 16px}.search{align-items:stretch}.search input{min-width:0;flex:1}header h2{font-size:22px}.section-title{display:grid;gap:3px}}
.current-role{margin:26px 0 12px;padding:12px 14px;border:1px solid #2c405e;border-radius:12px;background:#192b43;display:grid;gap:3px}.current-role small{color:#95a8c2}.current-role b{color:#fff}.role-switch{margin-bottom:18px;border:1px solid #2c405e;border-radius:12px;overflow:hidden}.role-switch summary{padding:11px 14px;color:#c6d3e5;cursor:pointer;font-weight:700}.role-switch a{display:block;margin:0;padding:9px 14px;color:#aebdd1;text-decoration:none;border-top:1px solid #263a57}.role-switch a:hover,.role-switch a.active{color:#fff;background:#213957}.role-board-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px}.role-task{margin:0;display:grid;gap:14px;border-radius:18px}.role-task-head{display:flex;justify-content:space-between;align-items:center;color:#64748b}.role-task-head b{font-size:18px;color:#1d4ed8}.role-task h3{margin:0;font-size:21px}.role-task p{margin:0;color:#64748b}.recipe-display{display:grid;gap:7px;padding:14px;border-radius:12px;background:#f1f6ff}.recipe-display small,.task-note small,.accounting-grid small{color:#64748b;font-weight:700}.recipe-display strong{font-size:16px;line-height:1.7}.task-note{display:grid;gap:6px;padding-top:12px;border-top:1px solid #dfe7f2}.task-note span{line-height:1.7}.accounting-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.accounting-grid div{display:grid;gap:6px;padding:13px;border-radius:12px;background:#f7f9fc}.empty-role-board{grid-column:1/-1;text-align:center;color:#718096;padding:48px}
@media(max-width:700px){.role-board-grid{grid-template-columns:1fr}.accounting-grid{grid-template-columns:1fr}.current-role{margin:12px 0}.role-switch{margin-bottom:10px}.role-switch[open]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.role-switch summary{grid-column:1/-1}.role-switch a{text-align:center}}

/* D1 layout: compact sidebar and top-right role switching */
.topbar{min-height:48px;display:flex;justify-content:flex-end;align-items:center;gap:20px;margin:-8px 0 24px;padding-bottom:14px;border-bottom:1px solid #e2e8f0}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sync-status{display:flex;align-items:center;gap:8px;color:#68778e;font-size:15px}
.sync-status i{display:block;width:10px;height:10px;border-radius:50%;background:#20b26b;box-shadow:0 0 0 5px #e4f7ed}
.topbar-actions{display:flex;align-items:center;gap:10px}
.topbar-role-label{color:#8190a5;font-size:14px}
.top-role-switch{position:relative;min-width:172px;border:1px solid #cbd6e4;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(23,32,51,.06)}
.top-role-switch summary{list-style:none;cursor:pointer;padding:10px 13px;color:#172033;font-weight:700}
.top-role-switch summary::-webkit-details-marker{display:none}
.top-role-switch summary span{float:right;color:#6b7b91}
.top-role-menu{position:absolute;right:0;z-index:30;min-width:100%;margin-top:6px;padding:6px;border:1px solid #dbe3ee;border-radius:10px;background:#fff;box-shadow:0 12px 28px rgba(23,32,51,.18)}
.top-role-menu a{display:block;padding:9px 10px;border-radius:7px;color:#4d5d73;text-decoration:none;white-space:nowrap}
.top-role-menu a:hover,.top-role-menu a.active{background:#147bf3;color:#fff}
.role-badge{padding:9px 13px;border:1px solid #cbd6e4;border-radius:10px;background:#fff;color:#172033;font-weight:700}
.nav-disabled{display:block;color:#728198;padding:13px;border-radius:9px;font-size:16px;opacity:.62;cursor:not-allowed}
aside form{margin-top:16px}
@media(max-width:1024px){.topbar{margin:0 0 16px;padding-bottom:10px}.topbar-role-label{display:none}.top-role-switch{min-width:145px}}
@media(max-width:700px){.topbar{justify-content:space-between}.sync-status{font-size:13px}.topbar-actions{margin-left:auto}}

/* 待复核型号单 D1 紧凑目录 */
.review-index-header{align-items:center;gap:18px}
.review-index-header h2{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.review-count-inline{font-size:18px;color:#147bf3;font-weight:700}
.review-tools{display:flex;align-items:center;gap:12px;min-width:min(54vw,760px)}
.review-tools select{height:48px;min-width:150px;font-weight:700;color:#52627a}
.review-search{display:flex;align-items:center;gap:8px;flex:1;height:48px;padding:0 14px;border:1px solid #d7e1ee;border-radius:10px;background:#fff;color:#8190a5}
.review-search input{width:100%;padding:0;border:0;outline:0;background:transparent;color:#172033}
.review-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.review-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:92px;margin:0;padding:14px 16px;border:1px solid #dbe5f1;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(28,54,91,.05)}
.review-card-status{padding:8px 13px;border-radius:999px;background:#fff5d8;color:#8b650b;font-weight:800;white-space:nowrap}
.review-card-main{min-width:0}
.review-card-main h3{margin:0 0 6px;font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.review-card-main p{margin:0;color:#718198;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.review-card-open{display:inline-flex;align-items:center;justify-content:center;min-width:112px;height:44px;padding:0 16px;border-radius:9px;background:#147bf3;color:#fff;text-decoration:none;font-weight:800;white-space:nowrap}
.review-card-open:hover{background:#0d68d4}
.back-to-review{display:inline-block;margin-bottom:7px;color:#147bf3;text-decoration:none;font-size:14px;font-weight:700}
.detail-page-header{align-items:center}
@media(max-width:1050px){.review-index-header{align-items:stretch;flex-direction:column}.review-tools{min-width:0}.review-card-grid{grid-template-columns:1fr}}
@media(max-width:600px){.review-tools{display:grid;grid-template-columns:1fr}.review-card{grid-template-columns:auto minmax(0,1fr);gap:10px}.review-card-open{grid-column:2;justify-self:start}.review-card-status{font-size:13px;padding:7px 10px}.review-card-main h3{font-size:17px}.review-card-main p{font-size:13px}.review-count-inline{font-size:15px}}
.cost-layout{display:grid;gap:16px}.cost-layout section{margin:0}.cost-settings{background:linear-gradient(135deg,#fff,#f6faff)}.ratio-note{margin-top:12px;padding:10px 13px;border-radius:9px;background:#edf5ff;color:#35628f;font-weight:700}.recipe-panel{padding:0;overflow:hidden}.recipe-title{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:#f8faff;border-bottom:1px solid #e2eaf4}.recipe-title>div{display:grid;gap:4px}.recipe-title small{font-weight:400}.add-material{color:#147bf3;border-color:#8cbdf6;font-weight:700}.material-rows{display:grid}.material-row{display:grid;grid-template-columns:minmax(260px,1fr) 150px auto;gap:12px;align-items:end;padding:14px 18px;border-bottom:1px solid #edf1f6}.material-row:last-child{border-bottom:0}.material-row label{font-size:13px;color:#52627a}.material-row .selected-price{grid-column:1/-1;margin-top:-4px;color:#147bf3}.remove-material{height:44px}.calculate-button{min-height:52px;font-weight:800;font-size:17px}.cost-result{border-color:#bdd6f5!important;box-shadow:0 8px 28px rgba(28,54,91,.07)}.result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.result-grid>div{display:grid;gap:6px;padding:16px;border-radius:12px;background:#f6f8fc}.result-grid strong{font-size:26px}.result-grid span{color:#718096}.profit-card{background:#eef7ff!important}.positive{color:#168447!important}.negative{color:#c93434!important}.layer-summary{margin-top:14px;padding-top:14px;border-top:1px solid #dfe7f2;color:#596a82}.cost-layout [hidden]{display:none!important}
@media(max-width:900px){.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.material-row{grid-template-columns:minmax(180px,1fr) 130px auto}}
@media(max-width:600px){.result-grid{grid-template-columns:1fr}.material-row{grid-template-columns:1fr 1fr}.material-row .remove-material{grid-column:2}.material-row .selected-price{grid-column:1/-1}.recipe-title{align-items:flex-start;gap:10px}.add-material{white-space:nowrap}}
.formula-calculator{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px;align-items:start}.formula-main{min-width:0}.formula-card{margin:0;padding:14px}.structure-choice{display:flex;gap:28px;padding:2px 4px 14px}.structure-choice label{display:flex;align-items:center;gap:7px;font-size:17px}.structure-choice input{accent-color:#111;width:18px;height:18px}.formula-section{border:1px solid #dbe3ee;border-radius:10px;overflow:hidden;margin-bottom:12px;background:#fff}.formula-section h3{margin:0;padding:8px 12px;font-size:16px}.layer-section h3{background:#fff1c7;color:#523800}.neutral-section h3{background:#f5f7fa}.formula-columns,.formula-row{display:grid;grid-template-columns:minmax(180px,2fr) 110px minmax(170px,1fr) 120px 65px;gap:10px;align-items:center}.formula-columns{padding:8px 12px 5px;color:#68778e;font-size:12px}.formula-row{padding:5px 12px;border-top:1px solid #edf1f6}.formula-row input,.formula-row select{padding:8px;min-width:0}.material-cell{display:flex;gap:6px;align-items:center;min-width:0}.material-cell>select{flex:1;min-width:100px}.down-sale{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:11px;color:#68778e}.down-sale input{width:54px}.row-price{font-size:13px;color:#52627a}.row-cost{font-size:14px}.remove-line{padding:8px;font-size:12px}.add-line{border:0;color:#147bf3;padding:8px 12px;background:transparent;font-size:13px}.formula-submit{min-width:180px;font-weight:700}.formula-summary{position:sticky;top:18px;height:auto;padding:0;background:transparent;color:#172033}.formula-summary section{margin:0 0 14px}.formula-summary h3{margin:0 0 16px}.formula-summary label{margin-bottom:15px;color:#52627a}.summary-input{font-size:20px!important;font-weight:750;color:#147bf3}.formula-summary>section>small{display:block;line-height:1.5}.summary-results>div{display:grid;gap:4px;padding:14px 0;border-top:1px solid #e4eaf2}.summary-results strong{font-size:27px;color:#147bf3}.summary-results span{color:#68778e}.summary-results .base-profit{margin-top:8px;padding:14px;background:#fff1c7;border:0;border-radius:9px}.summary-results .base-profit strong{color:#a95b00}.summary-results .base-profit b{color:#8b5000}.summary-results p{font-size:12px;color:#68778e;line-height:1.5}.input-invalid{border-color:#df3030!important;background:#fff1f1!important;box-shadow:0 0 0 2px rgba(223,48,48,.12)}.formula-calculator [hidden]{display:none!important}
@media(max-width:1100px){.formula-calculator{grid-template-columns:1fr}.formula-summary{position:static;display:grid;grid-template-columns:1fr 1fr;gap:14px}.formula-summary section{margin:0}.formula-columns,.formula-row{grid-template-columns:minmax(160px,2fr) 100px minmax(150px,1fr) 100px 60px}}
@media(max-width:700px){.formula-summary{grid-template-columns:1fr}.formula-columns{display:none}.formula-row{grid-template-columns:1fr 100px}.formula-row>*{min-width:0}.row-price,.row-cost{padding:3px}.remove-line{grid-column:2}.material-cell{grid-column:1/-1}}

/* 独立成本计算器 V1：仅手动试算，不写入订单或历史型号。 */
.formula-calculator{grid-template-columns:minmax(0,1fr) 350px;gap:18px}
.formula-card{padding:16px;border:1px solid #dbe5f1;border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(28,54,91,.05)}
.structure-choice{padding:2px 4px 16px}
.structure-choice input{accent-color:#147bf3;width:20px;height:20px}
.formula-section{border-color:#dce5f0;border-radius:12px;margin-bottom:14px}
.formula-section h3{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:9px 14px;font-size:15px}
.layer-section h3{background:#fff1c7;color:#6d4700}
.neutral-section h3{background:#f4f7fb;color:#172033}
.section-bag-total{min-width:32px;text-align:right;font-size:17px;color:#172033;font-variant-numeric:tabular-nums}
.formula-columns,.formula-row{grid-template-columns:minmax(205px,2fr) 125px minmax(175px,1fr) 120px 58px}
.formula-columns{padding:8px 14px 6px}
.formula-row{padding:7px 14px}
.formula-row input,.formula-row select{height:42px;background:#fff}
.material-cell{align-items:center}
.down-sale{padding-left:4px;font-size:11px}
.down-sale input{width:60px;height:34px!important;padding:5px!important}
.quantity-cell{display:flex;align-items:center;gap:6px;min-width:0}
.quantity-input{width:86px!important;min-width:0!important}
.quantity-unit{color:#60718a;font-size:13px}
.auto-pot-weight{display:inline-flex;align-items:center;height:42px;min-width:72px;padding:0 10px;border:1px solid #d9e2ee;border-radius:7px;background:#f3f6fa;color:#172033;font-weight:700;font-variant-numeric:tabular-nums}
.quantity-cell small{color:#8290a4;white-space:nowrap;font-size:11px}
.row-price{font-size:13px}
.row-cost{text-align:right;font-variant-numeric:tabular-nums}
.remove-line{border:0;background:transparent;color:#d63b3b}
.add-line{display:block;padding:10px 14px 12px;font-weight:700;text-align:left}
.formula-submit{margin-top:2px;min-height:48px}
.formula-summary{top:16px}
.formula-summary section{padding:17px;border:1px solid #dbe5f1;border-radius:15px;background:#fff;box-shadow:0 8px 28px rgba(28,54,91,.05)}
.summary-inputs label{display:grid;gap:7px;margin:0 0 14px;font-weight:700;color:#60718a}
.summary-input{height:58px;font-size:28px!important;color:#147bf3;background:#fbfdff}
.weight-choices{display:flex;gap:6px;justify-content:space-between}
.weight-choices button{min-width:0;padding:6px 10px;border:1px solid #d7e1ee;border-radius:999px;background:#fff;color:#52627a}
.weight-choices button.active{border-color:#147bf3;background:#147bf3;color:#fff}
.summary-results{padding-top:7px!important}
.summary-results>div{grid-template-columns:1fr auto auto;align-items:baseline;gap:5px;padding:15px 0}
.summary-results>div small{font-size:13px;color:#60718a}
.summary-results>div strong{font-size:23px;text-align:right}
.summary-results>div span{font-size:12px}
.summary-results .base-profit{display:grid;margin-top:8px;padding:15px 13px;background:#fff1c7}
.summary-results .base-profit small{grid-column:1/-1;color:#8b5000}
.summary-results .base-profit strong{font-size:28px;color:#a95b00}
.summary-results p{margin:12px 0 0}

@media(max-width:1100px){.formula-calculator{grid-template-columns:1fr}.formula-summary{position:static;display:grid;grid-template-columns:1fr 1fr}.formula-columns,.formula-row{grid-template-columns:minmax(180px,2fr) 115px minmax(160px,1fr) 110px 55px}}
@media(max-width:700px){.formula-summary{display:grid;grid-template-columns:1fr}.formula-columns{display:none}.formula-row{grid-template-columns:1fr 1fr}.material-cell{grid-column:1/-1}.row-price,.row-cost{padding:4px 0}.remove-line{grid-column:2}.weight-choices{flex-wrap:wrap}.down-sale{flex-wrap:wrap}}
.formula-summary .summary-results p{display:block}

/* 热切登记与品牌无关电子秤采集 V1 */
.flash-list{display:grid;gap:8px;margin-bottom:14px}.flash{padding:12px 15px;border-radius:10px;background:#eaf4ff;color:#175b9d}.flash.error{background:#fff0f0;color:#a52b2b}.flash.success{background:#ebf8f0;color:#207144}
.hot-cut-start-card h3,.hot-cut-card h3{margin-top:0}.hot-cut-form{display:grid;grid-template-columns:180px minmax(300px,1fr) minmax(220px,1fr) auto;gap:12px;align-items:end}.hot-cut-sync-note{display:block;margin-top:12px;padding:9px 12px;border-radius:9px;background:#fff6dc;color:#7b5a13}.hot-cut-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.hot-cut-card{min-height:170px;margin:0;display:grid;grid-template-rows:auto 1fr auto;gap:9px;padding:14px;background:#f8faff}.hot-cut-card.hot-cut-active{background:linear-gradient(145deg,#fff,#eefaf3);border-color:#bfe7ce}.hot-cut-card>b{color:#147bf3}.hot-cut-card h3{font-size:17px}.hot-cut-card p{margin:0;color:#65758d}.hot-cut-card form{margin-top:4px}.hot-cut-card button{width:100%}.hot-cut-idle{align-self:center;text-align:center;color:#8391a5}.hot-cut-select{display:block;padding:9px;border-radius:8px;background:#147bf3;color:#fff;text-decoration:none;text-align:center;font-weight:700}
.scale-connection{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #cfe0f4;border-radius:999px;color:#38617f!important;background:#fff}.scale-connection i{width:9px;height:9px;border-radius:50%;background:#20b26b;box-shadow:0 0 0 4px #dcf7e9}.scale-start-card{display:grid;gap:18px}.scale-start-card h3{margin:0 0 5px}.scale-start-fields{display:grid;grid-template-columns:minmax(220px,1fr) minmax(340px,2fr) auto;gap:14px;align-items:end}.scale-start-fields button{height:44px;min-width:130px}.scale-workspace{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px;align-items:start}.scale-workspace>section{margin:0}.live-weight-panel{display:grid;gap:18px;text-align:center}.live-meta{display:grid;gap:5px;text-align:left}.live-meta span{color:#147bf3;font-weight:750}.live-meta b{font-size:25px}.live-weight{display:flex;justify-content:center;align-items:baseline;gap:10px;padding:24px;border-radius:18px;background:#f3f8ff;border:1px solid #cfe0f7}.live-weight strong{font-size:76px;line-height:1;color:#147bf3;font-variant-numeric:tabular-nums}.live-weight span{font-size:24px;color:#57708e}.stable-state{font-weight:750;color:#7b8797}.stable-state.stable{color:#168447}.simulator-box{display:grid;grid-template-columns:minmax(190px,1fr) auto;gap:12px;align-items:end;padding:16px;text-align:left;border:1px dashed #91b8e7;border-radius:12px;background:#f8fbff}.simulator-box small{grid-column:1/-1}.weight-summary-panel{display:grid;gap:12px;position:sticky;top:16px}.weight-summary-panel>div{display:grid;grid-template-columns:1fr auto auto;align-items:baseline;gap:8px;padding:18px;border-radius:13px;background:#f5f8fc}.weight-summary-panel small{grid-column:1/-1}.weight-summary-panel strong{font-size:38px;color:#147bf3;font-variant-numeric:tabular-nums}.reading-log-panel{grid-column:1/-1}.reading-list{display:grid;margin-top:14px}.reading-item{display:grid;grid-template-columns:1fr 100px 100px 70px;align-items:center;gap:12px;padding:10px 12px;border-top:1px solid #e6ecf3}.reading-item strong{font-size:20px}.reading-item span{color:#168447}.reading-item.void{opacity:.55;text-decoration:line-through}.reading-item button{padding:7px}.adapter-note{background:#f8fbff}.adapter-note h3{margin-top:0}.adapter-note p{margin-bottom:0;color:#60718a}.adapter-steps{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.adapter-steps span{padding:10px 13px;border-radius:9px;background:#fff;border:1px solid #dbe5f1}.adapter-steps b{color:#147bf3}
@media(max-width:1150px){.hot-cut-form{grid-template-columns:1fr 2fr}.hot-cut-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.scale-workspace{grid-template-columns:1fr}.weight-summary-panel{position:static;grid-template-columns:1fr 1fr}.weight-summary-panel button{grid-column:1/-1}.reading-log-panel{grid-column:auto}}
@media(max-width:700px){.hot-cut-form,.scale-start-fields{grid-template-columns:1fr}.hot-cut-grid{grid-template-columns:1fr}.scale-workspace{display:block}.scale-workspace>section{margin-bottom:12px}.live-weight strong{font-size:52px}.simulator-box,.weight-summary-panel{grid-template-columns:1fr}.simulator-box small,.weight-summary-panel button{grid-column:auto}.reading-item{grid-template-columns:1fr auto}.reading-item small{grid-column:1}.adapter-steps{display:grid;grid-template-columns:1fr}.adapter-steps b{transform:rotate(90deg);text-align:center}}

/* 已确认的电子秤采集 V1 页面 */
.scale-page-header{align-items:center}.scale-header-tools{display:flex;gap:12px;align-items:center}.scale-header-tools label{display:flex;align-items:center;gap:7px;color:#60718a;font-size:13px}.scale-header-tools select{padding:7px 30px 7px 9px}.scale-config-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(390px,1fr);gap:14px;margin-bottom:16px}.scale-config-grid section{margin:0}.model-select-card>label,.package-mode-card>b{display:block;margin-bottom:10px;font-size:18px;font-weight:800}.model-select-row{display:grid;grid-template-columns:minmax(300px,1fr) auto;gap:10px}.model-select-row select{min-width:0;height:58px;font-size:24px;font-weight:800;color:#172033}.model-select-row button{min-height:48px;font-weight:750}.model-subline{display:flex;justify-content:space-between;gap:12px;margin-top:8px;color:#52627a}.model-subline small{color:#52627a}.package-mode-card{display:grid;align-content:start}.package-radios{display:flex;gap:30px;margin:0 0 10px}.package-radios label{display:flex;align-items:center;gap:7px;font-size:18px;font-weight:750}.package-radios input{width:21px;height:21px;accent-color:#147bf3}.standard-weight-options{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.standard-weight-options button{border-radius:0;font-weight:750}.standard-weight-options button:first-child{border-radius:8px 0 0 8px}.standard-weight-options button:last-child{border-radius:0 8px 8px 0}.standard-weight-options button.active{background:#147bf3;color:#fff;border-color:#147bf3}.package-mode-card>small{margin-top:8px}.scale-warning{margin-bottom:16px}.reviewed-scale-workspace{grid-template-columns:minmax(0,1.8fr) minmax(300px,.8fr)}.reviewed-live-panel{padding:14px}.weight-title{text-align:left;font-size:17px;font-weight:800}.reviewed-live-panel .live-weight{padding:8px;border:0;background:#fff}.reviewed-live-panel .live-weight strong{font-size:82px}.reviewed-live-panel .stable-state{justify-self:center;padding:9px 28px;border-radius:8px;background:#eef2f6}.reviewed-live-panel .stable-state.stable{background:#dcf6e6}.tail-package-box{display:grid;grid-template-columns:auto minmax(150px,1fr) minmax(190px,1fr) auto;gap:12px;align-items:end;padding:14px;border-radius:10px;background:#fff5d8;text-align:left}.tail-package-box>b{align-self:center}.tail-package-box label{font-size:13px}.tail-package-box label>div{display:flex;align-items:center;gap:7px}.tail-package-box input{width:100%;min-width:0}.tail-package-box small{grid-column:2/-1;text-align:right;color:#8b6a2a}.reviewed-summary-panel>div{background:#fff}.reviewed-summary-panel strong{font-size:46px}.reviewed-reading-panel{grid-column:1/-1}.reading-table{min-width:760px}.reading-table th,.reading-table td{padding:9px 12px}.reading-table tr.void{opacity:.5;text-decoration:line-through}.reading-void{padding:6px 14px;background:#fff5f5}.scale-config-grid [hidden],.reviewed-scale-workspace [hidden]{display:none!important}
@media(max-width:1150px){.scale-config-grid{grid-template-columns:1fr}.reviewed-scale-workspace{grid-template-columns:1fr}.reviewed-summary-panel{grid-template-columns:1fr 1fr}.reviewed-summary-panel button{grid-column:1/-1}.tail-package-box{grid-template-columns:1fr 1fr}.tail-package-box>b,.tail-package-box small{grid-column:1/-1}.tail-package-box small{text-align:left}}
@media(max-width:700px){.scale-header-tools{display:grid}.model-select-row{grid-template-columns:1fr}.model-select-row select{font-size:19px}.package-radios{gap:16px}.reviewed-live-panel .live-weight strong{font-size:54px}.tail-package-box,.reviewed-summary-panel{grid-template-columns:1fr}.tail-package-box>b,.tail-package-box small,.reviewed-summary-panel button{grid-column:auto}}

/* 成本计算器：料价表选择＋手写新料＋本次手动价格 */
.cost-manual-note{margin:-6px 0 16px;padding:11px 14px;border:1px solid #cfe0f5;border-radius:10px;background:#eef6ff;color:#315f8d}.material-name{width:100%;min-width:0}.price-editor{display:grid;grid-template-columns:minmax(70px,1fr) auto;gap:5px;align-items:center}.price-editor input,.price-editor select{height:42px;min-width:0;padding:7px}.price-editor select{max-width:92px;font-size:12px}.price-editor small{grid-column:1/-1;font-size:10px;color:#708198}.formula-row .material-cell{display:block}.formula-row .material-cell .material-name{height:42px}.formula-columns{align-items:center}
@media(max-width:700px){.price-editor{grid-template-columns:1fr 92px}.formula-row .price-editor{grid-column:1/-1}}

/* 待复核详情：按已验收 D1 弹窗布局 */
.review-modal-layer{position:relative;margin:-18px -12px;padding:18px;min-height:calc(100vh - 90px);border-radius:18px;background:rgba(25,37,55,.44)}
.review-detail-modal{max-width:1280px;margin:0 auto;padding:0;overflow:hidden;border-color:#bfcadb;border-radius:14px;box-shadow:0 20px 60px rgba(16,32,54,.28)}
.review-modal-title{height:54px;margin:0;padding:0 20px;align-items:center;border-bottom:1px solid #dfe6ef;background:#fff}
.review-modal-title h2{font-size:20px}.review-modal-title>div{display:flex;align-items:center;gap:16px}.review-modal-title a{color:#40536d;text-decoration:none;font-size:28px;line-height:1}.review-detail-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;padding:12px;background:#f8fafc}.review-detail-main{min-width:0}.review-detail-main>section,.review-detail-side>section{margin:0 0 12px;padding:12px;border-radius:10px}.review-summary-card{border-color:#d6e2f0!important}.review-summary-line{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.review-summary-line h3{margin:0;font-size:20px}.review-summary-line>strong{color:#506681;font-size:16px}.edit-model-toggle{padding:7px 12px;border-color:#147bf3;color:#147bf3;font-weight:700}.detail-tags{margin-top:9px}.detail-tags span{padding:5px 9px}.customer-requirement{margin-top:10px;padding:10px 12px;border-left:4px solid #edaa1d;background:#fff6dd;color:#725014;font-size:13px}.model-edit-drawer{margin-top:12px;padding-top:12px;border-top:1px solid #e3eaf3}.model-edit-drawer h4{margin:0 0 10px}.review-formula-card{padding:0!important;border:0!important;background:transparent!important}.review-structure-choice{display:flex;align-items:center;gap:24px;margin-bottom:10px;padding:10px 12px;border:1px solid #dbe5f0;border-radius:10px;background:#fff}.review-structure-choice label{display:flex;align-items:center;gap:6px}.review-structure-choice input{width:18px;height:18px;accent-color:#147bf3}.review-recipe-panel{margin-bottom:10px;overflow:hidden;border:1px solid #d8e2ee;border-radius:10px;background:#fff}.review-recipe-panel[hidden]{display:none!important}.review-recipe-panel h3{display:flex;justify-content:space-between;margin:0;padding:9px 13px;background:#fff1c7;color:#684600;font-size:15px}.review-mother-panel h3{background:#f2f5f9;color:#172033}.review-recipe-columns,.review-recipe-row{display:grid;grid-template-columns:minmax(160px,2.2fr) 86px 78px minmax(120px,1fr) 100px 52px;gap:8px;align-items:center}.review-recipe-columns{padding:7px 12px;color:#708096;font-size:11px}.review-recipe-row{padding:4px 12px;border-top:1px solid #edf1f6}.review-recipe-row input,.review-recipe-row select{min-width:0;padding:7px 8px}.review-recipe-row .rr-cost{text-align:right;font-size:13px}.review-recipe-row .rr-remove{padding:6px 0;border:0;color:#dc3434;background:transparent;font-size:12px}.review-recipe-row.additive-row{margin:3px 8px;border:2px solid #20a85c;border-radius:8px;background:#f0fbf5}.review-add-row{padding:8px 13px;border:0;background:transparent;color:#147bf3;font-size:12px;font-weight:700}.review-detail-side{min-width:0}.review-detail-side>section{border-color:#d7e3f0}.review-big-input{height:52px;font-size:24px;font-weight:800}.review-weight-choices{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-top:8px}.review-weight-choices button{min-width:0;padding:5px 2px;border-radius:999px;color:#52627a;font-size:10px}.review-side-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.review-side-title select{padding:6px}.review-artwork .artwork-preview{min-height:122px}.artwork-drop{display:block;margin-top:8px;padding:9px;border:1px dashed #68a9f4;border-radius:8px;color:#4b729d;text-align:center;cursor:pointer;font-size:12px}.review-cost-summary>div{display:grid;grid-template-columns:1fr auto auto;align-items:baseline;gap:5px;padding:8px 0;border-bottom:1px solid #e5ebf2}.review-cost-summary strong{color:#147bf3;font-size:18px}.review-cost-summary span{font-size:10px}.review-cost-summary .review-profit{margin-top:8px;padding:12px 9px;border:0;border-radius:8px;background:#fff1c7}.review-cost-summary .review-profit small{grid-column:1/-1;color:#8b5000}.review-cost-summary .review-profit strong{color:#a95b00;font-size:24px}.review-cost-summary p{margin:10px 0 0;color:#718198;font-size:11px}.review-modal-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid #dfe6ef;background:#fff}.review-footer-actions{display:flex;align-items:end;gap:8px}.review-footer-actions button,.review-return{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 15px;text-decoration:none;font-weight:700}.review-return{border:1px solid #cbd6e4;border-radius:8px;color:#40536d}.review-footer-actions .machine-field{min-width:150px}.review-footer-actions .machine-field span{font-size:10px}.review-footer-actions .machine-select{height:40px;min-height:40px;padding:7px 30px 7px 10px}.recipe-raw-field[hidden]{display:none!important}
@media(max-width:1150px){.review-detail-body{grid-template-columns:1fr}.review-detail-side{display:grid;grid-template-columns:1fr 1fr;gap:10px}.review-detail-side>section{margin:0}.review-artwork,.review-cost-summary{grid-row:span 2}.review-modal-footer{align-items:flex-start;flex-direction:column}.review-footer-actions{width:100%;flex-wrap:wrap}}
@media(max-width:760px){.review-modal-layer{margin:-8px;padding:7px}.review-detail-body{padding:7px}.review-detail-side{grid-template-columns:1fr}.review-recipe-columns{display:none}.review-recipe-row{grid-template-columns:1fr 80px 65px}.review-recipe-row .rr-name{grid-column:1/-1}.review-recipe-row .rr-price{grid-column:1}.review-recipe-row .rr-cost{grid-column:2}.review-modal-footer{position:sticky;bottom:0;z-index:5}.review-footer-actions{align-items:stretch}.review-footer-actions>*{flex:1}.review-footer-actions .machine-field{flex-basis:100%}.review-modal-title small{display:none}}
.cost-page-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.secondary-link,.primary-link{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border:1px solid #cddaea;border-radius:9px;color:#315f8d;background:#fff;text-decoration:none;font-weight:700}.primary-link{color:#fff;background:#147bf3;border-color:#147bf3}.formula-bottom-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.secondary-button,.save-button{min-height:48px;font-weight:750}.secondary-button{background:#fff}.save-button{background:#168447;color:#fff;border-color:#168447}.inline-status{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 13px;border-radius:9px;background:#eaf8f0;color:#12693a}.inline-status.error{background:#fff1f1;color:#b42323}.inline-status button{padding:5px 10px;color:#147bf3}.notes-toolbar{display:flex;gap:8px;margin-bottom:14px}.note-filter.active{background:#147bf3;border-color:#147bf3;color:#fff}.formula-note-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;background:transparent;border:0;padding:0}.formula-note-card{margin:0;display:grid;gap:13px}.formula-note-card.standard{border-color:#e3b341;box-shadow:0 0 0 2px #fff1c7}.note-title-row{display:flex;justify-content:space-between;gap:14px}.note-title-row h3{margin:5px 0 0}.standard-mark{display:inline-block;color:#9a6200;font-size:12px;font-weight:800}.note-summary{display:flex;gap:8px;flex-wrap:wrap}.note-summary span{padding:6px 9px;border-radius:999px;background:#f2f6fb;color:#52627a}.note-actions{display:flex;gap:8px;flex-wrap:wrap}.note-actions a,.note-actions button{padding:8px 11px;border:1px solid #d4dfec;border-radius:8px;background:#fff;color:#315f8d;text-decoration:none}.material-editor h3,.material-list-head h3{margin:0}.material-edit-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:10px;align-items:end;margin-top:13px}.material-list-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px}.material-list-head input{min-width:280px}.material-price-table{min-width:980px}.material-price-table input,.material-price-table select{padding:8px}.material-price-table tr.inactive{opacity:.55;background:#f5f5f5}.table-price-editor{display:grid;grid-template-columns:100px 105px;gap:6px}.material-price-table td:last-child{white-space:nowrap}.material-price-table td:last-child button{padding:7px 9px;margin-right:5px}
@media(max-width:900px){.formula-note-list{grid-template-columns:1fr}.material-edit-grid{grid-template-columns:1fr 1fr}.material-edit-grid button{grid-column:1/-1}.cost-page-actions{justify-content:flex-start}.page-header{align-items:flex-start;gap:12px;flex-wrap:wrap}}

/* 待复核详情页：D1 信息标签与条件版图区 */
.detail-head-main{min-width:0}.detail-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.detail-tags span{padding:6px 10px;border-radius:999px;background:#edf4fb;color:#4e6682;font-size:13px;font-weight:750}.artwork-upload-box{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);gap:14px;align-items:center;padding:14px;border:1px dashed #8eb9ed;border-radius:12px;background:#f8fbff}.artwork-upload-box input{width:100%;padding:12px;border:0;background:transparent;color:#315f8d}.artwork-preview{min-height:150px;display:flex;align-items:center;justify-content:center;border:1px solid #dbe5f1;border-radius:10px;background:#fff;color:#8190a5;text-align:center}.artwork-preview img{display:block;max-width:100%;max-height:220px;object-fit:contain}.artwork-section[hidden]{display:none!important}
.detail-tag-editor{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.detail-tag-editor label{display:flex;align-items:center;gap:5px;color:#718198;font-size:12px;font-weight:600}.detail-tag-editor select{padding:6px 8px;font-size:12px}.recipe-mode-choice{display:flex;gap:22px;margin:-3px 0 13px;color:#52627a;font-weight:700}.recipe-mode-choice label{display:flex;align-items:center;gap:6px}.recipe-mode-choice input{accent-color:#147bf3}
@media(max-width:700px){.artwork-upload-box{grid-template-columns:1fr}.artwork-preview{min-height:120px}}

/* 机台看板：排产概览／生产进度两种视图 */
.machine-board-header{align-items:center;gap:18px}.machine-board-subtitle{margin:7px 0 0;color:#718198}.machine-board-tools{display:flex;gap:0;padding:4px;border:1px solid #d4dfec;border-radius:11px;background:#fff;box-shadow:0 3px 12px rgba(28,54,91,.06)}.view-switch-button{border:0;border-radius:8px;padding:10px 14px;color:#60718a;background:transparent;font-weight:750;white-space:nowrap}.view-switch-button.active{color:#fff;background:#147bf3;box-shadow:0 3px 8px rgba(20,123,243,.2)}.machine-board-view[hidden]{display:none!important}.machine-board-legend{display:flex;justify-content:flex-end;gap:18px;margin:-4px 0 11px;color:#68778e;font-size:13px}.legend-dot{display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:50%;background:#147bf3}.legend-dot.production{background:#20b26b}.legend-dot.urgent{background:#df3d3d}.machine-overview-grid{gap:16px}.machine-overview-card{display:grid;grid-template-rows:auto 1fr auto;gap:10px;min-height:245px;margin:0;padding:16px;background:linear-gradient(145deg,#fff,#f8fbff);border-color:#d5e2f0}.machine-card-head,.progress-machine-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.machine-card-head h3,.progress-machine-head h3{margin:0 0 5px;font-size:20px}.machine-card-head span,.progress-machine-head span{color:#718198;font-size:12px}.machine-status{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eaf2ff;color:#3974b7;font-size:12px!important;font-weight:750;white-space:nowrap}.machine-status.生产中{background:#e3f7eb;color:#168447}.machine-queue{display:grid;gap:8px;align-content:start}.machine-task{display:grid;gap:5px;margin:0;padding:11px 12px;border:1px solid #dfe8f3;border-radius:10px;background:#fff}.machine-task.is-producing{border-color:#90d6ab;background:#f1fbf5}.machine-task.is-urgent{border-left:4px solid #df3d3d}.machine-task b{font-size:16px}.machine-task span{color:#68778e;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-order-line,.task-meta{display:flex;justify-content:space-between;gap:8px;align-items:center}.task-order-line small{color:#147bf3;font-weight:750}.task-order-line strong{color:#df3d3d;font-size:12px}.task-meta span:last-child{color:#168447}.machine-card-foot{display:flex;justify-content:space-between;padding-top:9px;border-top:1px solid #e3eaf3;color:#718198;font-size:13px}.machine-card-foot b{color:#172033}.progress-summary{display:flex;align-items:baseline;gap:12px;margin-bottom:13px}.progress-summary span{font-size:18px;font-weight:800}.progress-summary small{color:#718198}.progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.progress-machine{display:grid;gap:14px;margin:0;padding:17px;border:1px solid #d5e2f0;border-radius:14px;background:#fff}.progress-machine-body{display:grid;gap:11px}.progress-task{display:grid;gap:8px;margin:0;padding:12px 13px;border:1px solid #e0e7f0;border-radius:10px;background:#fafcff}.progress-task.is-producing{border-color:#8fd3a8;background:#f1fbf5}.progress-task.is-urgent{border-left:4px solid #df3d3d}.progress-task-top,.progress-task-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.progress-task-top b{font-size:15px}.progress-task-top span{padding:4px 8px;border-radius:999px;background:#edf3fa;color:#5d718a;font-size:11px;white-space:nowrap}.progress-task.is-producing .progress-task-top span{background:#dcf5e5;color:#168447}.progress-track{height:8px;border-radius:99px;background:#e9eff6;overflow:hidden}.progress-track i{display:block;height:100%;border-radius:99px;background:#8bb9ec}.progress-track i.is-producing{background:#20b26b}.progress-task-meta{color:#718198;font-size:12px}.progress-task-meta span:last-child{font-weight:750;color:#172033}.machine-board-shell .empty{padding:22px 8px}.machine-board-shell .machine-grid>.machine{min-height:0}
@media(max-width:900px){.machine-board-header{align-items:flex-start;flex-direction:column}.machine-board-tools{width:100%}.view-switch-button{flex:1}.progress-grid{grid-template-columns:1fr}}
@media(max-width:700px){.machine-board-legend{justify-content:flex-start;flex-wrap:wrap}.machine-board-tools{overflow:auto}.view-switch-button{padding:9px 10px;font-size:13px}.machine-card-head h3,.progress-machine-head h3{font-size:18px}}

/* UI4R2：严格按 D1 的自适应侧栏与详情弹窗 */
.review-modal-layer{position:fixed;inset:0;z-index:80;display:grid;place-items:center;margin:0;padding:22px;background:rgba(12,20,31,.58);border-radius:0}
.review-detail-modal{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(94vw,1640px);height:min(92vh,960px);max-width:none;margin:0;padding:0;overflow:hidden;background:#fff;border:1px solid #aeb9c8;border-radius:14px;box-shadow:0 24px 70px rgba(7,18,34,.34)}
.review-modal-title{height:auto;min-height:72px;margin:0;padding:12px 24px;align-items:flex-start;background:#fff}
.review-modal-heading h2{margin:0;font-size:21px}.review-modal-heading p{margin:6px 0 0;color:#7a8798;font-size:13px}.review-modal-title>div:last-child{padding-top:2px}.review-detail-body{min-height:0;overflow:auto;grid-template-columns:minmax(0,1fr) 320px;gap:16px;padding:14px 20px;background:#fff}.review-detail-main{min-width:0}.review-detail-main>section{margin:0 0 12px;padding:0;border:0;border-radius:0}.review-summary-card{padding:0 0 13px!important;border-bottom:1px solid #dfe6ef!important}.review-summary-line{gap:12px}.review-summary-line h3{font-size:19px}.review-summary-line>strong{font-size:17px;color:#182235}.detail-tags{margin-top:10px}.detail-tags span{padding:5px 9px;font-size:12px}.customer-requirement{margin-top:10px;padding:9px 11px;font-size:12px}.model-edit-drawer{max-height:42vh;overflow:auto;padding:12px;background:#f8fafc;border:1px solid #dfe6ef;border-radius:9px}.review-formula-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px}.review-formula-title h3{margin:0;font-size:18px}.review-structure-choice{margin:0;padding:0;border:0;background:transparent;gap:14px;font-size:12px}.review-structure-choice input{width:15px;height:15px}.review-recipe-table{overflow:hidden;border:1px solid #d8e2ee;border-radius:8px;background:#fff}.review-recipe-columns,.review-recipe-row{grid-template-columns:92px minmax(180px,2.5fr) 76px 70px 104px 98px 46px;gap:6px}.review-recipe-columns{padding:7px 9px;background:#f5f7fa}.review-recipe-row{padding:3px 8px}.review-recipe-row input,.review-recipe-row select{height:36px;padding:6px 8px;border-radius:6px}.review-recipe-row .rr-layer{font-weight:700}.review-recipe-panel{margin:0;overflow:visible;border:0;border-radius:0}.review-recipe-panel h3{display:none}.review-inner-panel .review-recipe-row{background:#fff}.review-outer-panel .review-recipe-row{background:#fff8df;border-left:4px solid #eda900;padding-left:4px}.review-layer-totals{display:flex;justify-content:flex-end;gap:18px;padding:6px 10px;color:#718198;font-size:11px;border-top:1px solid #edf1f6}.review-layer-totals b{color:#172033}.review-recipe-add-actions{display:flex;gap:8px;padding:2px 6px 6px}.review-recipe-add-actions .review-add-row{padding:5px 7px}.review-mother-panel{margin-top:8px;border:2px solid #8898ad;border-radius:8px}.review-mother-panel h3{display:block;padding:8px 11px;background:#f5f7fa}.review-mother-panel .review-recipe-columns,.review-mother-panel .review-recipe-row{grid-template-columns:minmax(190px,2fr) 130px 1px 130px 100px 46px}.review-mother-panel .review-recipe-columns{background:#fff}.review-mother-panel .review-recipe-row.additive-row{margin:4px 7px;border-color:#20a85c;background:#f0fbf5}.review-compact-cost{display:none}.review-detail-side{position:static;top:auto;height:auto;min-width:0;padding:0;background:transparent;color:#172033}.review-detail-side>section{margin:0 0 10px;padding:12px;border:1px solid #d7e3f0;border-radius:9px;background:#f8fbff}.review-detail-side label{color:#172033}.review-detail-side .review-big-input{height:48px;font-size:21px}.review-artwork .artwork-preview{min-height:106px}.review-cost-summary>div{padding:6px 0}.review-cost-summary strong{font-size:16px}.review-cost-summary .review-profit{padding:10px 8px}.review-cost-summary .review-profit strong{font-size:20px}.review-modal-footer{min-height:62px;padding:9px 18px}.review-modal-footer>small{font-size:10px}.review-footer-actions{align-items:center}.review-footer-actions .delete-draft{order:-1;padding:0 10px;border-color:transparent}.review-footer-actions .save-draft{min-width:130px}.review-footer-actions .machine-field{min-width:145px}.review-footer-actions .dispatch{min-width:190px;background:#111;color:#fff;border-color:#111}

@media(max-width:1249px){
  body{grid-template-columns:clamp(180px,21vw,220px) minmax(0,1fr)}
  body>aside{position:sticky;top:0;height:100vh;padding:22px 14px}
  body>aside h1{font-size:21px}body>aside p{display:block;font-size:13px}
  body>aside nav{display:grid;overflow:visible;margin:24px 0;gap:5px}
  body>aside nav a,body>aside .link{white-space:normal;padding:10px 11px;font-size:14px}
  body>aside form{position:static}
  main{padding:18px}
  .review-modal-layer{padding:18px}
  .review-detail-modal{width:min(92vw,1100px);height:min(90vh,850px)}
  .review-detail-body{display:block;padding:12px 20px}
  .review-detail-side{display:none}
  .review-compact-cost{display:flex;justify-content:flex-end;gap:22px;margin-top:7px;padding:8px 10px;border-top:1px solid #dfe6ef;color:#66778e;font-size:12px}
  .review-compact-cost b{color:#147bf3;font-size:15px}
  .review-modal-footer{align-items:center;flex-direction:row}.review-footer-actions{width:auto;flex-wrap:nowrap}
}

@media(max-width:820px){
  body{grid-template-columns:164px minmax(0,1fr)}body>aside{padding:18px 9px}body>aside h1{font-size:18px}body>aside p{font-size:11px}body>aside nav a,body>aside .link{padding:9px 8px;font-size:13px}main{padding:12px}
  .topbar{margin-bottom:12px}.sync-status{display:none}
  .review-modal-layer{padding:9px}.review-detail-modal{width:calc(100vw - 18px);height:calc(100vh - 18px)}
  .review-modal-title{padding:10px 14px}.review-modal-title small{display:none}.review-detail-body{padding:9px 13px}
  .review-summary-line>strong{flex-basis:100%}.review-recipe-columns{display:none}.review-recipe-row{grid-template-columns:80px minmax(150px,1fr) 68px 62px 88px 78px 42px}.review-mother-panel .review-recipe-columns{display:none}.review-mother-panel .review-recipe-row{grid-template-columns:minmax(160px,1fr) 100px 105px 75px 42px}.review-mother-panel .rr-unit{display:none}
  .review-modal-footer>small{display:none}.review-modal-footer{justify-content:flex-end}.review-footer-actions{width:100%}.review-footer-actions .save-draft{min-width:90px}.review-footer-actions .machine-field{min-width:130px}.review-footer-actions .dispatch{min-width:170px}
}

@media(max-width:620px){
  body{display:block}body>aside{position:static;height:auto;padding:12px 14px}body>aside p{display:none}body>aside nav{display:flex;overflow:auto;margin:10px 0 0}body>aside nav a{white-space:nowrap}body>aside form{position:absolute;right:8px;top:7px}
  .review-recipe-row{grid-template-columns:72px minmax(125px,1fr) 62px}.review-recipe-row .rr-unit{grid-column:1}.review-recipe-row .rr-price{grid-column:2}.review-recipe-row .rr-cost{grid-column:3}.review-recipe-row .rr-remove{grid-column:3}.review-mother-panel .review-recipe-row{grid-template-columns:minmax(125px,1fr) 90px 70px}.review-mother-panel .rr-price{grid-column:1}.review-mother-panel .rr-cost{grid-column:2}.review-mother-panel .rr-remove{grid-column:3}
  .review-footer-actions{flex-wrap:wrap}.review-footer-actions .machine-field{order:-2;flex-basis:100%}.review-footer-actions .delete-draft{display:none}.review-footer-actions .save-draft,.review-footer-actions .dispatch{flex:1;min-width:0}
}

/* BOARD1R1：机台看板严格恢复 D1 排产概览 */
.d1-board-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:8px 0 24px}
.d1-board-heading h2{margin:0;color:#182235;font-size:30px;line-height:1.2}
.d1-board-heading p{margin:9px 0 0;color:#8190a5;font-size:15px}
.d1-board-legend{display:flex;align-items:center;gap:20px;padding-bottom:2px;color:#718198;font-size:13px;white-space:nowrap}
.d1-board-legend span{display:inline-flex;align-items:center;gap:7px}
.d1-board-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;background:#1e83ee}
.d1-board-legend i.production{background:#20b26b}.d1-board-legend i.urgent{background:#e24646}
.d1-machine-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0}
.d1-machine-card{display:grid;grid-template-rows:auto 38px 48px minmax(300px,1fr) auto;gap:0;min-width:0;min-height:565px;margin:0;padding:18px 18px 14px;border:1px solid #cfe2db;border-radius:15px;background:#eaf8ef;box-shadow:none}
.d1-machine-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:65px}
.d1-machine-head h3{margin:0;color:#142033;font-size:25px;line-height:1.15}
.d1-machine-head p{margin:8px 0 0;color:#8291a3;font-size:13px;white-space:nowrap}
.d1-weight-pill{display:flex;align-items:center;justify-content:center;min-width:94px;min-height:52px;padding:7px 14px;border-radius:999px;background:#1f7d4b;color:#fff;font-size:20px;font-weight:600;white-space:nowrap}
.d1-machine-card.has-alert .d1-weight-pill{background:#e52e28}
.d1-machine-description{height:38px;margin:0;padding:9px 12px;overflow:hidden;border-radius:9px 9px 0 0;background:#f4f6f9;color:#60718a;font-size:13px;line-height:20px;white-space:nowrap;text-overflow:ellipsis}
.d1-status-select{display:flex;align-items:center;justify-content:space-between;height:48px;margin:0;padding:0 14px;border:1px solid #a9bfd8;border-radius:10px;background:#fff;color:#182235;font-size:20px;font-weight:800}
.d1-status-select span{color:#182235;font-size:19px;font-weight:500}
.d1-task-list{display:flex;flex-direction:column;gap:9px;min-height:0;padding-top:12px}
.d1-task-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:74px;margin:0;padding:10px 12px;border:1px solid #d8e2ec;border-radius:10px;background:#fff}
.d1-task-card.is-current{border-color:#69b6ff;background:#ecf7ff}
.d1-task-card.is-urgent{box-shadow:inset 4px 0 #e24646}
.d1-task-copy,.d1-task-numbers{display:flex;flex-direction:column;min-width:0}
.d1-task-copy small{margin-bottom:6px;color:#1684ef;font-size:12px;line-height:1}
.d1-task-copy b{overflow:hidden;color:#182235;font-size:16px;line-height:1.2;white-space:nowrap;text-overflow:ellipsis}
.d1-mixed{margin-top:5px;color:#149856!important;font-size:12px;font-weight:750}
.d1-task-numbers{align-items:flex-end;justify-content:center;text-align:right}
.d1-task-numbers strong{color:#172033;font-size:19px;line-height:1.2;white-space:nowrap}
.d1-task-numbers strong em{margin-left:3px;color:#7b899c;font-size:11px;font-style:normal;font-weight:500}
.d1-task-numbers span{margin-top:5px;color:#1684ef;font-size:11px;white-space:nowrap}
.d1-no-task{display:flex;align-items:center;justify-content:center;min-height:180px;color:#8b98aa;font-size:16px}
.d1-machine-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid #d6e9df;color:#7b899c;font-size:12px}
.d1-machine-foot b{color:#2e3a4d;font-size:13px}
@media(max-width:1500px){.d1-machine-grid{gap:14px}.d1-machine-card{padding:15px 14px 12px}.d1-weight-pill{min-width:82px;padding:7px 11px;font-size:17px}.d1-task-card{padding:9px}.d1-task-copy b{font-size:14px}.d1-task-numbers strong{font-size:17px}}
@media(max-width:1180px){.d1-machine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.d1-board-heading{align-items:flex-start}.d1-machine-card{min-height:520px}}
@media(max-width:760px){.d1-board-heading{display:grid;gap:14px}.d1-board-heading h2{font-size:25px}.d1-board-legend{flex-wrap:wrap}.d1-machine-grid{grid-template-columns:1fr}.d1-machine-card{min-height:500px}}

/* BOARD2R1：D1 尺寸、拖拽排产与连续复核 */
.d1-board-heading{margin:4px 0 18px}.d1-board-heading h2{font-size:24px}.d1-board-heading p{margin-top:7px;font-size:13px}
.d1-machine-grid{gap:14px}
.d1-machine-card{grid-template-rows:auto 32px 42px minmax(220px,1fr) auto;min-height:480px;padding:14px 14px 11px;border-radius:13px}
.d1-machine-head{min-height:55px}.d1-machine-head h3{font-size:20px}.d1-machine-head p{margin-top:6px;font-size:11px}
.d1-weight-pill{min-width:80px;min-height:44px;padding:6px 11px;font-size:16px}
.d1-machine-description{height:32px;padding:6px 10px;font-size:12px;line-height:20px}
.d1-status-select{height:42px;padding:0 12px;border-radius:8px;font-size:16px}.d1-status-select span{font-size:16px}
.d1-task-list{gap:7px;padding-top:10px;border:2px solid transparent;border-radius:10px;transition:border-color .15s,background .15s}
.d1-task-list.is-drop-target{border-color:#5aa8f5;background:rgba(255,255,255,.36)}
.d1-task-card{min-height:62px;padding:8px 10px;border-radius:8px}.d1-queued-task{cursor:grab}.d1-queued-task:active{cursor:grabbing}.d1-queued-task.is-dragging{opacity:.42}
.d1-task-copy small{margin-bottom:4px;font-size:10px}.d1-task-copy b{font-size:14px}.d1-mixed{margin-top:3px;font-size:10px!important}
.d1-task-numbers strong{font-size:16px}.d1-task-numbers span{margin-top:4px;font-size:10px}
.d1-no-task{min-height:135px;font-size:14px}.d1-machine-foot{padding-top:10px;font-size:11px}.d1-machine-foot b{font-size:12px}
.board-saving{cursor:progress}.board-saving .d1-queued-task{pointer-events:none}
.app-toast{position:fixed;left:50%;top:24px;z-index:200;max-width:min(86vw,520px);padding:11px 18px;border-radius:999px;background:#153b29;color:#fff;font-size:14px;font-weight:750;box-shadow:0 10px 28px rgba(0,0,0,.2);opacity:0;transform:translate(-50%,-14px);transition:opacity .18s,transform .18s}.app-toast.visible{opacity:1;transform:translate(-50%,0)}.app-toast.error{background:#b52a2a}
.review-title-left{display:flex!important;align-items:center!important;gap:14px!important;min-width:0}.review-title-machine{display:flex;align-items:center;gap:6px;min-width:128px;color:#68778e;font-size:11px}.review-title-machine .machine-select{height:40px;min-height:40px;padding:6px 30px 6px 9px;font-weight:750}.review-modal-heading{min-width:0}.review-modal-heading h2,.review-modal-heading p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.next-draft{display:inline-flex;align-items:center;justify-content:center;height:40px;min-width:90px;padding:0 15px;border:1px solid #cbd6e4;border-radius:8px;background:#fff;color:#40536d;text-decoration:none;font-weight:700}.next-draft:hover{border-color:#147bf3;color:#147bf3}
@media(max-width:1180px){.d1-machine-card{min-height:455px}.d1-machine-grid{gap:12px}}
@media(max-width:820px){.review-title-left{gap:8px!important}.review-title-machine{min-width:105px}.review-title-machine span{display:none}.review-title-machine .machine-select{font-size:12px}.next-draft{min-width:72px;padding:0 10px}}
@media(max-width:760px){.d1-machine-card{min-height:440px}.d1-board-heading h2{font-size:22px}}

/* BOARD2R2：任务详情与可撤回派单 */
.board-task-open{cursor:pointer}.board-task-open:hover{border-color:#75b9f7;box-shadow:0 2px 9px rgba(20,123,243,.1)}
.d1-queued-task{cursor:grab}.d1-queued-task.board-task-open:active{cursor:grabbing}
.withdraw-dispatch{margin:2px 0 0;padding:0;border:0;background:transparent;color:#df3d3d;font-size:11px;line-height:1.2;cursor:pointer}.withdraw-dispatch:hover{text-decoration:underline}.withdraw-dispatch:disabled{opacity:.45;cursor:wait}
.review-title-machine .machine-select:disabled{background:#f3f6fa;color:#51627a;opacity:1}

/* BOARD3R1：目录快捷操作与图6紧凑机台看板 */
.review-card{position:relative;padding-right:14px}
.review-card-delete{position:absolute;top:6px;right:8px;width:24px;height:24px;padding:0;border:0;background:transparent;color:#8997aa;font-size:22px;line-height:22px;cursor:pointer}.review-card-delete:hover{color:#d93434}.review-card-delete:disabled{opacity:.35}
.review-card-actions{display:flex;align-items:center;gap:8px;padding-right:18px}.review-card-dispatch{height:44px;min-width:70px;padding:0 14px;border-color:#147bf3;background:#fff;color:#147bf3;font-weight:800}.review-card-dispatch:hover{background:#eaf4ff}.review-card-dispatch:disabled{opacity:.5}
.quick-dispatch-dialog{width:min(92vw,390px);padding:0;border:0;border-radius:14px;box-shadow:0 18px 60px rgba(16,31,51,.28)}.quick-dispatch-dialog::backdrop{background:rgba(15,25,40,.5)}.quick-dispatch-dialog form{position:relative;display:grid;gap:16px;padding:24px}.quick-dispatch-dialog h3{margin:0;font-size:21px}.quick-dispatch-dialog select{width:100%;height:48px}.quick-dispatch-dialog .primary{height:46px;font-weight:800}.quick-dispatch-close{position:absolute;right:10px;top:8px;padding:2px 8px;border:0;background:transparent;color:#718198;font-size:24px}
.d1-board-toolbar{display:flex;align-items:stretch;justify-content:space-between;gap:16px;margin:-4px 0 16px}.d1-board-metrics{display:grid;grid-template-columns:repeat(4,minmax(135px,1fr));gap:10px;flex:1}.d1-board-metrics>div{display:flex;align-items:center;gap:10px;min-height:68px;padding:11px 14px;border:1px solid #dbe5f1;border-radius:9px;background:#fff}.d1-board-metrics i{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#14ad63;color:#fff;font-style:normal;font-weight:800}.d1-board-metrics i.waiting{background:#147bf3}.d1-board-metrics i.alerts{background:#e93636}.d1-board-metrics i.completed{border-radius:8px;background:#fff;color:#16213a;font-size:23px}.d1-board-metrics span{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 8px;color:#172033;font-size:13px;font-weight:700}.d1-board-metrics b{color:#168447;font-size:20px}.d1-board-metrics small{grid-column:1/-1;font-size:10px;font-weight:500}.d1-board-filters{display:flex;align-items:center;gap:8px}.d1-board-filters label{display:flex;align-items:center;gap:6px;height:44px;padding:0 10px;border:1px solid #d5e1ee;border-radius:8px;background:#fff;color:#718198}.d1-board-filters input{width:170px;padding:0;border:0;outline:0}.d1-board-filters select{height:44px;min-width:112px}
.d1-machine-card{grid-template-rows:24px auto 30px minmax(186px,186px) auto;min-height:380px;padding:10px 12px 10px;border-radius:11px;background:#fff}.d1-machine-card::before{content:"";position:absolute}.d1-machine-card{position:relative;border-top:5px solid #1ab568}.d1-machine-card.has-alert{border-top-color:#ef4444}.d1-machine-state{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#75869e;font-size:10px}.d1-machine-state strong{display:flex;align-items:center;gap:6px;color:#159755}.d1-machine-state i{width:7px;height:7px;border-radius:50%;background:#17b36a}.d1-machine-card.has-alert .d1-machine-state strong{color:#e12d2d}.d1-machine-card.has-alert .d1-machine-state i{background:#e12d2d}.d1-machine-head{align-items:center;min-height:49px}.d1-machine-head h3{font-size:21px}.d1-machine-head p{margin-top:4px}.d1-weight-pill{min-width:76px;min-height:36px;padding:4px 10px;background:#c8efd8;color:#173522;font-size:15px}.d1-machine-card.has-alert .d1-weight-pill{background:#ffd1c9;color:#7d2018}.d1-machine-description{height:30px;padding:5px 9px;border-radius:7px;background:#f6f8fb;font-size:11px}.d1-task-list{display:flex;max-height:186px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:7px 3px 4px 0;scrollbar-width:thin;scrollbar-color:#b8c8da transparent}.d1-task-card{min-height:49px;padding:6px 8px}.d1-task-card.is-current{background:#edf8ff}.d1-task-copy small{margin-bottom:3px}.d1-task-copy b{font-size:13px}.d1-task-numbers strong{font-size:15px}.d1-task-numbers span{margin-top:2px;font-size:9px}.withdraw-dispatch{font-size:9px}.d1-machine-foot{padding-top:7px}.is-demo-task{cursor:default}
@media(max-width:1450px){.d1-board-toolbar{display:grid}.d1-board-filters{justify-content:flex-end}.d1-machine-grid{gap:10px}.d1-machine-card{padding:9px}.d1-board-metrics>div{padding:9px 10px}}
@media(max-width:1050px){.review-card-actions{grid-column:auto}.review-card{padding-right:12px}.d1-board-metrics{grid-template-columns:repeat(2,minmax(135px,1fr))}}
@media(max-width:600px){.review-card-actions{grid-column:2;justify-self:start;flex-wrap:wrap}.review-card-delete{top:4px;right:5px}.d1-board-filters{display:grid}.d1-board-filters label,.d1-board-filters input{width:100%}}
