:root{color-scheme:light;--bg: #f3f5f2;--panel: #ffffff;--panel-2: #eef4f1;--ink: #202522;--muted: #69736d;--line: #d6ded8;--accent: #287f6f;--accent-2: #d58b28;--danger: #b8483b;--canvas: #fbfcf8;--shadow: 0 14px 34px rgba(35, 43, 38, .12);--radius: 8px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink)}[hidden]{display:none!important}button,input{font:inherit}.app-shell{display:grid;grid-template-columns:290px minmax(420px,1fr) 320px;height:100vh;min-height:680px}.sidebar{background:var(--panel);border-color:var(--line);border-style:solid;overflow:auto;padding:18px}.left-panel{border-width:0 1px 0 0}.right-panel{border-width:0 0 0 1px}.order-panel-header{align-items:center;border-top:0;display:flex;justify-content:space-between;padding-top:0}.order-panel-header h2{margin-bottom:0}.order-actions{display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.order-actions .tool-button{min-width:0}.brand{align-items:center;display:flex;gap:12px;margin-bottom:12px}.mark{align-items:center;background:var(--ink);border-radius:var(--radius);color:#fff;display:grid;font-size:13px;font-weight:800;height:42px;justify-items:center;width:42px}h1,h2,p{margin:0}h1{font-size:20px;line-height:1.1}.brand p,.empty-state{color:var(--muted);font-size:13px;line-height:1.45}.project-name-field{display:grid;gap:6px;margin-bottom:18px}.project-name-field span{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.tool-section{border-top:1px solid var(--line);padding:16px 0}.tool-section h2{font-size:12px;letter-spacing:0;margin-bottom:10px;text-transform:uppercase}.collapsible-section summary{align-items:center;color:var(--ink);cursor:pointer;display:flex;font-size:12px;font-weight:700;justify-content:space-between;letter-spacing:0;list-style:none;margin-bottom:10px;text-transform:uppercase}.collapsible-section summary::-webkit-details-marker{display:none}.collapsible-section summary:after{color:var(--muted);content:"▾";font-size:13px;line-height:1;transition:transform .12s ease}.collapsible-section:not([open]) summary{margin-bottom:0}.collapsible-section:not([open]) summary:after{transform:rotate(-90deg)}.collapsible-section summary:focus-visible{border-radius:4px;outline:2px solid rgba(40,127,111,.16);outline-offset:3px}.button-grid{display:grid;gap:8px;grid-template-columns:1fr 1fr}.button-grid.compact{grid-template-columns:1fr}.template-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(150px,1fr))}.tool-button{align-items:center;background:#f8faf6;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);cursor:pointer;display:flex;gap:8px;justify-content:center;min-height:42px;padding:8px 10px;transition:background .12s ease,border-color .12s ease,transform .12s ease}.tool-button:hover,.tool-button:focus-visible{background:var(--panel-2);border-color:#b8c9bf;outline:0}.tool-button:active{transform:translateY(1px)}.tool-button.danger{color:var(--danger)}.tool-button.active{background:#e7f3f0;border-color:var(--accent);color:var(--accent)}.icon{font-size:19px;line-height:1}.preset-list{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.preset-card{align-items:center;background:#f8faf6;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);cursor:grab;display:grid;gap:7px;grid-template-columns:32px minmax(0,1fr);min-height:50px;padding:8px;text-align:left}.preset-card:hover,.preset-card:focus-visible{background:var(--panel-2);border-color:#b8c9bf;outline:0}.preset-card:active{cursor:grabbing}.preset-card span:last-child{font-size:13px;font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.piece-preview{background:#f4d7a8;border:2px solid var(--accent);display:block;justify-self:center}.piece-preview.vertical{height:28px;width:9px}.piece-preview.vertical.slim{height:24px}.piece-preview.horizontal{height:9px;width:28px}.piece-preview.panel{height:22px;width:28px}.piece-preview.panel.front{background:#d8ece8;border-style:double}.field{display:grid;gap:6px;margin-bottom:10px}.field span,.toggle-row{color:var(--muted);font-size:13px}.field-label-with-swatch{align-items:center;display:flex;gap:7px}.material-label-swatch{border:1px solid rgba(32,37,34,.24);border-radius:4px;display:inline-block;height:14px;width:14px}.input-row{align-items:center;display:grid;gap:8px;grid-template-columns:1fr auto}input[type=number],input[type=text],select{background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-height:38px;padding:8px 10px;width:100%}.native-material-input{display:none}.material-select{position:relative}.material-select-button,.material-select-option{align-items:center;background:#fff;border:1px solid var(--line);color:var(--ink);cursor:pointer;display:grid;font:inherit;grid-template-columns:22px 1fr;min-height:38px;text-align:left;width:100%}.material-select-button{border-radius:var(--radius);gap:8px;padding:8px 10px}.material-select-button:focus{border-color:var(--accent);outline:2px solid rgba(40,127,111,.16)}.material-select-list{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);left:0;margin-top:5px;max-height:254px;overflow:auto;position:absolute;right:0;z-index:20}.material-select-option{border-width:0 0 1px;gap:9px;padding:8px 10px}.material-select-option:last-child{border-bottom:0}.material-select-option:hover,.material-select-option.selected{background:#eef4f1}.material-select-option-copy{display:grid;gap:2px;min-width:0}.material-select-option-copy strong,.material-select-option-copy small,.material-select-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-select-option-copy strong{font-size:13px}.material-select-option-copy small{color:var(--muted);font-size:11px}.material-select-swatch{border:1px solid rgba(32,37,34,.2);border-radius:4px;display:block;height:22px;width:22px}.material-select-swatch.mixed{border-style:dashed}input[type=color]{background:#fff;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;height:38px;padding:4px;width:100%}input:focus{border-color:var(--accent);outline:2px solid rgba(40,127,111,.16)}input:disabled,select:disabled{background:#eef1ed;color:var(--muted);cursor:not-allowed}.toggle-row{align-items:start;display:flex;gap:8px;line-height:1.35;margin:10px 0}.workspace{display:grid;grid-template-rows:auto 1fr;min-width:0;position:relative}.canvas-wrap{min-height:0;position:relative}.template-chooser{background:#fffffff0;border:1px solid rgba(35,43,38,.16);border-radius:var(--radius);box-shadow:0 16px 38px #232b2624;display:grid;gap:12px;left:50%;max-width:min(460px,calc(100% - 32px));padding:16px;position:absolute;top:50%;transform:translate(-50%,-50%);width:460px;z-index:4}.template-chooser h2{font-size:14px;letter-spacing:0;margin:0;text-transform:uppercase}.template-chooser[hidden]{display:none}.measure-rename-popover{background:#fff;border:1px solid rgba(35,43,38,.16);border-radius:var(--radius);box-shadow:0 12px 34px #232b262e;display:grid;gap:8px;left:12px;padding:10px;position:absolute;top:12px;width:240px;z-index:5}.measure-rename-popover[hidden]{display:none}.measure-rename-actions{display:flex;gap:8px;justify-content:flex-end}.measure-rename-actions .inline-action{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);margin-top:0;min-height:32px;padding:0 10px}.measure-rename-actions .primary-action{background:var(--accent);border-color:var(--accent);color:#fff}.topbar{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:10px;justify-content:space-between;min-height:54px;padding:10px 14px}.status-cluster{align-items:center;display:flex;gap:10px;min-width:0}.status-pill{background:#fff;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:13px;overflow:hidden;padding:7px 11px;text-overflow:ellipsis;white-space:nowrap}.top-actions{align-items:center;display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.icon-button{align-items:center;background:#f8faf6;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);cursor:pointer;display:grid;font-size:16px;height:32px;justify-items:center;line-height:1;padding:0;transition:background .12s ease,border-color .12s ease,transform .12s ease;width:32px}.icon-button:hover,.icon-button:focus-visible{background:var(--panel-2);border-color:#b8c9bf;outline:0}.icon-button:active{transform:translateY(1px)}.icon-button:disabled{color:#a8b0aa;cursor:not-allowed;opacity:.65}.icon-button.danger{color:var(--danger)}.icon-button.active{background:#e7f3f0;border-color:var(--accent);color:var(--accent)}.icon-button.csv-button{font-size:9px;font-weight:800;gap:1px;grid-template-rows:18px auto;letter-spacing:0}.icon-button.csv-button .toolbar-icon{height:17px;width:17px}.toolbar-icon{fill:none;height:20px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:20px}.toolbar-separator{background:var(--line);display:block;height:24px;margin:0 2px;width:1px}.hidden-file-input{display:none}.notification-toast{background:var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);color:#fff;font-size:13px;font-weight:650;max-width:min(320px,calc(100% - 32px));overflow:hidden;padding:10px 12px;position:absolute;right:16px;text-overflow:ellipsis;top:64px;white-space:nowrap;z-index:8}.notification-toast[hidden]{display:none}#sketchCanvas{background:var(--canvas);display:block;height:100%;touch-action:none;width:100%}#view3dCanvas{background:var(--canvas);cursor:grab;display:none;height:100%;touch-action:none;width:100%}.canvas-wrap[data-view="3d"] #sketchCanvas,.canvas-wrap[data-view="3d"] .anchor-overlay,.canvas-wrap[data-view="3d"] .viewport-overlay{display:none}.canvas-wrap[data-view="3d"] #view3dCanvas{display:block}.viewport-overlay{align-items:center;background:#fffffff0;border:1px solid rgba(31,102,89,.72);bottom:26px;box-shadow:0 8px 20px #232b261f;display:block;left:16px;padding:14px;pointer-events:none;position:absolute;width:146px}.anchor-overlay{top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute;z-index:3}.anchor-chip{align-items:center;background:#fff;border:1px solid rgba(65,82,163,.58);border-radius:999px;box-shadow:0 5px 14px #232b2624;color:#4152a3;cursor:pointer;display:grid;height:30px;justify-items:center;line-height:1;padding:0;pointer-events:auto;position:absolute;transform:translate(-50%,-100%);width:30px}.anchor-chip:hover,.anchor-chip:focus-visible{background:#f3f5ff;outline:0}.anchor-chip-preview{pointer-events:none}.anchor-chip-icon{fill:none;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:18px}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.scale-glyph{align-content:center;color:var(--ink);display:grid;font-size:12px;gap:6px}.scale-line{border-bottom:2px solid var(--ink);display:block;height:11px;max-width:90px;min-width:28px;position:relative;width:var(--scale-width, 64px)}.scale-line:before,.scale-line:after{background:var(--ink);bottom:-5px;content:"";height:10px;position:absolute;width:2px}.scale-line:before{left:0}.scale-line:after{right:0}.scale-label,.zoom-label{line-height:1.1}.zoom-label{color:var(--muted)}#sketchCanvas.measure-mode{cursor:crosshair}#sketchCanvas.drop-ready{outline:2px solid rgba(40,127,111,.45);outline-offset:-2px}.inspector{display:grid;gap:8px}.two-col{display:grid;gap:8px;grid-template-columns:1fr 1fr}.edge-fieldset{border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:8px;grid-template-columns:1fr 1fr;margin:4px 0 0;padding:10px}.edge-fieldset legend{color:var(--muted);font-size:13px;padding:0 4px}.check-chip{align-items:center;background:#f8faf6;border:1px solid var(--line);border-radius:var(--radius);display:flex;gap:7px;min-height:34px;padding:6px 8px}.check-chip span{color:var(--ink);font-size:13px}.check-chip.full-row{margin-top:10px}.layout-anchor-fieldset{border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:8px;margin:10px 0 0;padding:10px}.layout-anchor-fieldset legend{color:var(--muted);font-size:13px;padding:0 4px}.layout-anchor-controls,.layout-anchor-actions,.layout-anchor-balance-grid{display:grid;gap:8px;grid-template-columns:1fr 1fr}.layout-anchor-balance-grid .full-row{grid-column:1 / -1}.compact-field{margin-bottom:0}.anchor-summary{color:var(--muted);font-size:12px;line-height:1.35;overflow-wrap:anywhere}.measure-list,.cut-list,.material-list{display:grid;gap:8px}.metric-card,.cut-card,.warning-card,.material-card{background:#f8faf6;border:1px solid var(--line);border-radius:var(--radius);padding:10px}.metric-card strong,.cut-card strong,.warning-card strong{display:block;font-size:13px;margin-bottom:5px}.metric-card span,.cut-card span,.warning-card span{color:var(--muted);display:block;font-size:13px;line-height:1.35}.cut-card .count{color:var(--accent);font-weight:800}.cut-card-pieces{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.cut-piece-button{background:#fff;border:1px solid var(--line);border-radius:999px;color:var(--accent);cursor:pointer;font:inherit;font-size:12px;line-height:1.1;min-height:28px;max-width:100%;overflow:hidden;padding:5px 8px;text-overflow:ellipsis;white-space:nowrap}.cut-piece-button:hover,.cut-piece-button:focus-visible{background:#e7f3f0;border-color:var(--accent);outline:0}.warning-card{background:#fff7f5;border-color:#e7b7ae}.warning-card strong{color:var(--danger)}.material-card{align-items:center;display:grid;gap:9px;grid-template-columns:22px 1fr}.material-form{display:grid;gap:8px;margin-bottom:10px}.material-input-row{align-items:end;display:grid;gap:8px;grid-template-columns:1fr auto}.material-input-row .field{margin-bottom:0}.material-input-row .tool-button{min-height:38px;min-width:74px}.material-swatch{border:1px solid rgba(32,37,34,.2);border-radius:4px;display:block;height:22px;width:22px}.material-card strong{font-size:13px}.inline-action{background:transparent;border:0;color:var(--danger);cursor:pointer;font-size:12px;margin-top:6px;padding:0}@media print{@page{margin:10mm}html,body{background:#fff;height:100%;overflow:hidden}body{margin:0}.app-shell{display:block;height:100vh;min-height:0}.sidebar,.topbar,.notification-toast,.template-chooser,.measure-rename-popover,.anchor-overlay,.viewport-overlay,#view3dCanvas{display:none!important}.workspace,.canvas-wrap{align-content:start;display:grid;height:100vh;justify-content:center;min-height:0;overflow:hidden;width:100%}#sketchCanvas{background:#fff;display:block!important;height:min(100vh,calc(100vw / var(--print-sketch-ratio, 1.5)));outline:0!important;touch-action:auto;width:min(100%,calc(100vh * var(--print-sketch-ratio, 1.5)))}}@media(max-width:1040px){.app-shell{grid-template-columns:250px minmax(360px,1fr)}.right-panel{border-left:0;border-top:1px solid var(--line);grid-column:1 / -1;max-height:320px}.topbar{align-items:flex-start;flex-direction:column}.top-actions{justify-content:flex-start}}@media(max-width:760px){.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh}.sidebar{border-width:0 0 1px 0}.workspace{min-height:540px}}
