/* Image-only layout matching Drawing CAD. Shared chat and backend are unchanged. */
#image-workspace-view,#image-workspace-info,#image-workspace-library,.iw-caption.iw-chat-caption{display:none}
#panel-ai-chat[data-active-action="img2threejs"]{position:fixed!important;inset:0!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:0!important;border-radius:0!important;transform:none!important}
#panel-ai-chat[data-active-action="img2threejs"] #drawing-workspace{display:grid;grid-template-columns:minmax(245px,1fr) minmax(320px,2fr) minmax(220px,1fr);grid-template-rows:minmax(280px,1fr) minmax(160px,.6fr);gap:12px;padding:12px;flex:1;min-height:0;overflow:auto;background:#f1f5fa;color:#172033}
#panel-ai-chat[data-active-action="img2threejs"] #drawing-workspace .dw-chat{display:flex;flex-direction:column;grid-column:1;grid-row:1/3;min-width:0;min-height:0;background:white;border:1px solid #d8e3ef;border-radius:12px;overflow:hidden}
#panel-ai-chat[data-active-action="img2threejs"] #drawing-workspace .dw-chat>.dw-caption{display:none}
#panel-ai-chat[data-active-action="img2threejs"] .iw-chat-caption{display:flex}
#panel-ai-chat[data-active-action="img2threejs"] #drawing-workspace .chat-messages{flex:1;min-height:80px;overflow:auto;padding:12px!important}
#panel-ai-chat[data-active-action="img2threejs"] #drawing-workspace .chat-input-bar{flex-wrap:wrap;padding:8px!important;background:#edf3fa}
#panel-ai-chat[data-active-action="img2threejs"] #chat-user-input{min-width:100px!important;width:auto!important;min-height:70px!important;background:white!important;color:#172033!important}
#panel-ai-chat[data-active-action="img2threejs"] .iw-panel{display:flex;flex-direction:column;background:white;border:1px solid #d8e3ef;border-radius:12px;min-width:0;overflow:auto}
.iw-panel [hidden]{display:none!important}
.iw-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-shrink:0;font-size:13px;font-weight:700;padding:12px;border-bottom:1px solid #d8e3ef}
.iw-caption span{font-size:11px;font-weight:400;color:#52657d;overflow-wrap:anywhere;text-align:right;max-width:50%}
.iw-viewport{flex:1;min-height:220px;background:linear-gradient(#eff5fc,#d9e5f3);display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;color:#43546b}
.iw-viewport p{padding:12px;font-size:15px;line-height:1.6}
#image-workspace-view>small{padding:8px;font-size:11px;color:#52657d}
.iw-observation{border-top:1px solid #d8e3ef;margin:12px 0;padding-top:12px}
.iw-observation h4{font-size:13px;margin:0 0 12px;color:#263f62}
.iw-observation dl{margin:0}
.iw-observation dt{font-weight:600;color:#405a7e;font-size:12px;line-height:1.5;margin-top:10px}
.iw-observation dd{margin:3px 0 0;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.iw-observation .iw-observation-warning{font-size:11px;color:#687d99;margin-top:12px}
.iw-tabs{display:flex;gap:4px;padding:8px;border-bottom:1px solid #d8e3ef;flex-shrink:0}
.iw-panel button{font:inherit;padding:9px;border:1px solid #d8e3ef;border-radius:7px;background:#f5f8fc;color:#172033;cursor:pointer}
.iw-tabs button{flex:1;min-width:0;padding:9px 4px;font-size:13px}
.iw-tabs button[aria-selected="true"]{background:#1769e0;color:white}
.iw-panel button:disabled{color:#71829a;background:#edf2f8;cursor:not-allowed}
.iw-panel button:focus-visible,.iw-panel input:focus-visible,.iw-panel select:focus-visible{outline:2px solid #1769e0;outline-offset:2px}
.iw-tab-panel{padding:12px;font-size:13px;overflow-wrap:anywhere}
.iw-tab-panel p{line-height:1.6;margin:0 0 12px}
.iw-tab-panel button{margin-bottom:8px;max-width:100%;font-size:12px}
.iw-stage{background:#fff3d4;padding:12px;border-radius:8px}
#panel-ai-chat[data-active-action="img2threejs"] #image-workspace-library{grid-column:2/4}
.iw-tools{display:flex;flex-wrap:wrap;gap:8px;padding:10px}
.iw-tools input,.iw-tools select{border:1px solid #c6d5e7;border-radius:8px;padding:8px;max-width:100%;min-width:0;font:12px system-ui;background:white;color:#172033}
.iw-count{font-size:11px;color:#52657d;flex-basis:100%}
.iw-counters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 10px}
.iw-counters span{font-size:11px;background:#eef5ff;padding:10px;border-radius:8px;overflow-wrap:anywhere}
.iw-counters b{display:block;font-size:13px;margin-top:6px}
.iw-parts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;padding:10px;font-size:13px;color:#52657d}
.iw-card{background:#f8fbff;border:1px solid #d4e1f1;border-radius:10px;padding:12px;overflow-wrap:anywhere}
.iw-card p{font-size:12px;line-height:1.6}
.iw-card button{font-size:12px;margin:0 4px 4px 0;max-width:100%}
.iw-card a{display:inline-block;padding:8px;color:#185db4}
.iw-filter-empty{padding:0 12px;font-size:12px;color:#52657d}
/* Compact product shelf; names are session-only, source and release gates stay intact. */
#image-workspace-library .iw-tools{align-items:center;gap:8px;padding:12px 10px}
#image-workspace-library .iw-name-field{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#405a7e;width:165px;max-width:100%;flex-shrink:0}
#image-workspace-library .iw-name-field input{width:100%;height:36px}
#image-workspace-library .iw-primary{background:#1762eb;color:white;border-color:#1762eb;font-size:13px;min-height:40px;white-space:nowrap}
#image-workspace-library .iw-primary:disabled{background:#edf2f8;border-color:#d8e3ef;color:#71829a}
#image-workspace-library .iw-search{width:190px;height:40px}
#image-workspace-library .iw-tools select{height:40px;font-size:11px;width:125px}
#image-workspace-library .iw-count{flex-basis:auto;white-space:normal}
#image-workspace-library .iw-library-note{margin:0;padding:0 10px 8px;font-size:11px;color:#687d99;line-height:1.5}
#image-workspace-library .iw-counters{display:flex;flex-wrap:wrap;gap:12px;padding:0 10px 4px}
#image-workspace-library .iw-counters span{padding:0;background:none;border-radius:0;font-size:10px}
#image-workspace-library .iw-counters b{display:inline;font-size:10px;font-weight:500;margin:0 0 0 4px}
#image-workspace-library .iw-parts{grid-template-columns:repeat(auto-fill,minmax(165px,180px));align-items:start;gap:8px;padding:10px}
#image-workspace-library .iw-card{padding:8px;border-radius:8px;font-size:11px}
#image-workspace-library .iw-card-number{display:block;color:#1762eb;font-weight:700;margin-bottom:10px}
#image-workspace-library .iw-card strong{display:block;font-size:11px;color:#263f62;font-weight:500;line-height:1.5}
#image-workspace-library .iw-card p{font-size:10px;color:#687d99;line-height:1.4;margin:4px 0 8px}
#image-workspace-library .iw-card-actions{display:flex;flex-wrap:wrap;gap:4px}
#image-workspace-library .iw-card button,#image-workspace-library .iw-card a{font-size:10px;padding:6px;margin:0;border:1px solid #c9d9f0;border-radius:5px;line-height:1.3;text-decoration:none}
#image-workspace-library .iw-card>button{margin-top:5px;width:100%}
@media(max-width:600px){#image-workspace-library .iw-name-field{width:100%}#image-workspace-library .iw-search{flex:1;width:150px}#image-workspace-library .iw-parts{grid-template-columns:repeat(2,minmax(0,1fr))}#image-workspace-library .iw-count{flex-basis:100%}}
.iw-viewport:has(.iw-model-frame){display:block}
.iw-model-frame{display:block;width:100%;height:100%;border:0;background:#edf3fa}
#panel-ai-chat[data-active-action="img2threejs"] button[data-img3d-id]{display:none}
@media(max-width:900px){#panel-ai-chat[data-active-action="img2threejs"] #drawing-workspace{grid-template-columns:minmax(220px,1fr) minmax(280px,1.5fr);grid-template-rows:auto}#panel-ai-chat[data-active-action="img2threejs"] #image-workspace-info{grid-column:2}#panel-ai-chat[data-active-action="img2threejs"] #image-workspace-library{grid-column:1/-1}.iw-viewport{height:300px;flex:none}}
@media(max-width:600px){#panel-ai-chat[data-active-action="img2threejs"] #drawing-workspace{display:flex;flex-direction:column;padding:8px;gap:8px}#panel-ai-chat[data-active-action="img2threejs"] #drawing-workspace .dw-chat{flex:none;min-height:280px;max-height:380px}#panel-ai-chat[data-active-action="img2threejs"] .iw-panel{flex:none}.iw-counters{grid-template-columns:repeat(2,minmax(0,1fr))}.iw-parts{grid-template-columns:repeat(2,minmax(0,1fr))}.iw-tabs button{font-size:12px}.iw-caption{flex-wrap:wrap}.iw-caption span{max-width:100%}}
/* Section 4 follows the reference shelf: one toolbar, then cards, no extra visual rows. */
#image-workspace-library .iw-tools{align-items:flex-end;padding:12px 10px 8px;gap:8px}
#image-workspace-library .iw-name-field{font-size:12px;line-height:16px;gap:4px}
#image-workspace-library .iw-name-field input{height:40px;font-size:12px}
#image-workspace-library .iw-search{font-size:13px}
#image-workspace-library .iw-count{font-size:12px;line-height:40px;align-self:flex-end}
#image-workspace-library .iw-tools select{display:none}
#image-workspace-library .iw-library-note,#image-workspace-library .iw-counters{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
#image-workspace-library .iw-parts{padding:10px;min-height:130px}
#image-workspace-library .iw-parts:not(:has(.iw-card)){display:block;color:#687d99;font-size:12px;line-height:1.6}
@media(max-width:600px){#image-workspace-library .iw-tools{align-items:center}#image-workspace-library .iw-name-field{flex-basis:100%}#image-workspace-library .iw-count{flex-basis:100%;line-height:22px}#image-workspace-library .iw-new-product{order:5}}
/* Scoped to Image -> 3D source-review tab. */
#iw-panel-source .iw-eight-review{margin-top:14px;border-top:1px solid #d2def0;padding-top:12px;min-width:0}
#iw-panel-source .iw-eight-review h4{margin:0 0 8px;font-size:13px;color:#172b48}
#iw-panel-source .iw-eight-help,#iw-panel-source .iw-eight-status{font-size:11px;line-height:1.5;color:#5c718e;margin:6px 0 12px}
#iw-panel-source .iw-eight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(5,minmax(64px,auto));gap:7px;align-items:stretch;margin:12px 0}
#iw-panel-source .iw-eight-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #aec5e3;background:#f8fbff;border-radius:8px;padding:5px 2px;margin:0;min-width:0;min-height:64px;cursor:pointer;color:#253f61}
#iw-panel-source .iw-eight-slot[aria-pressed=true]{border:2px solid #1762eb;background:#edf4ff}
#iw-panel-source .iw-eight-slot:focus-visible,#iw-panel-source .iw-eight-region:focus-visible{outline:2px solid #1762eb;outline-offset:2px}
#iw-panel-source .iw-eight-slot strong{font-size:11px;line-height:1.4}
#iw-panel-source .iw-eight-slot small{font-size:9px;line-height:1.3;color:#647891}
#iw-panel-source .iw-eight-slot canvas{max-width:100%;max-height:65px;object-fit:contain}
#iw-panel-source .iw-eight-center{grid-row:3;grid-column:2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;background:#e8f1fc;border-radius:8px;color:#527095;font-size:10px;overflow:hidden}
#iw-panel-source .iw-eight-center canvas{max-width:100%;height:auto}
#iw-panel-source .iw-eight-unassigned{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}
#iw-panel-source .iw-eight-unassigned h4{flex-basis:100%}
#iw-panel-source .iw-eight-region{border:1px solid #cbdcf1;background:#fff;color:#234363;padding:6px;margin:0;border-radius:6px;font-size:10px;cursor:pointer;max-width:100%;overflow-wrap:anywhere}
#iw-panel-source .iw-eight-inspector{border:1px solid #cbdcf1;border-radius:8px;padding:9px;margin-top:12px;background:#fafcff;min-width:0}
#iw-panel-source .iw-eight-inspector>strong{display:block;margin:10px 0 6px;font-size:11px;color:#4d6482}
#iw-panel-source .iw-eight-inspector canvas{display:block;max-width:100%;height:auto;margin:8px auto;background:white;border:1px solid #e2eaf4}
#iw-panel-source .iw-eight-controls{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}
#iw-panel-source .iw-eight-controls button{margin:0;padding:7px 5px;font-size:10px;border:1px solid #cbdcf1;border-radius:6px;background:white;color:#234363}
#iw-panel-source .iw-eight-readout,#iw-panel-source .iw-eight-empty,#iw-panel-source .iw-eight-inspector>p{font-size:11px;line-height:1.5;overflow-wrap:anywhere}
#iw-panel-source .iw-eight-empty{padding:8px;background:#fff3cf;border-radius:6px;color:#6b571c}
#iw-panel-source .iw-eight-review [hidden]{display:none!important}

/* Compact source review: all eight view selectors precede the source/inspector. */
#iw-panel-source{display:flex;flex-direction:column}
#iw-panel-source .iw-eight-review{order:-1;margin-top:0;padding-top:0;border-top:0}
#iw-panel-source .iw-eight-help{margin:4px 0 8px}
#iw-panel-source .iw-eight-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(60px,auto)) auto;gap:6px;margin:8px 0}
#iw-panel-source .iw-eight-slot{grid-row:auto!important;grid-column:auto!important;min-height:60px;box-sizing:border-box;padding:5px 2px}
#iw-panel-source .iw-eight-slot[data-slot=front]{order:1}
#iw-panel-source .iw-eight-slot[data-slot=back]{order:2}
#iw-panel-source .iw-eight-slot[data-slot=left]{order:3}
#iw-panel-source .iw-eight-slot[data-slot=right]{order:4}
#iw-panel-source .iw-eight-slot[data-slot=top]{order:5}
#iw-panel-source .iw-eight-slot[data-slot=bottom]{order:6}
#iw-panel-source .iw-eight-slot[data-slot=left45]{order:7}
#iw-panel-source .iw-eight-slot[data-slot=right45]{order:8}
#iw-panel-source .iw-eight-slot canvas{max-width:100%;max-height:30px;margin:0 0 2px}
#iw-panel-source .iw-eight-center{order:9;grid-row:auto;grid-column:1/-1;min-height:28px;padding:5px;gap:3px;box-sizing:border-box}
#iw-panel-source .iw-eight-center canvas{max-width:100%;max-height:72px;width:auto;object-fit:contain}
#iw-panel-source .iw-eight-slot strong{font-size:10px;white-space:nowrap}
#iw-panel-source .iw-eight-slot small{font-size:9px}
@media(max-width:340px){#iw-panel-source .iw-eight-grid{gap:4px}#iw-panel-source .iw-eight-slot strong{font-size:9px}#iw-panel-source .iw-eight-slot small{font-size:8px}}
