.chain-ui{--teal:#107e78;--line:#e4e9ec;--muted:#71828b;min-width:0}.chain-ui small{line-height:1.6}.chain-ui input[type=checkbox]{width:auto}.chain-ui button{white-space:normal}dialog.chain-dialog{max-width:1120px;width:calc(100% - 28px)}.chain-ui .formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.chain-ui .panel{margin-bottom:18px}
.chain-ui button,.chain-ui input,.chain-ui select,.chain-ui textarea{font:inherit}.chain-ui button,.chain-ui a.button{cursor:pointer;border:1px solid #d9e1e6;background:white;color:#223b46;border-radius:7px;padding:9px 14px;text-decoration:none;white-space:nowrap}.chain-ui button:hover,.chain-ui a.button:hover{border-color:var(--teal);color:var(--teal)}.chain-ui button:disabled{opacity:.45;cursor:not-allowed}.chain-ui .primary{background:var(--teal)!important;color:white!important;border-color:var(--teal)!important}.chain-ui .ghost{background:transparent;border-color:transparent}.chain-ui .link{border:0;color:var(--teal);padding:4px;background:transparent}.chain-ui input,.chain-ui select,.chain-ui textarea{border:1px solid #d7e0e5;border-radius:6px;background:#fff;padding:10px 11px;color:#203744;max-width:100%;min-width:0}.chain-ui input:focus,.chain-ui select:focus,.chain-ui textarea:focus{outline:2px solid #90cbc4;outline-offset:1px}.chain-ui input:disabled{background:#f3f5f6;color:#647782}.chain-ui textarea{min-height:80px;resize:vertical}.chain-ui label{font-size:12px;color:#526872;display:flex;flex-direction:column;gap:7px}.chain-ui input[type=checkbox]{accent-color:var(--teal)}.chain-ui .pagehead{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 24px}.chain-ui .eyebrow{font-size:10px;color:var(--teal);font-weight:800;letter-spacing:2px;margin-bottom:9px}.chain-ui h1{font-size:27px;letter-spacing:-.5px;margin:0 0 10px}.chain-ui h2{font-size:17px;margin:0 0 8px}.chain-ui h3{font-size:14px}.chain-ui p{line-height:1.7;color:#697e89;margin:8px 0}.chain-ui .pagehead p{font-size:12px;margin:0}.chain-ui .metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.chain-ui .metrics article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px}.chain-ui .metrics small{color:#69818d;font-size:12px}.chain-ui .metrics strong{display:block;font-size:30px;line-height:1.8;font-weight:650}.chain-ui .metrics em{font-style:normal;font-size:12px;font-weight:normal;color:#8b9aa1;margin-left:9px}.chain-ui .metrics span{font-size:11px;color:#8a9ba3}.chain-ui .warn{color:#c47732}.chain-ui .filterbar{display:flex;gap:10px;align-items:center;margin-bottom:17px;flex-wrap:wrap}.chain-ui .filterbar>input{flex:1;min-width:220px}.chain-ui .filterbar select{font-size:12px}.chain-ui .filterbar label{flex-direction:row;white-space:nowrap;align-items:center}.chain-ui .parent{background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:20px;overflow:hidden}.chain-ui .parenttop{display:flex;justify-content:space-between;padding:21px 23px 17px;gap:18px}.chain-ui .parenttop p{font-size:12px}.chain-ui .parenttop p span{margin:0 7px;color:#bdc8cc}.chain-ui .row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.chain-ui .mono{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;letter-spacing:.2px;color:#788d98}.chain-ui .parent h2{font-size:19px;margin-top:12px}.chain-ui .version{font-size:11px;background:#f0f4f5;color:#6f8591;border-radius:4px;margin-left:8px;padding:3px 7px;vertical-align:middle}.chain-ui .partname{font-weight:400;font-size:13px;margin-left:14px;color:#637c88}.chain-ui .right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:13px;flex-shrink:0}.chain-ui .right strong{font-size:24px;color:#247f72}.chain-ui .right small{font-size:11px;font-weight:400;color:#8a9ba5}.chain-ui .right button{font-size:12px}.chain-ui .badge{display:inline-block;padding:4px 7px;border-radius:4px;font-size:10px;font-weight:500;line-height:1.25;color:#607780;background:#eef3f5;white-space:normal}.chain-ui .badge.green{background:#e8f5ee;color:#347d5b}.chain-ui .badge.red{background:#fff0eb;color:#bf633e}.chain-ui .badge.amber{background:#fff3dc;color:#ad7b2b}.chain-ui .badge.blue{background:#eaf2fb;color:#547ea4}.chain-ui .chain{display:flex;gap:7px;align-items:stretch;overflow-x:auto;padding:0 23px 21px}.chain-ui .node{min-width:180px;max-width:240px;flex:1;text-align:left;background:#fafcfc;padding:12px;border-color:#e2e9ec;white-space:normal}.chain-ui .node>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:5px}.chain-ui .node h3{line-height:1.6;min-height:23px;margin:12px 0 5px}.chain-ui .node p{font-size:12px;margin:0 0 12px;color:#83949c}.chain-ui .node small{font-size:10px;color:#8c9fa8}.chain-ui .node.green{border-top:3px solid #85bba7}.chain-ui .node.red{border-top:3px solid #d49568;background:#fffdf9}.chain-ui .node.blue{border-top:3px solid #6ea6b0}.chain-ui .node.amber{border-top:3px solid #dab06a}.chain-ui .node.focused{outline:2px solid #85bfb6}.chain-ui .flowcount{border-top:1px solid #e5ecee;padding-top:11px;display:flex;gap:10px;font-size:10px;margin-bottom:10px;color:#77909a}.chain-ui .flowcount b{font-size:14px;margin-left:3px;color:#34535f}.chain-ui .textred,.chain-ui .textred b{color:#bf6a43}.chain-ui .arrow{align-self:center;color:#b3c2c9}.chain-ui .warehouseNode{min-width:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:24px;color:#6c9690}.chain-ui .warehouseNode b{font-size:12px}.chain-ui .warehouseNode span{font-size:10px;color:#8c9da5}.chain-ui .parentfoot{display:flex;justify-content:space-between;gap:10px;background:#fafcfc;border-top:1px solid #edf1f3;padding:12px 23px;font-size:10px;color:#8ca0aa}.chain-ui .parentfoot b{color:#567681;margin-left:5px}.chain-ui .panel{background:white;border:1px solid var(--line);border-radius:10px;padding:23px;margin-bottom:18px}.chain-ui .sectiontitle{display:flex;gap:10px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.chain-ui .sectiontitle h2{margin:0}.chain-ui .num{background:#edf5f1;color:#478d79;padding:6px 8px;border-radius:5px;font-size:11px}.chain-ui .hint{margin-left:auto;color:#8a9ba5;font-size:12px}.chain-ui .formgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.chain-ui .wide{grid-column:span 2}.chain-ui .check{flex-direction:row;align-items:center;gap:8px}.chain-ui .facts{display:flex;gap:28px;flex-wrap:wrap;background:#f6f9fa;border-radius:8px;padding:16px 18px;margin:18px 0}.chain-ui .facts small{display:block;color:#8b9ba5;font-size:11px;margin-bottom:8px}.chain-ui .facts b{font-size:13px}.chain-ui .facts.mini{justify-content:space-between;gap:10px}.chain-ui .facts.mini b{font-size:22px}.chain-ui details{margin:15px 0 3px;font-size:11px;color:#8b9ba3}.chain-ui summary{cursor:pointer}.chain-ui .routehead,.chain-ui .routeedit{display:grid;grid-template-columns:2fr 1.15fr 1.2fr 1fr 1.25fr;gap:18px;align-items:center}.chain-ui .routehead{background:#f5f8f9;padding:12px 10px;font-size:11px;color:#8b9ca4;border-radius:5px}.chain-ui .routeedit{padding:18px 10px;border-bottom:1px solid #edf1f2}.chain-ui .routeedit input,.chain-ui .routeedit select{width:100%;font-size:12px}.chain-ui .process{display:flex;gap:12px;align-items:start}.chain-ui .process>span{font-size:11px;color:#7da49b;background:#eef6f2;padding:6px;border-radius:50%}.chain-ui .process b{display:block;font-size:13px}.chain-ui .process small{display:block;color:#8c9aa3;font-size:11px;line-height:1.7;margin-top:6px}.chain-ui .routeedit label small{font-size:10px;color:#94a4ac}.chain-ui .receiver b{font-size:12px}.chain-ui .receiver small{display:block;color:#93a4ab;font-size:10px;margin-top:7px}.chain-ui .merged{font-size:11px;color:#70948a;line-height:1.8}.chain-ui .merged small{font-size:10px;color:#9aa8ae}.chain-ui .routeend{padding:20px 10px 0;color:#5d877f;font-size:12px}.chain-ui .routeend span{color:#92a2aa;font-size:11px}.chain-ui .submitbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px;background:#eaf2ef;border:1px solid #d8e8e1;border-radius:10px}.chain-ui .submitbar b{font-size:13px}.chain-ui .submitbar small{display:block;font-size:11px;color:#6b8b81;margin-top:7px}.chain-ui .notice{background:#edf4f6;border-left:3px solid #80afb7;border-radius:4px;padding:12px 15px;font-size:12px;line-height:1.8;color:#5b7d8b;margin-bottom:18px}.chain-ui .bomgrid,.chain-ui .suppliergrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.chain-ui .bomgrid .panel,.chain-ui .suppliergrid .panel{margin:0}.chain-ui .routelist{counter-reset:route;list-style:none;padding:0 0 0 10px;margin:20px 0}.chain-ui .routelist li{position:relative;padding:0 0 20px 25px;border-left:1px solid #dbe7e3}.chain-ui .routelist li:before{counter-increment:route;content:counter(route);position:absolute;left:-10px;top:0;width:20px;height:20px;text-align:center;line-height:20px;border-radius:50%;font-size:10px;background:#e7f1ec;color:#6a9c8b}.chain-ui .routelist p{font-size:11px;margin:4px 0}.chain-ui .routelist small{font-size:11px;color:#8da1aa}.chain-ui .mutedtext{color:#8d9ea6;font-weight:400}.chain-ui .tags{display:flex;gap:7px;flex-wrap:wrap}.chain-ui dl{font-size:12px;line-height:1.9}.chain-ui dt{color:#8b9aa4}.chain-ui dd{margin:0 0 12px}.chain-ui .deliveryrow{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid #eee}.chain-ui .technical{font-size:11px;border-left:2px solid #bdd6cd;padding-left:10px}.chain-ui .tablewrap{overflow:auto}.chain-ui table{border-collapse:collapse;width:100%;font-size:12px;white-space:normal}.chain-ui th{background:#f5f8f9;color:#8c9ea8;font-weight:500;text-align:left}.chain-ui th,.chain-ui td{padding:12px 10px;border-bottom:1px solid #e9eef1;line-height:1.7}.chain-ui td button{font-size:10px;margin:4px 0}.chain-ui .modalhead{position:sticky;top:0;background:white;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);z-index:2}.chain-ui .modalhead h2{margin:0}.chain-ui .modalhead button{font-size:20px;border:0}.chain-ui .modalbody{padding:24px}.chain-ui .modalbody .formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.chain-ui .block{margin:16px 0;width:100%}.chain-ui .block input,.chain-ui .block textarea{width:100%}.chain-ui .dialogfoot{display:flex;justify-content:flex-end;margin-top:22px}.chain-ui .engineeringrow{display:grid;grid-template-columns:20px 1fr 1.5fr 1fr auto;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid #eee}.chain-ui .approved label{flex-direction:row;align-items:center;margin-top:7px;font-size:11px}.chain-ui .approved small{font-size:10px;color:#91a0a8}.chain-ui .engineeringrow button{padding:5px;font-size:11px}.chain-ui .suggestions{padding-left:20px;line-height:1.8}.chain-ui .empty{padding:60px 20px;text-align:center;color:#8e9fa8}.chain-ui .mobilelabel{display:none}@media(min-width:1550px){.chain-ui .chain .node{min-width:160px}.chain-ui .arrow{font-size:12px}.chain-ui .warehouseNode{min-width:85px}}@media(max-width:1100px){.chain-ui .metrics{gap:10px}.chain-ui .metrics article{padding:15px}.chain-ui .routehead,.chain-ui .routeedit{gap:10px;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr}.chain-ui .formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.chain-ui .bomgrid,.chain-ui .suppliergrid{grid-template-columns:1fr}.chain-ui .engineeringrow{grid-template-columns:20px 1fr 1.3fr}.chain-ui .engineeringrow .approved{grid-column:2}.chain-ui .pagehead h1{font-size:24px}}@media(max-width:700px){.chain-ui .pagehead{align-items:start;flex-direction:column}.chain-ui .pagehead h1{font-size:23px}.chain-ui .metrics{grid-template-columns:repeat(2,1fr);gap:8px}.chain-ui .metrics strong{font-size:25px}.chain-ui .metrics article{padding:14px}.chain-ui .metrics span{font-size:10px}.chain-ui .filterbar{gap:8px}.chain-ui .filterbar>input{flex-basis:100%}.chain-ui .filterbar select{flex:1;max-width:45%}.chain-ui .parenttop{padding:17px;display:block}.chain-ui .parenttop .right{margin-top:12px;flex-direction:row;justify-content:space-between;align-items:center}.chain-ui .parent h2{font-size:16px}.chain-ui .partname{display:block;margin:8px 0 0}.chain-ui .chain{padding:0 17px 17px}.chain-ui .node{min-width:185px}.chain-ui .parentfoot{display:block;line-height:1.8;padding:11px 17px}.chain-ui .parentfoot>span{display:block}.chain-ui .panel{padding:17px}.chain-ui .facts{gap:16px;padding:14px}.chain-ui .facts>div{min-width:100px}.chain-ui .sectiontitle h2{font-size:15px}.chain-ui .formgrid{grid-template-columns:1fr}.chain-ui .wide{grid-column:span 1}.chain-ui .routehead{display:none}.chain-ui .routeedit{grid-template-columns:1fr 1fr;gap:14px;border-top:1px solid #e0e8eb}.chain-ui .process{grid-column:span 2}.chain-ui .receiver{grid-column:span 2}.chain-ui .mobilelabel{display:block}.chain-ui .routeend{line-height:1.8}.chain-ui .routeend span{display:block}.chain-ui .submitbar{flex-direction:column;align-items:stretch}.chain-ui .submitbar button{white-space:normal}.chain-ui .deliveryrow{display:block}.chain-ui .deliveryrow button{margin-top:12px}.chain-ui .modalbody{padding:17px}.chain-ui .modalhead{padding:15px}.chain-ui .modalhead h2{font-size:15px}.chain-ui .modalbody .formgrid{grid-template-columns:1fr}.chain-ui .engineeringrow{grid-template-columns:20px 1fr}.chain-ui .engineeringrow label{grid-column:2}.chain-ui .engineeringrow .row{grid-column:2}.chain-ui .engineeringrow strong{align-self:start}.chain-ui .engineeringrow .approved{grid-column:2}.chain-ui .bomgrid,.chain-ui .suppliergrid{gap:15px}.chain-ui .tablewrap{margin:0 -5px}.chain-ui table{min-width:590px}.chain-ui .panel>table{display:block;overflow:auto}.chain-ui .pagehead .button{font-size:12px}.chain-ui .parent .chain{scrollbar-width:thin}}.chain-ui .plannedqty{display:block;font-size:12px;color:#237e71;margin-top:9px;font-weight:600}.chain-ui .quantitycell{min-width:80px;color:#247f72}.chain-ui .quantitycell div+div{margin-top:9px}.chain-ui .quantitycell small{display:block;font-size:10px;color:#8499a2}.chain-ui th small{font-size:10px;font-weight:400;color:#8d9da5}.chain-ui .unittransfer{display:block;margin-top:6px;font-size:10px;color:#658d83;line-height:1.5}.chain-ui .batchsteps span{color:#8eb3a7}.chain-ui .batchcard{display:flex;align-items:center;justify-content:space-between;gap:20px}.chain-ui .batchcard h3{font-size:16px;margin:9px 0}.chain-ui .batchcard p{font-size:12px}.chain-ui .batchmeta{display:grid;grid-template-columns:minmax(160px,2fr) minmax(150px,1fr) auto;gap:15px;align-items:end}.chain-ui .batchtoolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:22px 0 12px}.chain-ui .batchtoolbar>span{margin-left:auto;color:#81959f;font-size:12px}.chain-ui .batchtable{min-width:750px}.chain-ui .batchtable input[type=number]{width:100px}.chain-ui .batchtable td small,.chain-ui .previewpart td small,.chain-ui .modalbody table td small{display:block;color:#81959f;font-size:11px}.chain-ui .batchtable td{vertical-align:middle}.chain-ui .batcherror{color:#b65436;font-size:12px;line-height:1.8;margin-top:5px}.chain-ui .batchsticky{position:sticky;bottom:10px;z-index:1;box-shadow:0 6px 25px #163a3a12}.chain-ui .pickrow{display:flex;flex-direction:row;align-items:center;gap:14px;border-bottom:1px solid #e6eeeb;padding:18px 8px;font-size:14px}.chain-ui .pickrow[hidden]{display:none}.chain-ui .pickrow small{display:block;margin-top:7px;font-size:12px;color:#80938f}.chain-ui .previewtabs{display:flex;gap:10px;position:sticky;top:70px;padding:10px 0;background:#fff;z-index:1;margin-bottom:15px}.chain-ui .previewpart h3{margin:4px 0}.chain-ui .previewpart p{font-size:12px}.chain-ui .batchfooter{position:sticky;bottom:-24px;padding:16px 0;background:#fff;border-top:1px solid #e8eeeb;gap:10px;z-index:2}.chain-ui #batchPaste{white-space:pre;font-family:ui-monospace,monospace;font-size:13px}@media(max-width:700px){.chain-ui .batchmeta{grid-template-columns:1fr}.chain-ui .batchcard{align-items:start}.chain-ui .batchsteps{gap:10px;font-size:11px;padding:16px}.chain-ui .batchsteps span{display:none}.chain-ui .batchsteps b{width:100%}.chain-ui .batchsticky{position:static}.chain-ui .previewtabs{position:static;flex-wrap:wrap}.chain-ui .batchfooter{bottom:-17px;flex-wrap:wrap}.chain-ui .batchtoolbar button{font-size:12px}.chain-ui .batchcard button{font-size:12px}.chain-ui .batchtable{min-width:700px}}@media(max-width:700px){.chain-ui .batchtable{min-width:0;display:block}.chain-ui .batchtable thead{display:none}.chain-ui .batchtable tbody{display:block}.chain-ui .batchtable tr{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0;border:1px solid #e3ece8;border-radius:9px;padding:14px}.chain-ui .batchtable td{display:block;border:0;padding:0;min-width:0}.chain-ui .batchtable td:nth-child(1),.chain-ui .batchtable td:nth-child(4),.chain-ui .batchtable td:nth-child(6){grid-column:1 / -1}.chain-ui .batchtable td:nth-child(2):before{content:'需求数量';display:block;font-size:11px;color:#81959f;margin-bottom:4px}.chain-ui .batchtable td:nth-child(3):before{content:'开料比 / 材料数';display:block;font-size:11px;color:#81959f}.chain-ui .batchtable td:nth-child(5):before{content:'紧急';font-size:11px;color:#81959f;margin-right:8px}.chain-ui .batchtable td:nth-child(6){display:flex;gap:9px}}
.chain-ui .chain-filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.chain-ui .chain-filter input{flex:1;min-width:180px}.chain-ui .batchsteps{display:flex;gap:16px;padding:20px;background:#edf5f1;margin-bottom:20px;border-radius:10px}.chain-ui .progress-table{min-width:850px}.chain-ui .stage-status{font-weight:600;color:#107e78}@media(max-width:700px){.chain-ui .formgrid{grid-template-columns:1fr}.chain-ui .wide{grid-column:1}.chain-ui .engineeringrow{grid-template-columns:24px 1fr}.chain-ui .engineeringrow>div,.chain-ui .engineeringrow>label{grid-column:2}.chain-ui .tablewrap{max-width:100%}}
/* Shared supplier/BOM catalog. Keep wide grids inside their own scroll region. */
.public-process{min-width:220px;max-width:420px;white-space:normal;overflow-wrap:anywhere}
.public-address{min-width:180px;max-width:280px;white-space:normal;overflow-wrap:anywhere}
.public-boms{min-width:850px}
.public-source{padding:14px 20px;line-height:1.7;overflow-wrap:anywhere}
.public-candidate{padding:20px;margin:16px 0}
.public-candidate .panel-head{padding:0 0 16px;flex-wrap:wrap;gap:10px}
.public-candidate .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.public-candidate dd,.public-route,.public-detail p{overflow-wrap:anywhere;white-space:normal}
.public-candidate details{margin:16px 0;font-size:13px;color:var(--muted)}
#public-content small{display:block;margin-top:5px;color:var(--muted);white-space:normal}
#public-content .table-scroll{width:100%;overflow-x:auto}
#public-search{display:flex;gap:10px;padding:20px;margin:0}
#public-search input{min-width:0;flex:1}
@media(max-width:600px){.public-candidate .detail-grid{grid-template-columns:1fr}.public-candidate{padding:14px}.previewtabs{flex-wrap:wrap}}

.price-history,.price-review{padding:18px;background:#f3f8f7;border:1px solid #c8dfdb;border-radius:12px;margin:16px 0}.price-group{padding:14px 0;border-bottom:1px solid #d9e5e3}.reference-price{display:flex;justify-content:space-between;gap:16px;padding:10px;background:white;margin:8px 0;align-items:center}.reference-price small{display:block;color:#607780;overflow-wrap:anywhere}.price-alert,.price-review{color:#795518;background:#fff7e6}.price-ack{padding:16px;border:1px solid #d2b072;display:flex;gap:10px}.warehouse-finish{padding:14px;text-align:center;background:#e7f4f0;border-radius:8px;font-weight:700}.price-group input{width:100%}@media(max-width:600px){.reference-price{display:block}.reference-price button{margin-top:8px}}

.local-demo-banner{background:#fff3ce;color:#63481c;padding:10px 18px;font-size:13px;border-bottom:1px solid #e3c575}.local-demo-banner a{color:#705112;text-decoration:underline;margin:0 4px}

.public-boms .pending-reason{display:block;max-width:300px;white-space:normal;line-height:1.65;color:#8a6b32;margin-top:7px}.public-boms td small{display:block}.price-history,.price-review{overflow-wrap:anywhere}
.chain-ui .picker-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0}.chain-ui .pick-count{font-size:12px;color:#647e78}.chain-ui .price-inline{margin-top:10px;border-left:3px solid #a8c9bf;background:#f2f8f5;padding:10px;overflow-wrap:anywhere}.chain-ui .price-inline small,.chain-ui .price-inline strong{display:block;font-size:11px;line-height:1.7}.chain-ui .price-inline strong{font-size:13px;color:#186a5b}.chain-ui .price-inline button{margin-top:7px;white-space:normal}.chain-ui .price-inline>div+div{margin-top:10px;border-top:1px solid #dbe9e2;padding-top:7px}.chain-ui .quote-cell{min-width:0}.chain-ui .size-reference{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f4f8f6;border:1px solid #dbe8e1;border-radius:8px;padding:16px;margin:18px 0}.chain-ui .size-reference small{display:block;color:#789087;font-size:12px}.chain-ui .size-reference b{display:block;font-size:14px;overflow-wrap:anywhere}.chain-ui .size-reference p{grid-column:1/-1;margin:0;font-size:12px;color:#647b72}.chain-ui .size-reference button{justify-self:start;grid-column:1/-1}@media(max-width:700px){.chain-ui .size-reference{grid-template-columns:1fr}.chain-ui .picker-actions{flex-wrap:wrap}}
.chain-ui .price-history td small{display:block;color:#72877f;font-size:11px;line-height:1.7;overflow-wrap:anywhere}.chain-ui .price-history h3:not(:first-child){margin-top:22px}.chain-ui .price-history table{background:#fff}

/* Supplier task editor: one price per assignment, full-width collapsed history. */
.chain-ui .task-overview{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#264b49}
.chain-ui .task-overview span,.chain-ui .task-flow{color:#6e8387;font-size:13px;line-height:1.8}
.chain-ui .compact-size{display:block;padding:12px 16px;margin:16px 0}
.chain-ui .compact-size summary{cursor:pointer;font-size:13px}.chain-ui .compact-size summary span{color:#128078;margin-left:12px}
.chain-ui .supplier-task{border:1px solid #dce7e5;border-radius:12px;padding:20px;margin:16px 0;background:#fff}
.chain-ui .supplier-task>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
.chain-ui .supplier-task h3{display:inline;font-size:17px;margin:0 0 0 10px}.chain-ui .supplier-task header small{display:block;margin-top:8px;color:#758b90;font-size:12px}
.chain-ui .task-number{font-size:12px;background:#e9f4f0;border-radius:6px;padding:5px 8px;color:#177c70}
.chain-ui .task-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.chain-ui .task-fields label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#607780}
.chain-ui .task-fields input,.chain-ui .task-fields select{width:100%;min-width:0;height:42px}
.chain-ui .quote-history,.chain-ui .task-notes,.chain-ui .task-weight{margin-top:12px;border-top:1px solid #edf2f1;padding-top:10px;font-size:12px}
.chain-ui .quote-history summary,.chain-ui .task-notes summary,.chain-ui .task-weight summary{cursor:pointer;color:#36766d;line-height:1.8}
.chain-ui .quote-history summary span{float:right;color:#81958f}
.chain-ui .quote-history p,.chain-ui .task-notes p{font-size:12px;color:#72858b;line-height:1.8}
.chain-ui .quote-history small{display:block;color:#81918d;line-height:1.6}
.chain-ui .task-reason{margin-top:12px;display:flex;align-items:center;gap:12px;font-size:12px;color:#6c8088}
.chain-ui .task-reason input{flex:1;min-width:0;height:38px;font-size:12px}
.chain-ui .task-save{position:sticky;bottom:-24px;background:#fff;padding:12px 0;border-top:1px solid #e1eae8}
.chain-ui .weight-hint{font-size:12px;color:#387f76;margin-top:10px}.chain-ui .weight-basis{grid-column:span 2}
.chain-ui .split-line{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid #e6eeec}
.chain-ui .split-line small{display:block;font-size:12px;color:#78908c;margin-top:6px}
@media(max-width:700px){.chain-ui .task-fields{grid-template-columns:1fr}.chain-ui .weight-basis{grid-column:auto}.chain-ui .supplier-task{padding:14px}.chain-ui .supplier-task h3{display:block;margin:8px 0 0}.chain-ui .task-reason{display:block}.chain-ui .task-reason input{width:100%;margin-top:6px}.chain-ui .split-line{grid-template-columns:1fr}.chain-ui .supplier-task>header button{white-space:normal;max-width:100px}}

.supplier-price-table{max-width:100%;overflow-x:auto}.supplier-price-table table{min-width:900px}.supplier-price-table td{vertical-align:top;word-break:normal}.supplier-price-table td small{display:block;line-height:1.6}.supplier-price-table td:last-child{min-width:240px;max-width:360px;overflow-wrap:anywhere}
