/* 产品详情窗口 · 图片页 */
#developmentWorkbenchRoot .dwp-panel .dwi-module { border:0; box-shadow:none; background:transparent; }
#developmentWorkbenchRoot .dwp-panel .dwi-module > .dw-summary-module-head { padding:2px 0 20px; border-bottom:1px solid #e5ebf3; }
#developmentWorkbenchRoot .dwp-panel .dwi-module .dw-summary-module-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
#developmentWorkbenchRoot .dwp-panel .dwi-module .dw-summary-module-actions .dw-btn { min-height:36px; padding:0 12px; border-radius:7px; font-size:13px; }
#developmentWorkbenchRoot .dwp-panel .dwi-module .dw-summary-module-actions .dw-btn.primary { background:#2563eb; color:white; border-color:#2563eb; }
#developmentWorkbenchRoot .dwp-panel .dwi-module > .dw-summary-module-body { padding:18px 0 0; }
#developmentWorkbenchRoot .dwp-panel .dwi-progress { display:flex; align-items:center; gap:18px; padding:14px 17px; border:1px solid #dfe7f2; border-radius:9px; background:#f8fafc; }
#developmentWorkbenchRoot .dwp-panel .dwi-progress strong { flex:none; font-size:14px; color:#172b4d; }
#developmentWorkbenchRoot .dwp-panel .dwi-progress small { flex:none; color:#74839a; font-size:12px; }
#developmentWorkbenchRoot .dwp-panel .dwi-progress-track { display:block; flex:1 1 160px; min-width:90px; height:7px; overflow:hidden; border-radius:9px; background:#e0e7f0; }
#developmentWorkbenchRoot .dwp-panel .dwi-progress-track > span { display:block; height:100%; border-radius:9px; background:#2563eb; }
#developmentWorkbenchRoot .dwp-panel .dwi-gallery { margin-top:12px; padding:16px 18px 18px; border:1px solid #dfe7f2; border-radius:9px; background:white; }
#developmentWorkbenchRoot .dwp-panel .dwi-gallery > h4 { margin:0 0 12px; font-size:15px; color:#172b4d; font-weight:700; }
#developmentWorkbenchRoot .dwp-panel .dw-summary-image-grid.dwi-grid { display:grid; grid-template-columns:1.22fr repeat(8,minmax(0,1fr)); gap:10px; width:100%; max-width:none; margin:0; }
#developmentWorkbenchRoot .dwp-panel .dwi-frame { position:relative; min-width:0; height:auto; aspect-ratio:auto; }
#developmentWorkbenchRoot .dwp-panel .dwi-frame .dw-image-slot { display:flex; align-items:center; justify-content:center; width:100%; height:auto; aspect-ratio:1; overflow:hidden; border:1px solid #dfe7f2; border-radius:7px; background:white; }
#developmentWorkbenchRoot .dwp-panel .dwi-frame.is-main .dw-image-slot { border-color:#c9dafb; }
#developmentWorkbenchRoot .dwp-panel .dwi-frame .dw-image-slot img { width:100%; height:100%; object-fit:contain; }
#developmentWorkbenchRoot .dwp-panel .dwi-frame .dw-image-slot.dwi-empty { border:1px dashed #c9d8eb; color:#8392a8; background:#fff; cursor:pointer; font-size:24px; }
#developmentWorkbenchRoot .dwp-panel .dwi-frame .dw-image-slot.dwi-empty:hover { border-color:#2563eb; color:#2563eb; background:#f8fbff; }
#developmentWorkbenchRoot .dwp-panel .dwi-frame.is-optional .dw-image-slot.dwi-empty { background:#f9fbfd; }
#developmentWorkbenchRoot .dwp-panel .dwi-slot-caption { display:flex; justify-content:center; align-items:center; gap:5px; margin-top:8px; color:#576b87; font-size:12px; line-height:1.3; white-space:nowrap; }
#developmentWorkbenchRoot .dwp-panel .dwi-frame.is-main .dwi-slot-caption { color:#172b4d; font-weight:700; }
#developmentWorkbenchRoot .dwp-panel .dwi-slot-caption em { padding:2px 5px; border-radius:10px; background:#eaf1ff; color:#2563eb; font-style:normal; font-size:10px; font-weight:400; }
#developmentWorkbenchRoot .dwp-panel .dwi-frame .dw-image-more { top:5px; right:5px; }
#developmentWorkbenchRoot .dwp-panel .dwi-frame .dw-image-select { top:5px; left:5px; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidates { margin-top:12px; padding:0 16px; border:1px solid #f7dfc6; border-radius:9px; background:#fffaf6; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidates > summary { display:flex; align-items:center; gap:12px; padding:13px 0; list-style:none; cursor:pointer; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidates > summary::-webkit-details-marker { display:none; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidates > summary strong { color:#27364f; font-size:14px; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidates > summary strong i { margin-right:7px; color:#f28b20; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidates > summary span { margin-left:auto; color:#8490a5; font-size:12px; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidates > summary:after { content:"展开"; color:#64748b; font-size:12px; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidates[open] > summary:after { content:"收起"; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidates .dw-image-candidates.is-summary { margin:0; padding:0 0 14px; border:0; background:transparent; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidates .dw-image-candidates-head { display:none; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidates .dw-image-candidate-grid { grid-template-columns:repeat(auto-fill,minmax(90px,110px)); gap:10px; max-height:230px; }
#developmentWorkbenchRoot .dwp-panel .dwi-updated { display:block; margin-top:13px; color:#94a3b8; font-size:11px; }
@media(max-width:1200px) {
  #developmentWorkbenchRoot .dwp-panel .dw-summary-image-grid.dwi-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media(max-width:700px) {
  #developmentWorkbenchRoot .dwp-panel .dwi-progress { flex-wrap:wrap; gap:8px 12px; }
  #developmentWorkbenchRoot .dwp-panel .dwi-progress small { flex-basis:100%; }
  #developmentWorkbenchRoot .dwp-panel .dw-summary-image-grid.dwi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #developmentWorkbenchRoot .dwp-panel .dwi-gallery { padding:13px; }
}

