:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#173d42;background:#f3f6f5;font-size:16px}*{box-sizing:border-box}body{margin:0}header{background:#153e43;color:#fff;padding:20px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}header strong{font-size:21px}header small{color:#d7e6e5}header label{color:#fff}header .fields{margin:0}.shell{display:grid;grid-template-columns:195px minmax(0,1fr);max-width:1600px;margin:auto}aside{padding:26px 18px}nav{display:grid;gap:10px}nav button{text-align:left;background:transparent}nav button[aria-current]{background:#dcece7;border-color:#97b8ad}main{padding:24px 32px 80px;min-width:0}h1{font-size:29px;margin:8px 0 14px}h2{font-size:20px;margin:0 0 18px}h3{font-size:17px;margin:20px 0 10px}p{line-height:1.7}small{display:block;font-size:13px;color:#526c71;margin:7px 0}.panel{background:#fff;border:1px solid #d5e0dd;border-radius:10px;padding:24px;margin:20px 0}.panel .panel{background:#fafcfb}.row,.file{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid #e0e9e6}.file{justify-content:flex-start}button{font:inherit;border:1px solid #b6cac4;background:#fff;color:#174a42;border-radius:6px;padding:10px 15px;cursor:pointer;min-height:42px}button:hover{background:#e8f1ed}button.primary{background:#155f53;color:#fff}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #bd741c;outline-offset:3px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}label{display:grid;gap:8px;margin:14px 0;color:#27494d}input,select,textarea{font:inherit;min-width:0;max-width:100%;width:100%;border:1px solid #b8cbc7;border-radius:5px;padding:11px;color:#183b3e;background:#fff}textarea{min-height:90px;resize:vertical}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.check{display:flex;align-items:center}.check input{width:auto;min-width:20px;min-height:20px}details{margin:18px 0}summary{cursor:pointer;font-weight:600;padding:8px 0}table{width:100%;border-collapse:collapse}th,td{text-align:left;vertical-align:top;padding:14px;border-bottom:1px solid #dce5e2;line-height:1.6}th{background:#edf3f0}.table-wrap{overflow:auto}.badge{display:inline-block;border-radius:4px;background:#edf3ee;color:#285c4d;padding:4px 8px;font-size:14px}.notice{background:#e4efeb;padding:14px 22px;border-left:4px solid #2b7a68;line-height:1.7}.problem,.form-error{background:#fff0dc;border-left:4px solid #be7015;padding:14px;margin:14px 0;color:#684213}.empty{padding:24px;color:#566e72}.muted{color:#566e72}.read-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.read-fields div{border-bottom:1px solid #e0e9e6;padding-bottom:9px;overflow-wrap:anywhere}dt{font-size:13px;color:#62777b}dd{margin:6px 0}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.7 monospace}dialog{border:1px solid #bacdc6;border-radius:12px;width:min(740px,92vw);max-height:90vh;padding:26px;overflow:auto}dialog::backdrop{background:#12353177}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px}#preview18 img{max-width:100%;height:auto}#preview18 iframe{width:100%;height:65vh;border:0}#notice{min-height:40px;padding:10px 28px;background:#fff4df;color:#684313;line-height:1.6}.environment{padding:12px 28px;background:#e4eeeb;font-size:14px;line-height:1.6}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:20px;background:#fff;padding:10px}a{color:#126453}@media(max-width:760px){header{padding:18px}.shell{display:block}aside{padding:12px}nav{display:flex;flex-wrap:wrap;gap:6px}nav button{font-size:14px;padding:8px 10px}main{padding:18px 14px 50px}.panel{padding:16px}.fields,.read-fields{grid-template-columns:1fr}h1{font-size:24px}th,td{min-width:135px;padding:10px}.environment,#notice{padding:10px 16px}.dialog-head h2{font-size:18px}header .fields{display:flex;flex-wrap:wrap;gap:10px}header label{max-width:100%;margin:0}}
[hidden]{display:none!important}.search-toolbar{background:#fff;border:1px solid #c9dcd5;border-radius:10px;padding:16px 20px;margin:18px 0}.search-toolbar label{margin:0}.search-keyword input{max-width:760px}.search-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-top:14px}.search-filters label{flex:1 1 145px;max-width:260px}.search-count{font-size:14px;color:#42615d;margin-bottom:6px;overflow-wrap:anywhere}.search-pages{display:flex;align-items:center;gap:16px;margin-top:12px}@media(max-width:760px){.search-toolbar{padding:14px}.search-filters label{max-width:none;flex-basis:130px}.search-pages{gap:8px}}

nav button{white-space:nowrap;line-height:1.4}

.source-file{display:flex;gap:12px;align-items:center;padding:10px 0;overflow-wrap:anywhere}.source-file img{width:88px;height:88px;object-fit:contain;border:1px solid #d5e0dd;border-radius:6px}.source-file span{min-width:0}
/* 商品任务页：按实际栏高预留底部空间，避免覆盖原表单。 */
html{scroll-padding-bottom:calc(var(--task-dock-height,0px) + 20px)}main.has-task-dock{padding-bottom:calc(var(--task-dock-height,0px) + 40px)}.task-dock{position:fixed;z-index:20;bottom:0;left:max(195px,calc((100vw - 1600px)/2 + 195px));right:max(0px,calc((100vw - 1600px)/2));background:#fff;border-top:1px solid #a9c8bc;box-shadow:0 -5px 20px #153e4314;padding:12px 24px calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:18px}.task-dock-context{min-width:0;flex:1 1 210px}.task-dock-context strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-dock-context small{margin:4px 0;overflow-wrap:anywhere}.task-dock-context .badge{font-size:12px}.task-dock-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;flex:2 1 470px}.task-dock-actions button{font-size:14px;padding:9px 12px}.task-dock-more{position:relative;margin:0}.task-dock-more summary{border:1px solid #b6cac4;border-radius:6px;padding:9px 13px;font-size:14px;min-height:42px}.task-dock-more>div{position:absolute;bottom:calc(100% + 10px);right:0;width:230px;max-width:85vw;max-height:50vh;overflow:auto;background:white;border:1px solid #b6cac4;box-shadow:0 4px 20px #153e4326;border-radius:8px;padding:10px;display:grid;gap:8px}.task-dock-more [data-act=remove]{color:#a13a2b}#task-next{scroll-margin-top:20px}@media(max-width:760px){.task-dock{left:0;right:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));display:block}.task-dock-context{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:8px}.task-dock-context strong{max-width:55%;font-size:14px}.task-dock-context small{font-size:12px;flex-basis:100%;order:3;margin:0}.task-dock-actions{justify-content:flex-start;gap:6px}.task-dock-actions button{font-size:13px;padding:7px 9px;min-height:38px}.task-dock-more summary{min-height:38px;padding:7px 10px}.task-dock-more>div{position:fixed;left:12px;right:12px;bottom:calc(var(--task-dock-height) + 8px);width:auto;max-width:none}}@media print{.task-dock{display:none}main.has-task-dock{padding-bottom:0}}
/* 状态以明确文字和符号辅助颜色；业务阶段与单项材料结论分别展示。 */
.badge{display:inline-flex;align-items:center;gap:4px;font-weight:600;line-height:1.5;border:1px solid transparent;white-space:normal}.badge-neutral{background:#edf0f2;color:#46515b;border-color:#ccd3d9}.badge-pending{background:#e8f1ff;color:#174b87;border-color:#b6cdeb}.badge-reviewing{background:#f0eafb;color:#62318d;border-color:#d4bce8}.badge-supplement{background:#fff1dc;color:#854309;border-color:#e9c398}.badge-rejected{background:#fdebea;color:#a12622;border-color:#e9b7b3}.badge-approved{background:#e4f3e9;color:#205d3d;border-color:#abcdb8}.badge-delivered{background:#e2f2f5;color:#1a5864;border-color:#a8ccd4}.badge>span{font-weight:800;min-width:.8em;text-align:center}
.task-dock{flex-wrap:wrap}.task-dock-context{flex-grow:1}.audit-jump-label{margin:0;gap:2px;font-size:12px;max-width:220px}.audit-jump-label select{font-size:14px;padding:7px;min-height:38px}#task-feedback{flex-basis:100%;margin:0;padding:7px 10px;background:#fff4df;border-left:3px solid #be7015;font-size:14px;max-height:20vh;overflow:auto;overflow-wrap:anywhere}.form-feedback{padding:10px 14px;background:#fff4df;border-left:3px solid #be7015;color:#684313;font-size:14px;line-height:1.6}@media(max-width:760px){.audit-jump-label{max-width:100%;flex:1 1 140px}#task-feedback{margin-top:7px;font-size:13px}}
/* PC工作台：信息在内容区，底栏只保留当前操作。 */
:root{font-size:15px;background:#f4f6f8;color:#213d43}header{padding:16px 28px;gap:24px}header .fields{display:flex;gap:16px}header label{font-size:12px;margin:0;gap:4px}header select{min-width:180px;padding:8px}.environment{padding:8px 28px;color:#52706a;font-size:12px;background:#eaf1ee}.shell{grid-template-columns:210px minmax(0,1fr);max-width:1760px}aside{border-right:1px solid #dfe7e4;padding:24px 16px}nav{position:sticky;top:20px;gap:8px}nav button{border-color:transparent;padding:12px 16px}nav button[aria-current]{background:#dfeee7;color:#164e3e;font-weight:650;border-color:transparent}main{padding:28px 36px 72px}h1{font-size:26px}h2{font-size:18px}.panel{padding:22px;border-color:#dfe6e5;border-radius:12px;box-shadow:0 2px 4px #173d4203}.panel .panel{box-shadow:none}.search-toolbar{padding:18px 22px}.search-keyword input{max-width:none}.search-filters{gap:16px}.search-filters label{max-width:none}.read-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.fields{gap:0 24px}button{transition:background .12s;border-radius:7px}button.primary:hover{background:#104c42}.task-dock{left:max(230px,calc((100vw - 1760px)/2 + 230px));right:max(20px,calc((100vw - 1760px)/2 + 20px));bottom:16px;border:1px solid #d4e2dd;border-radius:12px;box-shadow:0 6px 28px #173d421a;padding:12px 18px;gap:12px;flex-wrap:nowrap}.task-dock-context{flex:1 1 140px}.task-dock-context>.badge,.task-dock-context>small{display:none}.task-dock-context>strong{font-size:14px}.task-dock-actions{flex:3 1 auto}.task-dock-actions button{font-size:13px;min-height:38px;padding:8px 12px}.task-dock-more summary{min-height:38px;padding:8px 12px;font-size:13px}main.has-task-dock{padding-bottom:calc(var(--task-dock-height,80px) + 60px)}#task-feedback{position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:#fff4df;border-radius:8px;padding:12px 16px;border:1px solid #d7b580;color:#684313}#notice:empty,#notice[hidden]{display:none}#notice{position:fixed;z-index:100;top:18px;left:50%;transform:translateX(-50%);max-width:min(720px,90vw);min-height:0;padding:13px 22px;border:1px solid #a4c6b7;border-radius:10px;box-shadow:0 6px 24px #153e4329;background:#edf8f0;color:#20573e;pointer-events:none}#notice.is-error{background:#fff2dd;border-color:#d8b786;color:#714410}.copy-feedback{color:#205d3d;background:#edf8f0;padding:8px 12px;border-radius:6px}.material-overview{background:#eaf2ee;border:1px solid #cfdfd6;border-radius:12px;padding:16px 22px;margin:20px 0}.material-overview p{margin:0}.material-overview .actions{margin-bottom:0}.material-group{scroll-margin-top:24px;margin:30px 0}.material-group>h2{padding-left:12px;border-left:3px solid #398471}.material-group>.panel{margin:12px 0}.material-group .file{font-size:14px}.history-timeline{list-style:none;padding-left:18px;border-left:2px solid #d5e3dc}.history-timeline li{padding:8px 12px 16px;position:relative}.history-timeline li:before{content:'';width:8px;height:8px;border-radius:50%;background:#528b77;position:absolute;left:-23px;top:14px}.history-timeline p{margin:6px 0;font-size:14px}.delivery-summary{display:flex;gap:20px;align-items:center}.delivery-summary p{margin:4px 0}.delivery-cover{width:120px;height:120px;object-fit:contain;flex-shrink:0;border-radius:8px;background:#edf2ef}.empty-cover{display:grid;place-items:center;font-size:13px;color:#526c65}.material-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0}.material-count{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:#eff4f1;border-radius:6px;font-size:13px}.delivery-preview{border-top:1px solid #dae4df;padding-top:10px}.delivery-preview>summary{color:#17634d}.note-preview{white-space:pre-wrap;line-height:1.8;background:#f1f5f3;border-radius:8px;padding:18px}.image-gallery{display:flex;gap:12px;flex-wrap:wrap}.image-gallery button{width:150px;display:grid;gap:6px;text-align:left;font-size:12px;overflow-wrap:anywhere}.image-gallery img{width:120px;height:110px;object-fit:contain}.delivery-preview h4{margin-bottom:6px}.task-dock-context small:last-child{font-size:12px}
@media(min-width:1280px){.material-group .fields{grid-template-columns:repeat(3,minmax(0,1fr))}.panel form>.fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* 小窗口保持可操作，桌面结构不为手机展示让位。 */
@media(max-width:900px){.read-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.material-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.task-dock{flex-wrap:wrap}.task-dock-context{flex-basis:100%}.task-dock-actions{justify-content:flex-start}}
@media(max-width:760px){.shell{display:block}header .fields{flex-wrap:wrap}header select{min-width:0}aside{border:0;padding:12px}nav{position:static}main{padding:18px 14px 60px}.task-dock{left:10px;right:10px;bottom:8px;padding:10px;display:block}.task-dock-context{margin-bottom:6px}.task-dock-context>strong{max-width:100%}.read-fields,.material-counts{grid-template-columns:1fr}.delivery-cover{width:80px;height:80px}.delivery-summary{gap:12px}.panel{padding:16px}.task-dock-more>div{bottom:calc(var(--task-dock-height) + 20px)}.material-overview{padding:14px}}
.missing-label{margin-top:16px!important;font-weight:600;color:#854309}.missing-links button{border-color:#d7b886;color:#784207;background:#fff9ee}.located{outline:3px solid #b5853e;outline-offset:5px;scroll-margin-top:24px}.blocker-list .row>span{flex:1 1 220px}.material-group form[data-kind=material-text]{background:#f1f6f3;padding:16px;border-radius:8px;margin:16px 0}.material-group form[data-kind=material-text] textarea{min-height:160px}
/* 缩略图不依赖原图分辨率，长图在弹窗内等比缩放。 */
#main img{max-width:100%}.delivery-summary{min-width:0}.delivery-summary>div{min-width:0;overflow-wrap:anywhere}.cover-preview{width:120px;height:120px;padding:0;flex:0 0 120px;overflow:hidden;border:1px solid #dbe5df;background:#f3f6f4;cursor:zoom-in}.cover-preview .delivery-cover{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.image-gallery{max-width:100%}.image-gallery button{max-width:100%;min-width:0;overflow:hidden}.image-gallery img{max-width:100%;object-fit:contain}#preview18 img{display:block;max-width:100%;max-height:68vh;width:auto;height:auto;object-fit:contain;margin:16px auto}#preview18{max-width:100%;overflow:auto}@media(max-width:760px){.cover-preview{width:80px;height:80px;flex-basis:80px}}
/* 全角色桌面视觉自查：控件不压成竖排，长内容允许换行。 */
.panel,form,.fields>*,.read-fields>*,.row>div,.file>span{min-width:0}
h1,h2,h3,p,dd,.row>div,.file>span,.notice,.history-timeline{overflow-wrap:anywhere}
.panel>h2{display:flex;align-items:center;flex-wrap:wrap;gap:8px;line-height:1.5}
.panel>h2 .badge{font-size:13px;font-weight:500}
.actions>button,.task-dock-actions>button,.task-dock-more{flex-shrink:0}
.audit-jump-label{flex:0 0 200px;width:200px;max-width:100%;white-space:nowrap}
.task-dock-context{flex:1 1 160px;min-width:120px}.task-dock-actions{min-width:0;flex:3 1 540px}
.task-dock{flex-wrap:wrap}
.search-filters label{flex:0 1 220px;max-width:280px}.search-pages{flex-wrap:wrap}
.file{align-items:center}.file>span:first-child{flex:1 1 240px;overflow-wrap:anywhere}
.read-fields{line-height:1.65}.read-fields dt{line-height:1.5}.read-fields dd{margin-top:8px}
form[data-kind=review],form[data-kind=issue]{border-top:1px solid #e0e9e6;padding-top:12px;margin-top:16px}
@media(min-width:1000px){
 form[data-kind=review]{display:grid;grid-template-columns:minmax(200px,1fr) minmax(260px,2fr);gap:0 24px;align-items:start}
 form[data-kind=review]>label:has(textarea){grid-column:2;grid-row:1 / span 2}
 form[data-kind=review] textarea{min-height:126px}
 form[data-kind=review]>.actions{grid-column:1 / -1;margin-top:8px}
 form[data-kind=issue]{display:grid;grid-template-columns:minmax(200px,1fr) minmax(260px,2fr);gap:0 24px}
 form[data-kind=issue]>.actions{grid-column:1 / -1}
}
@media(max-width:760px){.audit-jump-label{flex:1 1 160px;width:auto}.task-dock-context{min-width:0}.search-filters label{flex:1 1 160px;max-width:100%}}
/* 同行字段顶部对齐，避免短字段被长说明撑高。 */
label{align-content:start}main>button+button{margin-left:8px}form[data-kind=issue]{align-items:start}

.page-back{margin:0 0 16px}.rich-note-dialog{width:min(920px,94vw)}.note-paste{border:2px dashed #8bac9e;padding:24px;border-radius:8px;background:#f2f8f5}.note-block{padding:16px;border:1px solid #cadbd3;margin:16px 0;border-radius:8px}.note-block img,.rich-note-dialog img{display:block;max-width:100%;max-height:640px;object-fit:contain;margin:12px auto}.note-block textarea{min-height:130px}.rich-note-dialog .dialog-head{position:sticky;top:-26px;background:white;padding:16px 0;z-index:1}

.rich-note-dialog .actions{align-items:center}.rich-note-dialog .actions>label{margin:0}

/* 整篇图文为默认阅读视图，段落工具仅在需要时展开。 */
.whole-note-entry{margin:16px 0;padding:16px;border:1px solid #bcd8d1;border-radius:10px;background:#f5faf8}
.whole-note{max-width:760px;margin:16px auto;padding:18px;background:white;border:1px solid #dce7e3;border-radius:8px;overflow-wrap:anywhere}
.whole-note p{white-space:pre-wrap;line-height:1.8;margin:12px 0}
.whole-note img{display:block;max-width:100%;max-height:520px;width:auto;height:auto;object-fit:contain;margin:12px auto}
.whole-note [contenteditable]:focus{outline:2px solid #82b5a8;outline-offset:4px}

.audit-progress{position:sticky;top:8px;z-index:8;background:#f6fbf9;border:1px solid #b7cec7;border-radius:10px;padding:12px 18px;margin:18px 0;box-shadow:0 3px 12px #173d4210}
.audit-progress-line{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:8px 0}.audit-progress progress{width:180px;height:12px;accent-color:#176c5a}.audit-progress .actions{margin:8px 0 0}.audit-progress button{padding:5px 12px;min-height:36px}
.panel:has(>.audit-item){padding:12px 18px;margin:10px 0;scroll-margin-top:165px}.audit-item{margin:0}.audit-item>summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:17px}.audit-item>summary small{margin:0 0 0 auto}.audit-item-body{padding-top:10px}.audit-item-body .file{padding:8px 0}.audit-item-body p{margin:8px 0}.audit-item-body form[data-kind=review]{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.audit-item-body label{margin:5px 0}.audit-item-body textarea{min-height:64px}.audit-item-body .actions{margin:6px 0}.audit-item-body input,.audit-item-body select,.audit-item-body textarea{padding:8px}.audit-item-body form[data-kind=issue]{margin-top:12px}.audit-nav{gap:6px}.audit-nav button{padding:6px 10px;min-height:36px}
@media(max-width:850px){.audit-progress{top:0;padding:10px}.audit-item-body form[data-kind=review]{grid-template-columns:1fr}.audit-progress-line{gap:6px}.audit-progress progress{width:130px}}

.image-tools[hidden]{display:none}.whole-note [data-block]{padding:8px;border:1px solid transparent}.whole-note [data-block]:hover{border-color:#9bbdb2;border-radius:6px}.whole-note [data-block]>img{cursor:pointer}.image-tools{background:#f2f7f5;padding:10px}.image-tools label{margin:0}.rich-note-dialog [data-content] img[tabindex]{cursor:crosshair}

.note-savebar{position:sticky;bottom:-26px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#f4faf7;border-top:1px solid #b6cec4;padding:12px 18px;margin:20px -26px -26px}.note-savebar [data-status]{flex:1;min-width:200px;margin:0;line-height:1.6}.note-savebar button{flex-shrink:0}.rich-note-dialog .whole-note{margin-bottom:24px}#task-sales form{background:#fff;border-top:1px solid #d4e3dd;padding-top:14px}.upload-idle{line-height:1.5}.form-feedback{padding:10px 14px;background:#fff4e4;border-left:3px solid #af701d;border-radius:4px;line-height:1.6}

.audit-item>summary::before{content:'▸';color:#57766e;font-size:16px}.audit-item[open]>summary::before{content:'▾'}
/* 审核底栏按一组控件排布，避免表单标签撑高后与按钮错位。 */
.task-dock:has(.audit-jump-label) .task-dock-actions{align-items:center;gap:8px;flex:3 1 620px}
.task-dock .audit-jump-label{display:flex;align-items:center;gap:8px;margin:0;flex:0 1 260px;width:260px;max-width:100%;min-height:38px;font-size:14px;line-height:20px}
.task-dock .audit-jump-label select{flex:1 1 180px;width:180px;min-width:0;height:38px;min-height:38px;margin:0;padding:8px;font-size:14px;line-height:20px}
.task-dock:has(.audit-jump-label) .task-dock-actions>button{height:38px;min-height:38px;padding:8px 12px;font-size:14px;line-height:20px;white-space:nowrap}
@media(max-width:1050px){.task-dock:has(.audit-jump-label) .task-dock-context{flex:1 0 100%;margin:0}.task-dock:has(.audit-jump-label) .task-dock-actions{flex:1 1 100%;justify-content:flex-start}.task-dock .audit-jump-label{flex:0 1 260px}}
@media(max-width:600px){.task-dock .audit-jump-label{flex:1 1 220px;width:auto}.task-dock:has(.audit-jump-label){gap:8px}}

/* 供应商基础信息双入口共用字段，桌面紧凑两列。 */
form[data-kind="supplier-basics"],form[data-kind="new-supplier"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;align-items:start}
form[data-kind="supplier-basics"]>label,form[data-kind="new-supplier"]>label{margin:0;min-width:0}
form[data-kind="supplier-basics"] textarea,form[data-kind="new-supplier"] textarea{min-height:76px;height:76px}
form[data-kind="supplier-basics"]>p,form[data-kind="supplier-basics"]>.actions,form[data-kind="new-supplier"]>p,form[data-kind="new-supplier"]>.actions{grid-column:1/-1;margin:0}
@media(max-width:800px){form[data-kind="supplier-basics"],form[data-kind="new-supplier"]{grid-template-columns:minmax(0,1fr)}}

.cargo-import-dialog{width:min(1280px,96vw);max-width:96vw;max-height:94vh;overflow:auto}.cargo-compare{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);gap:20px}.cargo-compare img{display:block;max-width:100%;height:auto;max-height:650px;object-fit:contain;object-position:top}.cargo-row{padding:12px;border:1px solid #c9d9da;border-radius:8px;margin:12px 0}.cargo-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cargo-fields textarea{min-height:42px}.cargo-savebar{position:sticky;bottom:0;background:#fff;padding:12px;border-top:1px solid #c9d9da}.cargo-import-dialog [data-status]{background:#edf5f2;padding:8px;position:sticky;top:0;z-index:2}.cargo-import-dialog [data-sources]{max-height:150px;overflow:auto}@media(max-width:850px){.cargo-compare{grid-template-columns:1fr}.cargo-compare img{max-height:360px}}

.cargo-row .problem:empty{display:none}.cargo-compare{scroll-margin-top:54px;padding-bottom:20px}.cargo-compare>div:first-child{position:sticky;top:54px;align-self:start}.cargo-import-dialog [data-mappings] .cargo-fields{gap:8px}.cargo-import-dialog [data-mappings] label{margin:0}.cargo-import-dialog [data-mappings] details{margin:8px 0}@media(max-width:850px){.cargo-compare>div:first-child{position:static}}
/* 统一PC工作区：共享表单和列表规则，窄屏再纵向排列。 */
@media(min-width:900px){
 #main .panel{padding:20px;margin:16px 0}
 #main .panel .panel{padding:16px;margin:12px 0}
 #main form[data-kind="upload"],#main form[data-kind="supplier-draft"]{display:grid;grid-template-columns:minmax(160px,240px) minmax(240px,1fr) auto;align-items:end;gap:12px}
 #main form[data-kind="upload"]>label,#main form[data-kind="supplier-draft"]>label{margin:8px 0}
 #main form[data-kind="upload"]>button,#main form[data-kind="supplier-draft"]>button{margin:8px 0;align-self:end}
 #main form[data-kind="supplier-draft"]>p,#main form[data-kind="upload"]>.form-error{grid-column:1/-1}
 #main .fields{gap:0 20px}
 #main .fields label{margin:10px 0}
}
.cargo-main-image{display:block;width:112px;height:112px;object-fit:contain;border:1px solid #d5e0dd;border-radius:6px;margin:12px 0}
.detail-import-dialog{width:min(1000px,94vw)}
.detail-import-dialog td{white-space:pre-wrap;overflow-wrap:anywhere;max-width:340px}
.detail-import-dialog th{min-width:130px}
#main h1{font-size:26px;line-height:1.4;margin:16px 0}
#main h2{font-size:19px;line-height:1.5}
#main h3{font-size:17px;line-height:1.5}
#main p{line-height:1.65}
#main .file{gap:8px;overflow-wrap:anywhere;min-width:0}
#main .actions{gap:8px;margin:12px 0}
#main progress{width:min(100%,620px);height:12px;accent-color:#155f53}
#main .audit-progress p{margin-bottom:0;font-size:14px;color:#42615d}
#main input[type="file"]{padding:8px;overflow:hidden}
#main .material-overview{margin:16px 0}
dialog p[role="status"]{overflow-wrap:anywhere}
dialog p[role="status"]:not(:empty){padding:10px 12px;background:#edf4f1;border-left:3px solid #155f53}
@media(max-width:899px){#main form[data-kind="upload"],#main form[data-kind="supplier-draft"]{display:block}.detail-import-dialog td{min-width:160px}}

.cargo-compare.workbook-only{grid-template-columns:1fr}.cargo-compare.workbook-only>div:first-child{display:none}
#main form[data-kind="upload"]>p{grid-column:1/-1;margin:2px 0}
.attachment-editor{margin:10px 0}.attachment-editor .upload-pick{max-width:720px;margin:10px 0}.attachment-feedback{font-size:14px;color:#42615d;line-height:1.6}.attachment-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e0e9e6;padding:10px 0}.attachment-row>span{min-width:0;overflow-wrap:anywhere;flex:1}.attachment-row .actions{flex-shrink:0;align-items:center}.file-replace{display:inline-flex;align-items:center;margin:0;padding:8px 12px;border:1px solid #b6cac4;border-radius:6px;cursor:pointer;position:relative;overflow:hidden;min-height:40px}.file-replace input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-replace:focus-within{outline:3px solid #bd741c;outline-offset:2px}.rich-note-dialog [data-content] img{max-width:100%;height:auto;object-fit:contain}.rich-note-dialog [data-content]{overflow-wrap:anywhere}.rich-note-dialog [data-download]{background:#155f53;color:#fff}@media(max-width:900px){.attachment-row{align-items:flex-start;flex-direction:column}.attachment-row .actions{flex-shrink:1;max-width:100%}}
/* 操作语义与工作流状态：文字与颜色并用。 */
.workflow-summary,.material-status{border:1px solid #b8cbd1;border-radius:12px;padding:18px 22px;margin:20px 0;background:#f1f7fb;scroll-margin-top:24px}.workflow-summary h2{font-size:19px;margin:0 0 8px}.feedback-warning,.state-warning{background:#fff4df!important;border-color:#c68621!important;color:#774400!important}.feedback-success,.state-success{background:#eaf6ef!important;border-color:#77a58b!important;color:#20533a!important}.feedback-info,.state-info{background:#edf5fc!important;border-color:#8cacc8!important;color:#244a68!important}.feedback-neutral,.state-neutral{background:#f1f3f4!important;color:#435159!important;border-color:#b6c0c5!important}.status-segments{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.state-segment{padding:8px 12px;border:1px solid;border-radius:6px;font-weight:600}.correction-list{padding-left:24px}.correction-list li{margin:14px 0}.correction-list p{margin:6px 0;overflow-wrap:anywhere}.operation-feedback{padding:14px;border:1px solid;border-radius:8px;margin:12px 0;line-height:1.65}.correction-dock{flex-basis:100%;margin:0}.task-dock #task-feedback{margin:4px 0;width:100%;font-size:14px}button[data-tone=warning]{background:#fff4df;color:#774400;border:1px solid #b97618}button[data-tone=warning]:before{content:'↶ ';font-weight:bold}button[data-tone=danger]{background:#fff0ee;color:#9a3026;border:1px solid #c9665c}button[data-tone=view]{background:#edf5fc;color:#244a68;border:1px solid #8cacc8}button[data-tone=neutral]{background:#f5f6f6;color:#435159;border:1px solid #acb8bc}button[data-tone=primary]{background:#176452;color:#fff;border:1px solid #176452}button:disabled{opacity:.55}#task-summary:focus,.located{outline:3px solid #d0922d;outline-offset:3px}#note-save-feedback{color:#8e3528}.workflow-summary button{white-space:normal}
.audit-progress{position:static;box-shadow:none}.task-dock{flex-wrap:wrap}.task-dock #task-feedback{position:static;flex-basis:100%;max-height:12vh;overflow:auto;margin:0;padding:8px 12px}#notice.is-warning{background:#fff4df;border-color:#c68621;color:#774400}.supplier-stage{padding:12px 16px;background:#edf5fc;border:1px solid #a3b9ca;border-radius:8px;font-weight:600}
/* 弹窗正文独立滚动，操作栏占独立行，避免内容穿过按钮。 */
.cargo-import-dialog[open],.rich-note-dialog[data-editor][open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:min(900px,94vh);max-height:94vh;overflow:hidden;padding:0;background:#fff}.cargo-import-dialog>.dialog-head,.rich-note-dialog[data-editor]>.dialog-head{position:static;padding:16px 24px;margin:0;border-bottom:1px solid #d9e3e0;background:#fff;z-index:auto}.cargo-scroll-body,.note-scroll-body{min-height:0;overflow:auto;padding:18px 24px;overscroll-behavior:contain}.cargo-import-dialog .cargo-savebar,.rich-note-dialog[data-editor] .note-savebar{position:static;z-index:auto;margin:0;padding:12px 24px;background:#f4faf7;border-top:1px solid #b6cec4;max-height:32vh;overflow:auto}.cargo-savebar{display:flex;align-items:center;justify-content:space-between;gap:16px}.cargo-savebar p{flex:1;margin:0;font-size:13px}.cargo-savebar button{flex-shrink:0}.cargo-import-dialog [data-status]{position:static;z-index:auto}.cargo-compare>div:first-child{z-index:0}.note-savebar [data-status]{font-size:14px}@media(max-width:850px){.cargo-savebar{flex-wrap:wrap}.cargo-savebar button{margin-left:auto}}
/* 语义按钮完整管理交互态，避免旧 primary:hover 只覆盖背景。 */
button[data-tone=primary]{--button-bg:#176452;--button-fg:#fff;--button-hover:#125443;--button-active:#0e4437;--button-border:#176452}
button[data-tone=view]{--button-bg:#edf5fc;--button-fg:#244a68;--button-hover:#dbeaf6;--button-active:#c7dfef;--button-border:#8cacc8}
button[data-tone=warning]{--button-bg:#fff4df;--button-fg:#774400;--button-hover:#ffe8bd;--button-active:#ffdda0;--button-border:#b97618}
button[data-tone=danger]{--button-bg:#fff0ee;--button-fg:#9a3026;--button-hover:#ffe0dc;--button-active:#ffd0c9;--button-border:#c9665c}
button[data-tone=neutral]{--button-bg:#f5f6f6;--button-fg:#435159;--button-hover:#e5eaec;--button-active:#d6dfe3;--button-border:#acb8bc}
button[data-tone]{background:var(--button-bg);color:var(--button-fg);border-color:var(--button-border)}
button[data-tone]:hover:not(:disabled){background:var(--button-hover);color:var(--button-fg)}
button[data-tone]:active:not(:disabled){background:var(--button-active);color:var(--button-fg)}
button[data-tone]:focus-visible{outline:3px solid #8b5200;outline-offset:3px}
button[data-tone]:disabled{background:#e8edf0;color:#536169;border-color:#adb8be;opacity:1;cursor:not-allowed}
/* 长表单保留一行材料准备状态，不用绿色齐备进度代替审核通过。 */
.dock-material-progress{flex:1 0 100%;display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;border-top:1px solid #dce6e4;padding-top:8px;font-size:12px;color:#345566;line-height:1.5}
.dock-material-progress progress{width:80px;height:7px;accent-color:#376b91;flex:0 0 80px}
.dock-material-progress .dock-audit-state{flex:1;min-width:150px}
.dock-material-progress button{font-size:12px;min-height:30px;padding:4px 9px}
.prepared-progress{display:flex;align-items:center;gap:12px;margin:14px 0;font-size:13px;color:#345566}.prepared-progress progress{width:min(300px,65%);height:12px;accent-color:#376b91}
.audit-segment-track{display:flex;overflow:hidden;width:min(320px,100%);height:12px;border-radius:6px;background:#d3dee5;flex-shrink:0}.audit-segment-track>span{height:100%;display:block}.audit-segment-passed{background:#27836a}.audit-segment-returned{background:#d18b27}.audit-segment-pending{background:#d3dee5}.dock-audit-progress .audit-segment-track{width:110px;height:7px}.audit-progress-line{align-items:center}
#task-summary{padding:16px 20px}#task-summary h2{font-size:18px;margin-bottom:6px}#task-summary>p{margin:6px 0 10px;font-size:14px}#task-summary .correction-list{list-style:none;padding:0;margin:12px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}#task-summary .correction-list li{margin:0;padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;border:1px solid #c6d4da;border-radius:6px;background:#ffffff80;font-size:13px}#task-summary .correction-list strong{grid-column:1}#task-summary .correction-list p{grid-column:1;margin:0;line-height:1.5}#task-summary .correction-list button{grid-column:2;grid-row:1/3;align-self:center;font-size:12px;min-height:32px;padding:5px 8px}#task-summary .summary-actions{margin:10px 0 0;gap:8px}#task-summary .summary-actions button{font-size:13px;min-height:34px;padding:6px 10px}@media(max-width:1000px){#task-summary .correction-list{grid-template-columns:1fr}}

/* 本地附件预览：PC阅读区，超宽内容只在表格区域滚动。 */
.attachment-preview{min-width:0;max-width:100%;overflow-wrap:anywhere}.attachment-preview img{display:block;max-width:100%;max-height:70vh;object-fit:contain;margin:12px auto}.attachment-preview iframe{width:100%;height:65vh;border:1px solid #ccd8df}.attachment-preview pre{white-space:pre-wrap}.office-table{max-width:100%;overflow:auto;max-height:60vh;margin:12px 0}.office-table table{border-collapse:collapse;min-width:100%}.office-table td{border:1px solid #ccd8df;padding:8px;min-width:90px;max-width:400px;white-space:pre-wrap;vertical-align:top}.archive-row{display:flex;gap:8px;align-items:center;border-bottom:1px solid #dbe3e8;padding:8px}.archive-row span{flex:1;min-width:0;overflow-wrap:anywhere}.attachment-preview select{max-width:100%}
/* 共享选品：列表独立滚动，搜索与确认入口保持可见。 */
#dialog[open]:has(form[data-kind="pick-existing"]){display:flex;flex-direction:column;max-height:90vh}
#dialog:has(form[data-kind="pick-existing"]) .search-toolbar{flex-shrink:0;margin:12px 0;padding:12px 16px}
#dialog:has(form[data-kind="pick-existing"]) .search-toolbar p{margin:8px 0;font-size:13px}
#dialog form[data-kind="pick-existing"]{display:flex;flex-direction:column;min-height:0}
#dialog .pick-list{overflow:auto;min-height:70px;max-height:36vh;padding-right:8px}
#dialog .pick-list .check{align-items:flex-start;padding:7px 0;overflow-wrap:anywhere}
#dialog form[data-kind="pick-existing"]>.actions,#dialog form[data-kind="pick-existing"]>.search-pages{flex-shrink:0;margin:10px 0 0}
