/* CAD shares the existing editor shell, toolbar and viewport. */
#imageEditModal.cad-tool-active #cropCanvas,#imageEditModal.cad-tool-active .image-edit-actions { display:none !important; }
#imageEditModal.cad-tool-active .image-edit-stage-inner { pointer-events:auto; }
#imageEditModal.cad-tool-active .image-edit-panel {
    display:grid;
    grid-template-columns:clamp(280px,22vw,340px) minmax(0,1fr);
    grid-template-rows:auto minmax(0,1fr) auto;
    grid-template-areas:"header header" "settings preview" "settings actions";
}
#imageEditModal.cad-tool-active .image-edit-head { grid-area:header; min-width:0; }
#imageEditModal.cad-tool-active #imageEditStage { grid-area:preview; min-width:0; }
.image-edit-cad-surface { position:absolute; left:0; top:0; transform-origin:0 0; background:#fff; touch-action:none; user-select:none; }
.image-edit-cad-surface > img,.image-edit-cad-surface > svg { position:absolute; inset:0; width:100%; height:100%; max-width:none; max-height:none; margin:0; }
.image-edit-cad-surface > img { object-fit:fill; }
.image-edit-cad-surface .cad-marks { pointer-events:none; }
.image-edit-cad-surface.cad-selecting { cursor:crosshair; }
.image-edit-cad-surface .cad-divider { position:absolute; top:0; height:100%; width:14px; padding:0; margin:0; transform:translateX(-50%); border:0; border-left:2px solid #0d9488; background:transparent; cursor:ew-resize; }
.image-edit-cad-surface .cad-divider::after { content:'↔'; position:absolute; top:50%; left:-13px; width:26px; height:26px; line-height:26px; border-radius:50%; background:#0d9488; color:white; }
#cadExportPanel { grid-area:settings; display:flex; flex-direction:column; gap:8px; color:var(--ink); min-width:0; min-height:0; overflow:hidden; }
#cadExportPanel .cad-options { flex:1; min-height:0; overflow:auto; scrollbar-width:none; border:1px solid var(--line); border-radius:8px; background:var(--panel); }
#cadExportPanel .cad-options::-webkit-scrollbar,#cadExportPanel::-webkit-scrollbar { display:none; }
#cadExportPanel .cad-options > summary { padding:8px 12px; font-weight: var(--ui-label-weight); cursor:pointer; }
#cadExportPanel [data-cad="summary"] { display:block; margin-top:4px; font-size: var(--ui-surface-caption-font); font-weight: var(--ui-body-weight); line-height:1.5; color:var(--muted); }
#cadExportPanel .cad-body { padding:0 8px 8px; }
#cadExportPanel .cad-help { color:var(--muted); margin:8px 0; font-size: var(--ui-surface-caption-font); }
#cadExportPanel .cad-settings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
#cadExportPanel label { display:flex; flex-direction:column; gap:4px; min-width:0; font-size: var(--ui-surface-label-font); }
#cadExportPanel input,#cadExportPanel select,#cadExportPanel button,.image-edit-cad-actions button,.image-edit-cad-menu button,.image-edit-cad-menu select { font:inherit; font-size:var(--ui-surface-body-font); font-weight:var(--ui-body-weight); color:var(--ink); background:var(--control-fill); border:1px solid var(--line); border-radius:7px; padding:6px 10px; box-sizing:border-box; }
#cadExportPanel input:not([type="checkbox"]),#cadExportPanel select { width:100%; height:32px !important; min-height:32px !important; color:var(--ink) !important; -webkit-text-fill-color:var(--ink); }
#cadExportPanel input[type="checkbox"] { width:auto; }
#cadExportPanel button,.image-edit-cad-actions button { cursor:pointer; white-space:nowrap; }
#cadExportPanel button[aria-pressed="true"],.image-edit-cad-actions .cad-primary { background:var(--primary-fill); color:var(--primary-text); border-color:var(--primary-fill); }
#cadExportPanel button:focus-visible,#cadExportPanel select:focus-visible,#cadExportPanel input:focus-visible,.image-edit-cad-actions button:focus-visible,.image-edit-cad-menu :focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
#cadExportPanel .cad-advanced { margin-top:10px; }
#cadExportPanel .cad-advanced > summary,#cadExportPanel [data-cad="textReview"] > summary { cursor:pointer; font-weight: var(--ui-label-weight); }
#cadExportPanel .cad-advanced .cad-settings { grid-template-columns:minmax(0,1fr); margin-top:8px; }
#cadExportPanel .cad-checkbox { flex-direction:row; align-items:center; }
#cadExportPanel .cad-text-section { margin:10px 0; padding:8px; border:1px solid var(--line); border-radius:8px; }
#cadExportPanel .cad-text-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
#cadExportPanel .cad-text-controls label { grid-column:1/-1; }
#cadExportPanel .cad-text-controls button { padding:6px; }
#cadExportPanel [data-cad="textReview"] { margin-top:8px; }
#cadExportPanel .cad-text-rows { max-height:170px; overflow:auto; margin:8px 0; }
#cadExportPanel .cad-text-row { display:grid; grid-template-columns:32px minmax(0,1fr) 72px; gap:4px; align-items:center; margin:6px 0; }
#cadExportPanel .cad-text-row label { flex-direction:row; align-items:center; }
#cadExportPanel .cad-text-row input { padding:4px; font-size: var(--ui-surface-body-font); }
#cadExportPanel .cad-text-row > span { grid-column:2/-1; font-size: var(--ui-surface-caption-font); color:var(--muted); }
#cadExportPanel .cad-calibration { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; margin:10px 0; }
#cadExportPanel .cad-calibration label { width:auto; }
#cadExportPanel [data-cad="calibrationHint"] { font-size: var(--ui-surface-caption-font); color:var(--muted); align-self:center; }
#cadExportPanel .cad-preview-tools { flex:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; align-items:center; padding-top:10px; }
#cadExportPanel .cad-preview-tools label { flex-direction:row; align-items:center; grid-column:1/-1; }
#cadExportPanel [data-cad="compare"] { flex:1; min-width:0; width:auto !important; }
.image-edit-cad-menu { position:fixed; z-index:10; display:flex; flex-direction:column; gap:8px; width:min(280px,calc(100vw - 32px)); max-height:calc(100vh - 32px); overflow:auto; padding:10px; border:1px solid var(--line); border-radius:9px; background:var(--panel); color:var(--ink); box-shadow:0 8px 24px #0005; font-size: var(--ui-surface-body-font); box-sizing:border-box; }
.image-edit-cad-menu label { display:flex; align-items:center; gap:8px; }
.image-edit-cad-menu select { flex:1; min-width:0; height:32px !important; min-height:32px !important; -webkit-text-fill-color:var(--ink); }
.image-edit-cad-menu button { cursor:pointer; }
.image-edit-cad-menu span { color:var(--muted); overflow-wrap:anywhere; }
.image-edit-cad-actions { grid-area:actions; display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-width:0; }
.image-edit-cad-actions .cad-status { flex:1; margin:0; font-size: var(--ui-surface-caption-font); color:var(--muted); overflow-wrap:anywhere; min-width:150px; }
.image-edit-cad-actions .cad-error { color:var(--danger,#dc2626); }
#cadExportPanel :disabled,.image-edit-cad-actions :disabled,.image-edit-cad-menu :disabled { opacity:.45; cursor:default; }
#cadExportPanel [hidden],.image-edit-cad-surface [hidden],.image-edit-cad-actions [hidden],.image-edit-cad-menu[hidden] { display:none !important; }
@media(max-width:650px) {
    #cadExportPanel input:not([type="checkbox"]),#cadExportPanel select { height:40px !important; min-height:40px !important; }
    #cadExportPanel button,.image-edit-cad-actions button { min-height:40px; }
    #imageEditModal.cad-tool-active .image-edit-panel {
        grid-template-columns:minmax(0,1fr);
        grid-template-rows:auto minmax(0,26vh) minmax(0,1fr) auto;
        grid-template-areas:"header" "settings" "preview" "actions";
    }
    #cadExportPanel { display:block; overflow:auto; scrollbar-width:none; }
    #cadExportPanel .cad-options { overflow:visible; }
}

#cadExportPanel .cad-preview-tools:has([data-cad="viewLineArt"]:not([hidden])) { grid-template-columns:repeat(4,minmax(0,1fr)); }
#cadExportPanel .cad-preview-tools:has([data-cad="viewLineArt"]:not([hidden])) [data-cad="patternSelect"],#cadExportPanel .cad-preview-tools:has([data-cad="viewLineArt"]:not([hidden])) [data-cad="patternUndo"] { grid-column:span 2; }