#developmentWorkbenchRoot .dwp-panel .dwi-sources { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:12px; }
#developmentWorkbenchRoot .dwp-panel .dwi-source-card { min-width:0; min-height:150px; padding:14px 16px; border:1px solid #dfe7f2; border-radius:9px; background:#fff; }
#developmentWorkbenchRoot .dwp-panel .dwi-reference { background:#f8fbff; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidate { background:#fffaf6; border-color:#f7dfc6; }
#developmentWorkbenchRoot .dwp-panel .dwi-source-card header { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 10px; margin-bottom:11px; }
#developmentWorkbenchRoot .dwp-panel .dwi-source-card h4 { margin:0; color:#233350; font-size:14px; }
#developmentWorkbenchRoot .dwp-panel .dwi-source-card small { color:#7b8ba1; font-size:11px; }
#developmentWorkbenchRoot .dwp-panel .dwi-source-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(70px,90px)); gap:9px; max-height:205px; overflow:auto; }
#developmentWorkbenchRoot .dwp-panel .dwi-source-grid button { display:block; width:100%; aspect-ratio:1; padding:0; overflow:hidden; border:1px solid #dfe7f2; border-radius:7px; background:white; cursor:pointer; }
#developmentWorkbenchRoot .dwp-panel .dwi-source-grid button:hover { border-color:#2563eb; }
#developmentWorkbenchRoot .dwp-panel .dwi-source-grid img { display:block; width:100%; height:100%; object-fit:cover; }
#developmentWorkbenchRoot .dwp-panel .dwi-source-grid .dwi-source-empty { grid-column:1/-1; margin:10px 0; color:#93a1b4; font-size:12px; }
@media(max-width:700px) { #developmentWorkbenchRoot .dwp-panel .dwi-sources { grid-template-columns:1fr; } }

/* 竞品在前；候选固定三格宽，更多作品可横向浏览 */
#developmentWorkbenchRoot .dwp-panel .dwi-sources { grid-template-columns:minmax(0,1fr) 340px; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidate .dwi-source-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-columns:calc(33.333% - 6px); grid-auto-flow:column; gap:9px; max-height:none; overflow-x:auto; overflow-y:hidden; padding-bottom:3px; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidate-empty { display:flex; align-items:center; justify-content:center; min-height:85px; aspect-ratio:1; border:1px dashed #e3d8cc; border-radius:7px; color:#a0aabb; background:#fff; font-size:11px; text-align:center; }
@media(max-width:700px) { #developmentWorkbenchRoot .dwp-panel .dwi-sources { grid-template-columns:1fr; } }

/* 候选素材上传、管理和位置选择 */
#developmentWorkbenchRoot .dwp-panel .dwi-candidate-head-actions { display:flex; gap:6px; margin-left:auto; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidate-head-actions button { border:1px solid #dbe3ed; background:#fff; border-radius:5px; padding:3px 8px; color:#37577d; font-size:12px; cursor:pointer; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidate header > small { flex-basis:100%; line-height:1.6; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidate-item { min-width:0; position:relative; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidate-item.is-selected > .dwi-candidate-thumb { outline:2px solid #2563eb; outline-offset:-2px; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidate-item .dwi-candidate-item-actions { display:flex; flex-wrap:wrap; gap:3px; margin-top:5px; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidate-item-actions button { width:100%; aspect-ratio:auto; min-height:25px; padding:3px 1px; border:0; background:transparent; color:#2563eb; font-size:11px; white-space:nowrap; border-radius:4px; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidate-item-actions button:hover { background:#edf3ff; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidate-item-actions button + button { color:#64748b; }
#developmentWorkbenchRoot .dwp-panel .dwi-source-grid .dwi-candidate-select { position:absolute; left:4px; top:4px; z-index:2; display:flex; align-items:center; justify-content:center; width:23px; height:23px; aspect-ratio:1; border:1px solid #9eabc0; background:#fff; color:#2563eb; font-size:16px; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidate-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:9px; padding:7px 0 10px; font-size:11px; color:#64748b; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidate-toolbar button { padding:3px 0; border:0; background:transparent; color:#2563eb; cursor:pointer; font-size:12px; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidate-toolbar button[data-dwi-candidate-action="delete"] { color:#dc2626; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidate-toolbar button:disabled { opacity:.4; cursor:default; }
#developmentWorkbenchRoot .dwp-panel .dwi-source-grid .dwi-candidate-add { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; align-self:start; border-style:dashed; color:#a0aabb; background:rgba(255,255,255,.7); }
#developmentWorkbenchRoot .dwp-panel .dwi-candidate-add > span { font-size:25px; font-weight:400; line-height:1; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidate-add > small { font-size:10px; color:#94a3b8; }
#developmentWorkbenchRoot .dwp-panel .dwi-candidate[aria-busy="true"] button { opacity:.5; pointer-events:none; }
.dwi-placement-dialog { width:min(690px,calc(100vw - 40px)); max-height:calc(100vh - 50px); overflow:auto; box-sizing:border-box; padding:23px; border:1px solid #dbe3ed; border-radius:14px; color:#172b4d; background:white; box-shadow:0 20px 70px #0f172a40; font-family:inherit; }
.dwi-placement-dialog::backdrop { background:rgba(15,23,42,.32); }
.dwi-placement-dialog > header { display:flex; justify-content:space-between; align-items:center; gap:15px; }
.dwi-placement-dialog h3 { margin:0; font-size:18px; }
.dwi-placement-dialog button { font-family:inherit; cursor:pointer; }
.dwi-placement-dialog [data-dwi-place-close] { border:0; background:transparent; font-size:25px; color:#64748b; }
.dwi-placement-dialog > p { margin:10px 0; font-size:12px; line-height:1.7; color:#64748b; }
.dwi-placement-source { display:flex; align-items:center; gap:12px; margin:14px 0; padding:10px; border-radius:8px; background:#f8fafc; font-size:13px; }
.dwi-placement-source img { width:56px; height:56px; border:1px solid #e2e8f0; border-radius:5px; object-fit:contain; background:white; }
.dwi-placement-source span { overflow-wrap:anywhere; }
.dwi-placement-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.dwi-placement-grid button { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:10px; gap:5px; border:1px solid #dbe3ed; border-radius:8px; color:#334155; background:white; }
.dwi-placement-grid button:hover { border-color:#2563eb; background:#f8fbff; }
.dwi-placement-grid img { width:64px; height:64px; object-fit:contain; }
.dwi-placement-plus { display:flex; height:64px; align-items:center; justify-content:center; color:#a5b4ca; font-size:30px; }
.dwi-placement-grid strong { font-size:13px; font-weight:600; }
.dwi-placement-grid small { font-size:11px; color:#94a3b8; }
.dwi-placement-confirm { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:14px; padding:12px; border:1px solid #fcd6a5; border-radius:8px; background:#fffaf3; font-size:13px; }
.dwi-placement-confirm[hidden] { display:none; }
.dwi-placement-confirm span { flex:1 1 100%; }
.dwi-placement-confirm button { border:1px solid #dbe3ed; border-radius:5px; background:white; color:#334155; padding:6px 12px; }
.dwi-placement-confirm [data-dwi-place-confirm] { background:#2563eb; border-color:#2563eb; color:white; }
.dwi-placement-dialog .dwi-placement-error { color:#dc2626; }
.dwi-placement-dialog button:disabled { opacity:.5; cursor:wait; }
