.design-image-panel{--di-bg:#fff;--di-text:#334155;--di-border:#dbe3ed;color:var(--di-text);font:12px/1.5 Inter,system-ui,sans-serif}
.design-images-node{background:rgba(255,255,255,.9);border-color:#e2e8f0;color:#334155}
html[data-workflow-theme=dark] .design-images-node{background:rgba(24,24,27,.9);border-color:rgba(255,255,255,.1);color:#e2e8f0}
html[data-ui-theme=dark] .design-image-panel,html[data-workflow-theme=dark] .design-image-panel{--di-bg:#20232b;--di-text:#d6deeb;--di-border:#3a4252}
.design-image-panel button:not(.design-material-model-slot button),.design-image-panel select,.design-image-panel input,.design-image-panel textarea{box-sizing:border-box;font:inherit;color:var(--di-text);background:var(--di-bg);border:1px solid var(--di-border);border-radius:8px;padding:6px 8px}
.design-image-panel button{cursor:pointer;white-space:nowrap}.design-image-panel button:disabled{cursor:default;opacity:.5}.design-image-panel button:hover:not(:disabled){border-color:#818cf8}
.design-image-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:8px}.design-image-toolbar button:last-child{margin-left:auto;color:#818cf8}
.design-image-panel select{width:100%;margin-bottom:4px}.design-image-hint{font-size:10px;opacity:.75;margin:5px 0 8px}.design-image-status{font-size:11px;margin:6px 0}.design-image-status.error{color:#ef4444}
.design-image-list{display:flex;flex-direction:column;gap:10px;max-height:340px;overflow:auto}.design-image-item{display:flex;align-items:flex-start;gap:8px;border-top:1px solid var(--di-border);padding-top:8px}.design-image-item>img{width:64px;height:64px;object-fit:contain;background:var(--di-bg);border:1px solid var(--di-border);border-radius:8px}.design-image-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.design-image-details input,.design-image-details textarea{width:100%;min-width:0}.design-image-details textarea{resize:vertical;min-height:52px}.design-image-details small{font-size:10px;opacity:.7}.design-image-item>button{padding:4px;font-size:10px}.design-image-empty{padding:22px 8px;text-align:center;opacity:.65}
.design-image-panel .design-image-add-note{align-self:flex-start;width:24px;height:24px;padding:0;font-size:18px;line-height:1;opacity:0;pointer-events:none}
.design-image-item:hover .design-image-add-note,.design-image-item:focus-within .design-image-add-note,.design-image-add-note:focus-visible{opacity:1;pointer-events:auto}
.design-image-user-note[hidden],.design-image-add-note[hidden]{display:none}
.design-image-user-note textarea{border-color:#818cf8}
.design-image-user-note small{display:block;margin-top:3px}
@media(hover:none){.design-image-panel .design-image-add-note{opacity:1;pointer-events:auto}}
.design-image-panel-recent .design-image-toolbar{flex-wrap:wrap}
.design-material-picker{box-sizing:border-box;width:min(760px,calc(100vw - 32px));max-height:85vh;margin:auto;padding:20px;border:1px solid var(--di-border);border-radius:18px;background:var(--di-bg);color:var(--di-text);box-shadow:0 20px 80px #0005}
.design-material-picker::backdrop{background:#0007}
.design-material-picker-heading,.design-material-picker-footer{display:flex;align-items:center;gap:10px;justify-content:space-between}
.design-material-picker-heading strong{font-size:18px}.design-material-picker-footer{margin-top:16px;flex-wrap:wrap}.design-material-picker-footer button:last-child{margin-left:auto;border-color:#818cf8}
.design-material-page-label{font-size:11px;white-space:nowrap;opacity:.75}
.design-material-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px;max-height:52vh;overflow:auto;padding:4px}
.design-material-picker-card{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;padding:10px;border:1px solid var(--di-border);border-radius:12px;cursor:pointer}
.design-material-picker-card:has(input:checked){border-color:#818cf8;background:#818cf81a}.design-material-picker-card.included{opacity:.55;cursor:default}
.design-material-picker-card>input{position:absolute;top:12px;left:12px;width:18px;height:18px;margin:0;accent-color:#6366f1}
.design-material-picker-card>img{width:100%;height:110px;object-fit:contain}.design-material-picker-card>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.design-material-picker-card>small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:11px;opacity:.75}
.design-material-compact{--di-tile:#f0f1f3;--di-muted:#87909f;padding:4px}
html[data-workflow-theme=dark] .design-material-compact{--di-bg:#18181b;--di-tile:#27272c;--di-muted:#9299aa}
.design-material-viewport{height:88px;max-height:288px;overflow:hidden}
.design-material-compact .design-material-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:10px;height:100%;max-height:none;overflow:auto;scrollbar-width:thin;padding-right:3px}
.design-material-compact .design-material-tile{position:relative;display:block;width:100%;aspect-ratio:1;padding:0;border:0;border-radius:14px;overflow:hidden;background:var(--di-tile)}
.design-material-tile-wrap{position:relative;min-width:0}
.design-material-compact .design-material-tiles{overscroll-behavior:contain;overflow-anchor:none;touch-action:pan-y;scrollbar-gutter:stable}
.design-material-model-slot{display:flex;align-items:center;gap:8px;min-width:0;margin-bottom:4px}
.design-material-compact .design-material-model-slot button{font-size:11px}
.design-material-compact .design-material-tile-remove{position:absolute;z-index:2;top:4px;right:4px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:#171717b3;color:#fff;font-size:18px;line-height:1;opacity:0;pointer-events:none}
.design-material-tile-wrap:hover .design-material-tile-remove,.design-material-tile-wrap:focus-within .design-material-tile-remove{opacity:1;pointer-events:auto}
@media(hover:none){.design-material-compact .design-material-tile-remove{opacity:1;pointer-events:auto}}
.design-material-tile>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.design-material-compact .design-material-format-badge{position:absolute;z-index:1;bottom:6px;left:50%;transform:translateX(-50%);padding:3px 7px;border:1px solid #ffffff26;border-radius:5px;background:rgba(80,80,80,.65);color:#fff;font:600 9px/1.3 Inter,system-ui,sans-serif;letter-spacing:.2px;pointer-events:none;opacity:0;transition:opacity .15s;box-shadow:0 1px 3px #0002}
.design-material-tile:hover .design-material-format-badge,.design-material-tile:focus-visible .design-material-format-badge,.design-material-detail-preview:hover .design-material-format-badge,.design-material-detail-preview:focus-visible .design-material-format-badge{opacity:1}
.design-material-tile-caption,.design-material-replace-caption{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0007;color:#fff;font-weight:600;opacity:0;transition:opacity .15s;pointer-events:none}
.design-material-tile:hover .design-material-tile-caption,.design-material-tile:focus-visible .design-material-tile-caption,.design-material-detail-preview:hover .design-material-replace-caption,.design-material-detail-preview:focus-visible .design-material-replace-caption{opacity:1}
.design-material-compact .design-material-add{font-size:48px;font-weight:200;line-height:1;color:var(--di-muted)}
.design-material-compact .design-material-footer{display:flex;align-items:flex-end;gap:12px;margin-top:16px;min-height:42px}
.design-material-compact .design-material-footer select{flex:0 0 135px;max-width:135px;margin:0;padding:7px 8px;font-size:11px}
.design-material-metadata{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.design-material-count{color:var(--di-muted);font-size:10px}.design-material-purpose{font-size:10px;font-weight:600;line-height:1.5}
.design-material-compact .design-image-status{margin:8px 0 0;font-size:10px}
.design-material-detail{position:relative;height:100%;min-height:0;overflow:auto;overscroll-behavior:contain}.design-material-detail-top{position:absolute;top:0;right:0;z-index:1}
.design-material-compact .design-material-back,.design-material-compact .design-material-remove{padding:2px 0;border:0;background:transparent;color:var(--di-muted);font-size:11px}
.design-material-overview{display:flex;align-items:center;gap:24px;margin-bottom:14px;min-height:174px}
.design-material-compact .design-material-detail-preview{position:relative;flex:0 0 174px;aspect-ratio:1;padding:0;border:0;overflow:hidden;border-radius:22px;background:var(--di-tile)}
.design-material-detail-preview img{display:block;width:100%;height:100%;object-fit:contain}
.design-material-detail-info{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}.design-material-annotation-status{font-size:13px}.design-material-detail-info>small{font-size:10px;color:var(--di-muted)}
.design-material-detail-info>button{font-size:10px;padding:5px 7px}.design-material-note textarea{display:block;width:100%;height:76px;resize:vertical;border-color:#a5a7ff;font-size:12px;line-height:1.6}
.design-material-note>small{display:block;margin-top:4px;color:var(--di-muted);text-align:right;font-size:10px}
.design-material-compact .design-image-list[hidden],.design-material-detail[hidden],.design-material-compact .design-image-status[hidden]{display:none}
.design-material-history-action{border-color:#c7d2fe;background:#ffffffed;color:#4f46e5}.design-material-history-action:hover{background:#eef2ff}
html[data-workflow-theme=dark] .design-material-history-action{border-color:#818cf84d;background:#171a24ed;color:#c7d2fe}html[data-workflow-theme=dark] .design-material-history-action:hover{background:#1d2333}
@media(hover:none){.design-material-tile-caption{inset:auto 0 0;font-size:10px;padding:3px;opacity:1}}

/* Structured annotation fields (image type / crop) */
.design-image-structured { display: flex; gap: 6px; flex-wrap: wrap; }
.design-image-structured select { flex: 1 1 120px; min-width: 0; font: inherit; font-size: 12px; padding: 3px 4px; }
.design-material-svg-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.design-material-task-status { flex-basis:100%; color:var(--di-muted,#7c8498); font-size:11px; line-height:1.6; }
.design-material-svg-actions button { font:inherit; font-size:12px; padding:6px 10px; border:1px solid #c7d2fe; border-radius:8px; background:#eef2ff; color:#4f46e5; cursor:pointer; }
.design-material-compact .design-material-svg-actions { margin:0; }
.design-material-compact .design-material-svg-actions button { font-size:10px; padding:5px 7px; }
html[data-ui-theme=dark] .design-material-svg-actions button,html[data-workflow-theme=dark] .design-material-svg-actions button { background:#292f44; color:#c7d2fe; border-color:#535c83; }
.design-material-svg-actions button:disabled { opacity:.45; cursor:default; }
.design-material-svg-actions button { transition:background .16s,border-color .16s; }
.design-material-svg-actions button:hover:enabled { background:#e0e7ff; border-color:#a5b4fc; }
html[data-ui-theme=dark] .design-material-svg-actions button:hover:enabled,html[data-workflow-theme=dark] .design-material-svg-actions button:hover:enabled { background:#363b58; border-color:#818cf8; }
.design-image-panel:not(.design-material-compact) .design-image-list { padding:2px; gap:10px; scrollbar-width:thin; }
.design-image-panel:not(.design-material-compact) .design-image-item { padding:12px; gap:12px; border:1px solid var(--di-border); border-radius:14px; background:var(--di-bg); }
.design-image-panel:not(.design-material-compact) .design-image-item>img { width:76px; height:76px; border-radius:10px; background:#f1f5f9; }
html[data-ui-theme=dark] .design-image-panel:not(.design-material-compact) .design-image-item>img { background:#151b24; }
.design-image-panel:not(.design-material-compact) .design-image-item>button { padding:4px 6px; color:#8b94a5; border-color:transparent; background:transparent; }
.design-image-panel:not(.design-material-compact) .design-image-item>button:hover:enabled { color:#e0526c; border-color:#e0526c55; background:#e0526c0d; }
.design-image-panel:not(.design-material-compact) .design-image-details { gap:8px; }
.design-image-panel button:focus-visible,.design-material-svg-actions button:focus-visible { outline:2px solid #818cf8; outline-offset:2px; }

/* Image preparation: preview, purpose controls, then material tools. */
.image-organize-panel .word-image-pool { grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr)); gap:14px; align-items:start; }
.image-organize-panel .word-image-candidate { --wi-surface:#fff; --wi-soft:#f5f7fb; --wi-text:#253047; --wi-muted:#718096; --wi-line:#e3e8f0; --wi-accent:#6366f1; padding:0; border:1px solid var(--wi-line); border-radius:16px; background:var(--wi-surface); color:var(--wi-text); box-shadow:0 2px 7px #18243b05; transition:border-color .16s,box-shadow .16s; }
.image-organize-panel .word-image-candidate:hover { transform:none; border-color:#a5b4fc; box-shadow:0 5px 18px #18243b0b; }
.image-organize-panel .word-image-candidate.selected { border-color:var(--wi-accent); box-shadow:0 0 0 1px #818cf833; }
.word-image-stage { position:relative; height:150px; padding:24px 14px 12px; background:var(--wi-soft); border-bottom:1px solid var(--wi-line); }
.image-organize-panel .word-image-stage img { width:100%; height:100%; border-radius:6px; object-fit:contain; background:transparent; }
.image-organize-panel .word-image-meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 8px; margin:0; padding:12px 12px 8px; color:var(--wi-muted); font-size:10px; }
.word-image-meta strong { color:var(--wi-text); font-size:12px; font-weight:650; }
.image-organize-panel .word-image-badges { position:absolute; top:9px; left:10px; right:42px; display:flex; gap:4px; margin:0; }
.image-organize-panel .word-image-badge { border:1px solid var(--wi-line); border-radius:6px; padding:2px 6px; color:var(--wi-muted); background:var(--wi-surface); font-size:10px; line-height:1.4; }
.image-organize-panel .word-image-checks { display:flex; flex-direction:column; gap:3px; margin:0; padding:0 8px 10px; }
.image-organize-panel .word-image-checks label { display:flex; align-items:center; gap:8px; margin:0; padding:7px 8px; border:1px solid transparent; border-radius:9px; background:transparent; cursor:pointer; transition:background .16s; }
.image-organize-panel .word-image-checks label:hover { background:var(--wi-soft); }
.image-organize-panel .word-image-checks label:has(input:checked) { background:#818cf80d; }
.image-organize-panel .word-image-checks label:has(input:disabled) { cursor:default; opacity:.55; }
.image-organize-panel .word-image-checks label:focus-within { border-color:var(--wi-accent); }
.image-organize-panel .word-image-checks label>input { flex:none; order:1; width:15px; height:15px; margin:0 0 0 auto; accent-color:var(--wi-accent); cursor:inherit; }
.image-organize-panel .word-image-checks label>span { display:flex; flex-wrap:wrap; align-items:baseline; gap:3px 8px; min-width:0; }
.image-organize-panel .word-image-checks label strong { color:var(--wi-text); font-size:12px; font-weight:550; white-space:nowrap; }
.image-organize-panel .word-image-checks label small { color:var(--wi-muted); font-size:10px; line-height:1.4; }
.image-organize-panel .word-image-candidate>.design-material-svg-actions { gap:6px; margin:0; padding:10px 12px; border-top:1px solid var(--wi-line); }
.image-organize-panel .word-image-candidate>.design-material-svg-actions[hidden] { display:none; }
.image-organize-panel .word-image-candidate>.design-material-svg-actions button { flex:1 1 auto; padding:6px 8px; font-size:11px; border-radius:7px; }
.image-organize-panel .word-image-delete { position:absolute; top:7px; right:8px; display:flex; align-items:center; justify-content:center; width:27px; height:27px; margin:0; padding:6px; border:1px solid transparent; border-radius:8px; color:var(--wi-muted); background:var(--wi-surface); cursor:pointer; }
.image-organize-panel .word-image-delete svg { width:15px; height:15px; pointer-events:none; }
.image-organize-panel .word-image-delete:hover:enabled { color:#e0526c; border-color:#e0526c55; background:#e0526c12; }
.image-organize-panel .word-image-delete:disabled { opacity:.4; cursor:default; }
.image-organize-panel .word-image-delete:focus-visible { outline:2px solid var(--wi-accent); outline-offset:2px; }
html[data-ui-theme=dark] body.ui-theme-design-agent .word-image-candidate { --wi-surface:#202836; --wi-soft:#171e29; --wi-text:#e0e7f3; --wi-muted:#99a8be; --wi-line:#354155; --wi-accent:#a5a7ff; background:var(--wi-surface); border-color:var(--wi-line); }
html[data-ui-theme=dark] body.ui-theme-design-agent .word-image-candidate.selected { border-color:var(--wi-accent); }
html[data-ui-theme=dark] body.ui-theme-design-agent .word-image-checks label { background:transparent; border-color:transparent; }
html[data-ui-theme=dark] body.ui-theme-design-agent .word-image-checks label:hover,html[data-ui-theme=dark] body.ui-theme-design-agent .word-image-checks label:has(input:checked) { background:#818cf812; }
html[data-ui-theme=dark] body.ui-theme-design-agent .word-image-checks label small,html[data-ui-theme=dark] body.ui-theme-design-agent .word-image-meta { color:var(--wi-muted); }
html[data-ui-theme=dark] body.ui-theme-design-agent .word-image-stage img { background:transparent; }
html[data-ui-theme=dark] body.ui-theme-design-agent .word-image-delete { color:var(--wi-muted); background:var(--wi-surface); border-color:transparent; }
html[data-ui-theme=dark] body.ui-theme-design-agent .word-image-delete:hover:enabled { color:#fda4af; background:#e0526c1a; border-color:#e0526c55; }
@media(prefers-reduced-motion:reduce) { .image-organize-panel .word-image-candidate,.design-material-svg-actions button { transition:none; } }
.design-material-svg-confirm { width:min(400px,calc(100vw - 48px)); box-sizing:border-box; padding:24px; border:1px solid #d7dce5; border-radius:18px; color:#253047; background:#fff; box-shadow:0 24px 80px #0004; font:14px/1.65 system-ui,sans-serif; }
.design-material-svg-confirm::backdrop { background:#10172588; backdrop-filter:blur(4px); }
.design-material-svg-confirm h3 { margin:0 0 12px; font-size:18px; }
.design-material-svg-confirm p { margin:0 0 24px; }
.design-material-svg-confirm .design-material-background-option { display:flex; align-items:flex-start; gap:10px; margin:0 0 20px; padding:12px; border:1px solid #8b8ee52e; border-radius:12px; background:#8588ed0a; cursor:pointer; }
.design-material-background-option input { flex:none; width:15px; height:15px; margin:3px 0 0; accent-color:#6469ee; }
.design-material-background-option span { min-width:0; }
.design-material-background-option strong { display:block; font-size:13px; font-weight:600; }
.design-material-background-option small { display:block; margin-top:3px; font-size:11px; line-height:1.6; opacity:.65; }
.design-material-svg-confirm>div { display:flex; gap:10px; justify-content:flex-end; }
.design-material-svg-confirm button { font:inherit; padding:7px 16px; border:1px solid #d7dce5; background:transparent; color:inherit; border-radius:9px; cursor:pointer; }
.design-material-svg-confirm button:last-child { border-color:#5c62ed; background:#5c62ed; color:#fff; }
[data-workflow-theme="dark"] .design-material-svg-confirm, [data-ui-theme="dark"] .design-material-svg-confirm, [data-theme="dark"] .design-material-svg-confirm, body.dark-mode .design-material-svg-confirm { color:#e7eaf3; background:#242735; border-color:#444957; }
