/* All layout overrides are opt-in. Classic retains its original geometry. */
#workspace-shell[hidden], [data-workspace-toggle][hidden] { display: none !important; }
.workspace-override-status, #workspace-discard-overrides { display: none; }
.workspace-beta .workspace-override-status { display: block; }
.workspace-beta #workspace-discard-overrides:not([hidden]) { display: inline-block; }
#workspace-geometry[hidden], #workspace-selection-cut[hidden], #workspace-multiple-geometry[hidden] { display: none !important; }
#workspace-selection-context { margin-bottom: 14px; }
#workspace-selection-title { display: block; font-size: 16px; text-transform: capitalize; }
#workspace-selection-note { color: #b6c4d7; font-size: 12px; margin: 4px 0 12px; }
.workspace-selection-tabs { display: flex; gap: 4px; padding: 3px; border: 1px solid var(--border-color); border-radius: 6px; background: var(--background); }
.workspace-selection-tabs button { flex: 1; padding: 7px 10px; border: none; border-radius: 4px; background: transparent; color: #b6c4d7; font: inherit; font-size: 13px; cursor: pointer; }
.workspace-selection-tabs button[aria-pressed="true"] { background: #2b4264; color: #e0edff; }
.workspace-selection-tabs button:disabled { opacity: .5; cursor: default; }
.workspace-beta #workspace-geometry.workspace-multiple #shape-params-section { display: none; }
#workspace-multiple-geometry, .workspace-selection-help { font-size: 12px; line-height: 1.5; color: #b6c4d7; margin: 0 0 12px; }
.workspace-beta #shape-params-section { margin: 0; border: none; border-radius: 0; background: transparent; }
.workspace-beta #shape-params-section > summary { padding: 8px 0 12px; background: transparent; font-size: 13px; }
.workspace-beta #shape-params-section > .param-content { padding: 0; }
.workspace-beta #shape-params .param-group:not(.hidden) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.workspace-beta #shape-params .param-group > * { min-width: 0; }
.workspace-beta #shape-params .param-group > :not(label),
.workspace-beta #shape-params .param-group > label:has(textarea),
.workspace-beta #shape-params .param-group > label:has(select),
.workspace-beta #shape-params .param-group > label:has(input[type="text"]),
.workspace-beta #shape-params .param-group > .checkbox-label { grid-column: 1 / -1; }
.workspace-beta #shape-params .param-group > label { margin: 0; gap: 4px; font-size: 12px; }
.workspace-beta #shape-params label > span, .workspace-beta #shape-overrides-details label > span { font-size: 13px; margin-bottom: 0; }
.workspace-beta #shape-params input:not([type="checkbox"]), .workspace-beta #shape-params select,
.workspace-beta #workspace-override-host input { min-height: 34px; padding: 6px 8px; font-size: 14px; min-width: 0; }
.workspace-beta #shape-params .input-with-unit .unit-label,
.workspace-beta #workspace-override-host .input-with-unit .unit-label { padding: 6px; font-size: 12px; min-width: 48px; }
.workspace-beta #shape-overrides-details { border: none; background: transparent; margin: 0 0 16px; }
.workspace-beta #shape-overrides-details > summary { font-size: 13px; padding: 8px 0; }
.workspace-beta #shape-overrides-details .override-fields { padding: 4px 0; gap: 12px; }
.workspace-beta #shape-overrides-details label { margin: 0; gap: 4px; font-size: 12px; }
.workspace-beta .workspace-override-status { color: #b6c4d7; margin-top: 0; font-size: 11px; font-weight: 400; }
.workspace-beta #shape-overrides-details .override-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.workspace-beta #shape-overrides-details .override-actions button { flex: 1 1 auto; padding: 8px; min-height: 34px; font-size: 12px; }
.workspace-beta #apply-shape-overrides-btn { background: var(--primary-color); color: white; }
.workspace-beta .override-actions button:disabled { opacity: .45; cursor: not-allowed; }
body.workspace-beta.basic-mode #shape-toolpath-section:not(.hidden) { display: block !important; }
#desktop-workspace-menu { position: relative; }
#desktop-workspace-menu > summary { cursor: pointer; list-style: none; }
#desktop-workspace-menu > div { position: absolute; top: calc(100% + 8px); right: 0; min-width: 220px; padding: 10px; background: var(--surface); border: 1px solid var(--border-color); border-radius: 8px; z-index: 150; }
#desktop-workspace-menu p { margin: 8px 4px 0; color: var(--text-secondary); font-size: 12px; }
.workspace-preference { margin-top: 12px; }
.workspace-beta #main-app { max-width: none; grid-template-columns: 220px minmax(0, 1fr) 350px; grid-template-rows: auto auto auto auto minmax(0, 1fr) auto; }
.workspace-beta #workspace-shell { display: contents; }
.workspace-beta .app-header { grid-column: 1 / -1; grid-row: 1; }
.workspace-beta #workspace-project { grid-column: 1 / -1; grid-row: 2; display: flex; align-items: center; gap: 12px; padding: 8px 16px; border-bottom: 1px solid var(--border-color); background: var(--surface); min-width: 0; }
.workspace-tag { color: #9cbcf9; font-size: 11px; font-weight: 600; letter-spacing: .06em; white-space: nowrap; }
#workspace-project-controls { flex: 1; min-width: 0; }
.workspace-beta #project-bar { margin: 0; padding: 0; background: none; border: none; gap: 8px; }
.workspace-beta #project-bar .project-label { display: none; }
.workspace-beta #project-name { color: var(--text-primary); }
.workspace-beta #workspace-project > button { width: auto; flex: 0 0 auto; white-space: nowrap; font-size: 13px; padding: 8px 12px; }
.workspace-beta #project-bar > * { flex-shrink: 0; }
.workspace-beta #project-name { max-width: 180px; }
.workspace-beta #workspace-context { grid-column: 1 / -1; grid-row: 3; border-bottom: 1px solid var(--border-color); }
.workspace-beta #job-summary { border: none; display: flex; align-items: center; gap: 24px; padding: 8px 16px; }
.workspace-beta .job-summary-heading { margin: 0; gap: 12px; }
.workspace-beta .job-summary-heading > span:first-child { display: none; }
.workspace-beta .job-summary-values { display: flex; align-items: center; gap: 24px; flex: 1; }
.workspace-beta .job-summary-values > div { display: flex; align-items: baseline; gap: 8px; }
.workspace-beta .job-summary-values dd { margin: 0; }
.workspace-beta .shape-selector { grid-column: 2; grid-row: 4; padding: 8px; gap: 6px; justify-content: flex-start; flex-wrap: wrap; }
.workspace-beta .shape-btn { width: 34px; height: 34px; border-radius: 5px; }
.workspace-beta .shape-selector .wizard-launch-btn { padding: 7px 10px; }
.workspace-beta .preview-container { grid-column: 2; grid-row: 5; min-height: 0; height: 100%; max-height: none; }
.workspace-beta .trace-image-bar { grid-column: 1 / -1; grid-row: 6; margin: 0; padding: 8px 12px; flex-wrap: wrap; }
.workspace-beta .sidebar-tabs { display: none; }
#workspace-tools { grid-column: 2; grid-row: 4; min-width: 0; background: var(--surface); border-bottom: 1px solid var(--border-color); }
.workspace-tools-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; padding: 7px 8px; border-bottom: 1px solid #34445b; }
#workspace-tools-quick { margin-left: auto; }
#workspace-tools #workspace-tool-tabs button[aria-pressed="true"] { background: #2b4264; border-color: #58739a; }
#workspace-tools:not([data-canvas-mode="draw"]) .shape-btn[data-shape].active { background: #25354b; border-color: #42536c; color: #d4dfef; }
#workspace-tool-tabs, #workspace-tools-quick { display: flex; align-items: center; gap: 3px; }
#workspace-tools button { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; gap: 5px; width: auto; height: auto; min-height: 32px; padding: 5px 8px; border: 1px solid #42536c; border-radius: 4px; background: #25354b; color: #d4dfef; font: inherit; font-size: 12px; cursor: pointer; opacity: 1; }
#workspace-tools button svg { width: 16px; height: 16px; flex-shrink: 0; }
#workspace-tools button:disabled { opacity: .4; cursor: not-allowed; }
#workspace-tools button:hover:not(:disabled) { background: #344c6c; }
#workspace-tools button.active, #workspace-tools button[aria-pressed="true"] { background: #245bcc; border-color: #4c87ed; color: white; }
#workspace-tools button:focus-visible, #workspace-tools summary:focus-visible { outline: 2px solid #8fbaff; outline-offset: 2px; }
#workspace-tool-tabs button { border-color: transparent; background: transparent; padding: 6px 9px; }
#workspace-tools-quick button { min-width: 30px; padding: 5px; }
.workspace-tool-panel { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 8px; }
.workspace-tool-panel[hidden] { display: none !important; }
#workspace-tools .shape-selector { display: contents; }
#workspace-tools .shape-separator, #workspace-tools .wizard-separator { display: none; }
.workspace-tool-label { text-transform: capitalize; white-space: nowrap; }
.workspace-tool-more { width: 100%; }
.workspace-tool-more > summary { cursor: pointer; color: #aabdd8; font-size: 12px; padding: 5px 0; width: fit-content; }
.workspace-tool-more > div { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 6px; }
#workspace-tools .control-group { flex-wrap: wrap; gap: 6px; }
#workspace-tools .control-group > .group-toggle { display: none; }
#workspace-tools .control-group > .group-buttons { display: flex !important; position: static; flex-direction: row; flex-wrap: wrap; width: auto; min-width: 0; gap: 6px; padding: 0; margin: 0; transform: none; border: none; box-shadow: none; background: transparent; }
#workspace-tools #align-group { width: 100%; border-top: 1px solid #34445b; padding-top: 8px; }
#workspace-tools #align-group::before { content: 'Align to'; color: #aabdd8; font-size: 12px; width: 100%; }
#workspace-tools .align-flyout-row { display: flex; flex-wrap: wrap; gap: 6px; }
#workspace-tools .align-flyout-row .control-divider-v { display: none; }
#workspace-tools #canvas-view-bar { position: static; display: flex; flex-wrap: wrap; width: 100%; max-width: none; transform: none; border: none; border-radius: 0; border-top: 1px solid #34445b; margin: 2px 0 0; padding: 8px 0 0; background: transparent; box-shadow: none; gap: 6px; }
#workspace-tools .view-bar-label { display: none; }
#workspace-tool-status { padding: 0 8px 7px; color: #aabdd8; font-size: 11px; }
body.workspace-beta.basic-mode #workspace-tools-edit .workspace-tool-more { display: none; }
/* Keep the empty tray's bottom anchor for the optional touch toolbar. */
.workspace-beta .preview-controls { height: 0; padding: 0; border: none; background: none; }
.workspace-beta .preview-controls > * { display: none !important; }
.workspace-beta .preview-hint { top: 10px; }
#workspace-browser { grid-column: 1; grid-row: 4 / 6; overflow-y: auto; min-height: 0; background: var(--surface); border-right: 1px solid var(--border-color); }
.workspace-browser-heading { padding: 16px 14px 8px; color: #acbdd4; font-size: 11px; font-weight: 600; letter-spacing: .08em; }
#workspace-nav { display: grid; gap: 3px; padding: 0 8px 14px; border-bottom: 1px solid var(--border-color); }
#workspace-nav button { text-align: left; padding: 9px 12px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: #c4cfdf; font: inherit; font-size: 14px; cursor: pointer; }
#workspace-nav button:hover { background: var(--surface-light); color: var(--text-primary); }
#workspace-nav button[aria-pressed="true"] { background: #233c63; border-color: #35578a; color: #e0edff; }
#workspace-parts { padding: 8px; }
.workspace-beta #workspace-parts > #layer-panel, .workspace-beta #workspace-parts > #shape-list-panel { display: none; }
.workspace-tree ul { list-style: none; padding: 0; margin: 0; }
.workspace-tree button, .workspace-tree summary { font: inherit; font-size: 12px; color: #c4cfdf; background: transparent; border: 1px solid transparent; border-radius: 4px; cursor: pointer; padding: 4px; min-height: 28px; }
.workspace-tree button:hover, .workspace-tree summary:hover { background: #2b3d55; color: white; }
.workspace-tree button:focus-visible, .workspace-tree summary:focus-visible { outline: 2px solid #60a5fa; outline-offset: -2px; }
.workspace-tree button:disabled { opacity: .55; cursor: default; }
.workspace-tree-heading, .workspace-tree-footer { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 4px; font-size: 12px; }
.workspace-tree-heading > button { color: #9cbcf9; font-size: 20px; width: 28px; }
.workspace-tree-footer { color: #a9b9cf; border-top: 1px solid var(--border-color); margin-top: 8px; }
.workspace-tree-layer { position: relative; margin-top: 8px; border: 1px solid #384961; border-radius: 5px; overflow: hidden; }
.workspace-tree-layer-head { display: flex; align-items: center; gap: 2px; padding: 3px 28px 0 2px; }
.workspace-tree-layer-head > button:first-child { width: 22px; flex: 0 0 22px; font-size: 19px; }
.workspace-tree .workspace-tree-layer-name { flex: 1; min-width: 0; text-align: left; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-tree-layer-name[aria-pressed="true"] { color: #bad4ff; }
.workspace-tree-count { color: #a9b9cf; font-size: 11px; }
.workspace-tree-layer-controls { display: flex; align-items: center; gap: 2px; padding: 0 5px 5px; }
.workspace-tree-layer-controls > button { font-size: 11px; padding: 3px; }
.workspace-tree-layer-controls > button[aria-pressed="true"] { color: #dce9fa; }
.workspace-tree-layer-status { margin-right: auto; padding-left: 5px; border-left: 3px solid; font-size: 10px; color: #9cbcf9; min-height: 12px; }
.workspace-tree-layer-menu > summary { position: absolute; top: 3px; right: 3px; width: 24px; text-align: center; list-style: none; }
.workspace-tree-layer-menu > summary::-webkit-details-marker { display: none; }
.workspace-tree-layer-menu[open] { padding: 8px; border-top: 1px solid var(--border-color); background: #162235; }
.workspace-tree-layer-menu label { gap: 4px; font-size: 11px; }
.workspace-tree-layer-menu input[type="text"] { width: 100%; min-width: 0; padding: 5px; font-size: 13px; }
.workspace-tree-layer-menu input[type="color"] { width: 100%; height: 28px; padding: 2px; }
.workspace-tree-layer-form > button { margin: 4px 0 8px; background: #2b4264; width: 100%; }
.workspace-tree-layer-actions { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 6px; }
.workspace-tree .workspace-tree-shapes { margin: 0 4px 4px 12px; border-left: 1px solid #384961; padding-left: 4px; }
.workspace-tree-shapes[hidden] { display: none !important; }
.workspace-tree-shape { display: flex; align-items: center; gap: 1px; border: 1px solid transparent; border-radius: 4px; margin-bottom: 2px; }
.workspace-tree-shape.selected { background: #233c63; border-color: #4978b9; }
.workspace-tree .workspace-tree-select { display: flex; align-items: center; flex: 1; min-width: 0; gap: 6px; text-align: left; padding: 7px 3px; }
.workspace-tree-icon { width: 16px; flex: 0 0 16px; color: #80aaff; }
.workspace-tree-icon svg { width: 16px; height: 16px; }
.workspace-tree-shape-text { display: block; min-width: 0; }
.workspace-tree-shape-text strong, .workspace-tree-shape-text small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.workspace-tree-shape-text strong { font-size: 12px; text-transform: capitalize; }
.workspace-tree-shape-text small { font-size: 10px; color: #a9b9cf; margin-top: 3px; }
.workspace-tree-empty { padding: 8px 4px; font-size: 11px; line-height: 1.5; color: #a9b9cf; }
.workspace-beta #layer-panel, .workspace-beta #shape-list-panel { border: none; border-radius: 0; margin: 0 0 10px; background: transparent; }
.workspace-beta .shape-list { max-height: none; }
.workspace-beta .layer-item { flex-wrap: wrap; gap: 4px; padding: 6px; }
.workspace-beta .layer-name { min-width: 48px; }
.workspace-beta .shape-item { padding: 8px; }
#workspace-inspector { grid-column: 3; grid-row: 4 / 6; display: flex; flex-direction: column; min-height: 0; min-width: 0; background: var(--surface); border-left: 1px solid var(--border-color); }
.workspace-inspector-heading { padding: 14px 16px; border-bottom: 1px solid var(--border-color); }
#workspace-heading { font-size: 17px; margin: 0; }
#workspace-description { font-size: 12px; color: #b6c4d7; margin: 4px 0 0; }
#workspace-panels { overflow-y: auto; min-height: 0; flex: 1; padding: 12px; }
.workspace-panel[hidden] { display: none !important; }
.workspace-beta .workspace-panel > .param-section { border-radius: 5px; margin: 0 0 12px; }
.workspace-beta .workspace-panel > .tp-section { margin: 0 0 16px; }
.workspace-beta #generate-section { padding: 12px; position: static; }
.workspace-beta .output-stats { grid-template-columns: 1fr 1fr; }
.workspace-beta .output-stats > div:first-child { grid-column: 1 / -1; }
.workspace-beta #workspace-panel-nesting::before { content: 'Nesting controls are available in Advanced mode.'; display: none; color: #b6c4d7; font-size: 13px; }
body.workspace-beta.basic-mode #workspace-panel-nesting::before { display: block; }
@media (min-width: 1600px) {
    .workspace-beta #main-app { grid-template-columns: 250px minmax(0, 1fr) 390px; }
}
@media (max-width: 1199px) {
    .workspace-beta #main-app { grid-template-columns: 175px minmax(0, 1fr) 320px; }
    .workspace-beta .workspace-tag { display: none; }
    .workspace-beta #job-summary, .workspace-beta .job-summary-values { gap: 12px; }
    .workspace-beta .job-summary-values > div { gap: 4px; }
    .workspace-beta #workspace-project { gap: 8px; padding: 8px; }
    .workspace-beta #workspace-project > button { padding: 8px; }
}
