:root{--hiviz:oklch(0.925 0.22 125);--hiviz-deep:oklch(0.86 0.21 122);--hiviz-orange:oklch(0.76 0.205 55);--reflective:oklch(0.955 0.005 240);--ink-soft:oklch(0.235 0.025 255);--stone-50:oklch(0.985 0.004 240);--stone-100:oklch(0.96 0.006 240);--stone-200:oklch(0.91 0.008 240);--stone-300:oklch(0.84 0.01 240);--stone-500:oklch(0.585 0.012 245);--stone-700:oklch(0.37 0.014 250);--stone-900:oklch(0.18 0.022 255);--status-go:oklch(0.74 0.18 145);--destructive:oklch(0.577 0.245 27.325);--radius:0.625rem;--font-display:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;--font-sans:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ink:#1a1a1a;--muted:#5c5c5c;--quiet:#8a8a8a;--line:#e2e2e2;--line-strong:#cccccc;--paper:#f5f5f4;--panel:#ffffff;--panel-soft:#fafafa;--cinnabar:#d63f1a;--cinnabar-soft:#d63f1a14;--teal:#2e7d9b;--green:#3d8b37;--amber:#e8a317;--violet:#8b5cf6;--shadow:0 18px 46px rgba(20,20,20,0.1);--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;color-scheme:light}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);letter-spacing:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.app-shell{min-height:100vh;display:flex;flex-direction:column}.workspace-body{position:relative;flex:1 1;min-height:0;display:flex;flex-direction:column}.topbar{height:54px;align-items:center;justify-content:space-between;gap:16px}.topbar,.workspace-tabs{display:flex;padding:0 18px;border-bottom:1px solid var(--line);background:var(--panel)}.workspace-tabs{height:42px;align-items:stretch;gap:0}.workspace-tab{min-width:96px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--quiet);font-size:12px;font-weight:700}.workspace-tab.active{border-bottom-color:var(--cinnabar);color:var(--cinnabar)}.material-variant-tabs{padding:12px 18px 0;border-bottom:1px solid var(--line);background:var(--panel)}.variant-comparison-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.variant-total-chip{display:flex;flex-direction:column;gap:2px;min-width:120px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font-size:11px}.variant-tab-strip{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.variant-tab{border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--quiet);font-size:12px;font-weight:600;padding:6px 12px}.variant-tab.active{border-color:var(--cinnabar);color:var(--cinnabar)}.variant-tab.add-variant-tab{border-style:dashed}.variant-editor,.variant-tab-actions{margin:10px 0 12px}.variant-apply-all{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:10px 0}.variant-piece-grid{display:grid;grid-gap:8px;gap:8px;margin:10px 0}.variant-piece-row{display:grid;grid-template-columns:1fr minmax(220px,1fr);grid-gap:10px;gap:10px;align-items:center}.variant-editor-actions{display:flex;gap:10px}.variant-error{color:var(--cinnabar);font-size:12px}.brand-lockup{display:flex;align-items:baseline;gap:12px;min-width:0}.brand-title{font-size:15px;font-weight:700;white-space:nowrap}.quote-chip{color:var(--muted);font-size:12px;white-space:nowrap}.topbar-actions{display:flex;align-items:center;gap:8px}.icon-button,.mode-button,.primary-button,.secondary-button,.small-button{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:6px}.primary-button{background:var(--cinnabar);border-color:var(--cinnabar);color:white;height:34px;padding:0 13px;font-weight:700}.secondary-button{height:34px;padding:0 12px}.photo-capture{position:relative;display:flex;align-items:center}.photo-capture-button{display:inline-flex;align-items:center;gap:7px;font-weight:700}.photo-capture-error{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:min(280px,calc(100vw - 24px));padding:8px 10px;border:1px solid #efc3b8;border-radius:6px;background:#fff3ef;color:#7d220d;font-size:12px;font-weight:800;box-shadow:var(--shadow)}.drawing-import{position:relative;display:flex;align-items:center;gap:8px}.drawing-import-button{display:inline-flex;align-items:center;gap:7px;font-weight:700}.drawing-import-page{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--muted)}.drawing-import-page-label{font-weight:700}.drawing-import-page-input{width:44px;height:28px;padding:0 6px;border:1px solid var(--line);border-radius:5px;background:var(--panel);font-size:12px;font-weight:700}.drawing-import-error{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:min(280px,calc(100vw - 24px));padding:8px 10px;border:1px solid #efc3b8;border-radius:6px;background:#fff3ef;color:#7d220d;font-size:12px;font-weight:800;box-shadow:var(--shadow)}.drawing-review-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:rgba(32,28,24,.42);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.drawing-review-panel{width:min(720px,100%);max-height:min(88vh,900px);display:grid;grid-gap:14px;gap:14px;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:var(--shadow);overflow:auto}.drawing-review-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.drawing-review-header h2{font-size:18px;margin:0}.drawing-review-header p{margin:4px 0 0;color:var(--muted);font-size:13px}.drawing-review-mock-badge{padding:4px 8px;border:1px solid #c9d2df;border-radius:999px;background:#f4f7fb;color:#4a5d78;font-size:11px;font-weight:800;white-space:nowrap}.drawing-review-meta{margin:0;color:var(--muted);font-size:12px}.drawing-review-warning{padding:10px 12px;border:1px solid #ecd38f;border-radius:8px;background:#fff9e8;color:#5f4210;font-size:12px;font-weight:700}.drawing-review-warnings-details{margin-top:8px;font-weight:400}.drawing-review-warnings-details summary{cursor:pointer;font-weight:600}.drawing-review-warnings-list{margin:8px 0 0;padding-left:18px;display:grid;grid-gap:4px;gap:4px;font-weight:400;text-align:left}.drawing-review-warnings-list code{font-size:11px}.drawing-review-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.drawing-review-item{display:grid;grid-template-columns:88px 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.drawing-review-item.is-rejected{opacity:.55;background:var(--paper)}.drawing-review-item.is-low-confidence{border-color:#ecd38f}.drawing-review-item-body{display:grid;grid-gap:2px;gap:2px;min-width:0}.drawing-review-item-body strong{font-size:14px}.drawing-review-item-body span{font-size:12px;color:var(--muted)}.drawing-review-confidence.is-low{color:#7d220d;font-weight:800}.drawing-review-item-actions{display:flex;align-items:center}.drawing-review-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon-button{width:34px;height:34px;display:grid;place-items:center}.workspace-grid{flex:1 1;display:grid;grid-template-columns:272px minmax(480px,2fr) 320px;min-height:0}.cad-editor-layout,.workspace-body-cad-fullscreen{flex:1 1;min-height:0;display:flex;flex-direction:column}.cad-editor-layout{background:var(--paper)}.cad-editor-layout-fullscreen{min-height:calc(100vh - 54px)}.cad-editor-layout-embedded{min-height:min(72vh,900px)}.cad-editor-header{flex-shrink:0;border-bottom:1px solid var(--line);background:var(--panel)}.cad-editor-header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px}.cad-editor-header-label{font-size:13px;font-weight:700;color:var(--muted)}.cad-back-to-quote-link,.cad-open-editor-link{font-size:12px;text-decoration:none}.cad-editor-columns{flex:1 1;min-height:0;display:grid;grid-template-columns:220px minmax(0,1fr) 320px;overflow:hidden}.cad-editor-palette,.cad-editor-properties{min-height:0;overflow:auto;background:var(--panel);border-right:1px solid var(--line)}.cad-editor-properties{border-right:0;border-left:1px solid var(--line)}.cad-editor-canvas-column{min-width:0;min-height:0;display:flex;flex-direction:column;background:#efede6}.cad-canvas-host{flex:1 1;min-height:0;display:flex;flex-direction:column}.cad-editor-nl-bar{background:var(--panel-soft)}.cad-editor-nl-bar,.cad-editor-quote-summary{flex-shrink:0;border-top:1px solid var(--line)}.cad-editor-quote-summary{max-height:32vh;overflow:auto;background:var(--panel)}.cad-canvas-shell{flex:1 1;min-height:0;display:flex;flex-direction:column}.cad-canvas-shell-embedded{padding:12px}.cad-canvas-shell-embedded .piece-card{flex:1 1;min-height:0;width:100%;max-width:none;aspect-ratio:auto;display:flex;flex-direction:column}.cad-canvas-shell-fullscreen{min-height:0}.cad-canvas-shell-seam-pick .cad-canvas-viewport{outline:2px solid oklch(.76 .205 55);outline-offset:-2px;box-shadow:inset 0 0 0 1px oklch(.76 .205 55/.35)}.seam-pick-banner{position:absolute;top:8px;left:50%;z-index:12;transform:translateX(-50%);max-width:calc(100% - 24px);padding:8px 14px;border-radius:8px;border:1px solid oklch(.76 .205 55);background:oklch(.22 .04 55/.94);color:oklch(.92 .06 55);font-size:13px;font-weight:600;text-align:center;pointer-events:none}.seam-authoring-pick-hint{border-left:3px solid oklch(.76 .205 55);padding-left:10px;color:oklch(.76 .205 55);font-weight:600}.cad-canvas-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid rgba(68,64,60,.5);background:rgba(28,25,23,.95);color:#e7e5e4}.cad-canvas-header h1{margin:0;font-size:15px}.cad-canvas-header p{margin:2px 0 0;font-size:12px;color:#a8a29e}.cad-canvas-body{flex:1 1;min-height:0;display:flex;flex-direction:column}.cad-canvas-control-strip{flex-shrink:0;display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;padding:6px 10px;border-top:1px solid rgba(68,64,60,.45);background:rgba(20,20,20,.96)}.cad-canvas-body.placing-feature{cursor:crosshair}.spatial-shell{min-height:calc(100vh - 96px);display:grid;grid-template-columns:52px minmax(520px,1fr) 320px;background:var(--paper)}.spatial-tools{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-right:1px solid var(--line);background:var(--panel)}.rail-tool{width:40px;min-height:36px;border:1px solid transparent;background:transparent;color:var(--quiet);font-size:10px;font-weight:700}.rail-tool.active,.rail-tool:hover{border-color:var(--cinnabar);background:var(--cinnabar-soft);color:var(--cinnabar)}.rail-separator{width:28px;height:1px;margin:4px 0;background:var(--line)}.spatial-canvas{position:relative;display:grid;place-items:center;min-width:0;background:var(--paper)}.view-toggle{position:absolute;top:14px;left:14px;display:flex;z-index:1}.view-btn{height:32px;padding:0 12px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font-size:11px;font-weight:700}.view-btn+.view-btn{border-left:0}.view-btn.active{border-color:var(--cinnabar);background:var(--cinnabar-soft);color:var(--cinnabar)}.spatial-svg{width:min(880px,calc(100% - 48px));aspect-ratio:720/500;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}.spatial-piece-fill{fill:rgba(46,125,155,.1);stroke:var(--teal);stroke-width:2}.spatial-edge{cursor:pointer;stroke:var(--cinnabar);stroke-linecap:round;stroke-width:5}.spatial-edge.selected{stroke-width:9}.spatial-dim-label,.spatial-edge-label{fill:var(--muted);font-family:var(--mono);font-size:11px;font-weight:700;pointer-events:none}.spatial-vertex{fill:var(--panel);stroke:var(--line-strong);stroke-width:2}.spatial-feature{fill:white;stroke:var(--teal);stroke-dasharray:4 3;stroke-width:1.5}.spatial-feature-cooktop{stroke:var(--amber)}.spatial-feature-window-recess{fill:rgba(139,92,246,.08);stroke:var(--violet)}.spatial-right{display:flex;flex-direction:column;min-width:0;border-left:1px solid var(--line);background:var(--panel)}.module-view header,.spatial-right header{display:grid;grid-gap:3px;gap:3px;padding:14px 16px;border-bottom:1px solid var(--line)}.module-view header strong,.spatial-right header strong{font-size:14px}.module-view header span,.spatial-right header span{color:var(--muted);font-size:12px}.spatial-section{display:grid;grid-gap:7px;gap:7px;padding:14px 16px;border-bottom:1px solid var(--line)}.spatial-section h3{margin:0;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.spatial-edge-row,.spatial-row{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;align-items:center;min-height:32px;color:var(--muted);font-size:12px}.spatial-edge-row{grid-template-columns:32px 1fr auto;border:1px solid var(--line);background:var(--panel-soft);color:var(--ink);padding:7px 9px;text-align:left}.spatial-edge-row.active{border-color:var(--cinnabar);background:var(--cinnabar-soft)}.spatial-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:auto;padding:14px 16px;border-top:1px solid var(--line)}.module-view{min-height:calc(100vh - 96px);display:grid;grid-template-rows:auto 1fr;background:var(--panel)}.activity-feed,.module-table{display:grid;align-content:start;grid-gap:1px;gap:1px;padding:18px;background:var(--paper)}.activity-feed div,.module-row{grid-template-columns:44px 1fr 120px 100px 160px;grid-gap:12px}.activity-feed div,.module-row,.parts-list-header,.parts-list-row{display:grid;gap:12px;padding:12px;border:1px solid var(--line);background:var(--panel);font-size:13px}.parts-list-header,.parts-list-row{grid-template-columns:36px 44px minmax(120px,1fr) 100px 72px 120px minmax(140px,1.4fr) 72px;grid-gap:12px}.parts-list-checkbox{display:flex;align-items:center;justify-content:center}.parts-list-checkbox input{width:16px;height:16px;margin:0;cursor:pointer}.parts-list-checkbox-spacer{display:block}.bulk-update-toolbar{position:-webkit-sticky;position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-bottom:1px solid var(--line);background:var(--paper)}.bulk-update-toolbar-count{font-size:13px;color:var(--muted)}.bulk-update-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}.bulk-update-toolbar-delete:not(:disabled){color:var(--danger,#b42318);border-color:var(--danger,#b42318)}.bulk-profile-hint{margin:0 0 12px;font-size:13px;color:var(--muted)}.parts-list-header{position:-webkit-sticky;position:sticky;top:0;z-index:1;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--paper)}.parts-list-header span,.parts-list-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-preview{place-items:start center;padding-bottom:40px}.pdf-preview header{width:100%}.pdf-tab-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.pdf-tab-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.pdf-level-label{display:flex;flex-direction:column;gap:4px;font-size:12px}.pdf-level-label select{min-width:180px;padding:8px 10px;border:1px solid var(--line);background:var(--panel);font:inherit}.pdf-download{text-decoration:none;display:inline-flex;align-items:center}.pdf-preview-frame{width:min(794px,calc(100vw - 48px));height:min(1123px,70vh);margin-top:20px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}.pdf-missing-snapshot{width:min(720px,calc(100vw - 48px));margin-top:24px;padding:32px;border:1px solid var(--line);background:var(--panel)}.pdf-missing-snapshot p{margin:0 0 16px}.pdf-sheet{width:min(720px,calc(100vw - 48px));min-height:720px;margin-top:24px;padding:42px;border:1px solid var(--line);background:white;box-shadow:var(--shadow)}.pdf-sheet h1{margin:0 0 8px}.pdf-total{margin-top:40px;color:var(--cinnabar);font-family:var(--mono);font-size:24px;font-weight:700}.left-rail,.right-rail{min-height:calc(100vh - 54px);background:var(--panel);border-right:1px solid var(--line);overflow:auto}.right-rail{border-right:0;border-left:1px solid var(--line)}.canvas-stage{position:relative;min-width:0;min-height:calc(100vh - 54px);display:grid;grid-template-rows:1fr auto;background:#efede6}.canvas-stage-expanded{position:fixed;inset:54px 0 0;z-index:40;min-height:0;background:#efede6}.canvas-stage-main{position:relative;min-width:0;min-height:0;display:grid}.add-piece-bar{display:flex;align-items:center;gap:8px;padding:8px 0;flex-wrap:wrap}.add-piece-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;opacity:.7;margin-right:4px}.feature-palette{display:grid;grid-gap:8px;gap:8px;padding:10px 12px;margin-bottom:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.feature-palette-title{margin:0;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.feature-palette-hint{margin:0;font-size:12px;color:var(--muted)}.feature-palette-items{display:flex;flex-wrap:wrap;gap:8px}.feature-palette-item{display:grid;grid-gap:2px;gap:2px;min-height:44px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);text-align:left;cursor:pointer}.feature-palette-item strong{font-size:13px}.feature-palette-item span{font-size:11px;color:var(--muted)}.feature-palette-item.active{border-color:var(--cinnabar);background:var(--cinnabar-soft);color:var(--cinnabar)}.feature-palette-item.active span{color:var(--cinnabar)}.piece-editor-stage.placing-feature{cursor:crosshair}.panel-section{padding:16px;border-bottom:1px solid var(--line)}.section-title{margin:0 0 10px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.field-grid{display:grid;grid-gap:10px;gap:10px}.field-grid.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:grid;grid-gap:5px;gap:5px}.field-hint{font-size:11px;color:var(--muted)}.field label{color:var(--muted);font-size:12px;font-weight:700}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft);color:var(--ink);padding:9px 10px;outline:none}.field textarea{resize:vertical}.segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:6px;overflow:hidden}.segmented button{height:34px;border:0;border-right:1px solid var(--line);background:var(--panel-soft);color:var(--muted);font-weight:700}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--ink);color:white}.piece-list{display:grid;grid-gap:8px;gap:8px}.piece-row{width:100%;display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft);text-align:left}.piece-row.active{border-color:var(--cinnabar);background:var(--cinnabar-soft)}.piece-row strong{display:block;font-size:13px}.piece-row span{color:var(--muted);font-size:12px}.canvas-wrap{display:grid;place-items:center;padding:24px;min-width:0;min-height:0}.piece-card{width:min(720px,100%);aspect-ratio:4/3;display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow);overflow:hidden}.canvas-wrap-expanded .piece-card-expanded,.piece-card-expanded{width:min(1200px,calc(100vw - 48px));max-height:calc(100vh - 140px);aspect-ratio:auto;min-height:min(72vh,900px)}.piece-card-header-actions{display:grid;grid-gap:8px;gap:8px;justify-items:end}.canvas-zoom-controls{display:flex;gap:6px}.canvas-expand-button,.canvas-zoom-button{min-width:0;padding:4px 10px;font-size:12px}.piece-card-header{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.piece-card-header h1{margin:0;font-size:16px}.piece-card-header p{margin:3px 0 0;color:var(--muted);font-size:12px}.piece-editor-stage{background:#1e1e1e}.cad-canvas-viewport,.piece-editor-stage{position:relative;flex:1 1;min-width:0;min-height:0;overflow:hidden;touch-action:none}.piece-editor-html-overlay{position:absolute;inset:0;pointer-events:none;z-index:4}.piece-editor-html-overlay .dimension-label{pointer-events:auto}.canvas-zoom-pill{position:absolute;right:12px;bottom:12px;z-index:6;display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid rgba(68,64,60,.6);border-radius:8px;background:rgba(28,25,23,.88);box-shadow:0 8px 24px rgba(0,0,0,.25);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.canvas-zoom-pill-docked{position:static;z-index:auto;margin-left:auto;box-shadow:none}.canvas-zoom-fit,.canvas-zoom-mini,.canvas-zoom-toggle{min-width:28px;min-height:28px;border:1px solid rgba(68,64,60,.8);border-radius:999px;background:rgba(41,37,36,.95);color:#e7e5e4;font-size:14px;font-weight:700;line-height:1}.canvas-zoom-mini:disabled{opacity:.35}.canvas-zoom-readout{display:flex;flex-direction:column;align-items:center;min-width:52px;line-height:1}.canvas-zoom-mm{font-size:11px;color:#e7e5e4}.canvas-zoom-mm,.canvas-zoom-unit{font-family:var(--font-mono,ui-monospace,monospace)}.canvas-zoom-unit{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#78716c}.canvas-zoom-divider{width:1px;height:20px;background:rgba(68,64,60,.7)}.canvas-zoom-fit,.canvas-zoom-toggle.active{border-radius:6px;padding:0 8px;font-size:11px}.canvas-help-button{min-width:28px;min-height:28px;padding:0 8px}.dimension-label{position:absolute;transform:translate(-50%,-50%);padding:3px 8px;border-radius:4px;background:rgba(28,25,23,.85);color:#ffffff;font-family:var(--font-mono,ui-monospace,monospace);font-size:12px;line-height:1;cursor:pointer;border:1px solid #44403c;box-shadow:0 1px 2px rgba(0,0,0,.12)}.dimension-label-compact{padding:0 4px;font-size:9px}.dimension-label.hovered{border-color:#4a90d9;background:rgba(41,37,36,.95)}.dimension-label.editing{border-width:1.5px;border-color:#d63f1a}.dimension-label.invalid{border-color:#ef4444}.dimension-label-input{width:64px;border:none;background:transparent;color:inherit;font-family:inherit;font-size:13px;line-height:1;text-align:center}.dimension-label-value .dimension-label-suffix{margin-left:4px;color:#a8a29e}.measurement-label{pointer-events:none;position:absolute;transform:translate(-50%,-50%);border-radius:4px;padding:1px 4px;font-family:var(--font-mono,ui-monospace,monospace);font-size:10px;line-height:1;color:#78716c;background:rgba(245,245,244,.9);box-shadow:0 1px 2px rgba(0,0,0,.08)}.measurement-label-feature{font-weight:500;color:#44403c;background:rgba(231,229,228,.95)}.canvas-tooltip{pointer-events:none;position:absolute;z-index:20;display:flex;transform:translate(-50%,-100%);flex-direction:column;gap:2px;border:1px solid rgba(41,37,36,.6);border-radius:4px;padding:4px 8px;color:#f5f5f4;background:rgba(28,25,23,.95);box-shadow:0 4px 12px rgba(0,0,0,.25)}.canvas-tooltip-line{display:flex;align-items:baseline;gap:6px;white-space:nowrap;line-height:1.2}.canvas-tooltip-label{font-family:var(--font-sans,system-ui,sans-serif);font-size:10px;font-weight:500;color:#e7e5e4}.canvas-tooltip-value{font-size:10px;color:#d6d3d1}.angle-label,.canvas-tooltip-value{font-family:var(--font-mono,ui-monospace,monospace)}.angle-label{position:absolute;transform:translate(-50%,-50%);border:1px solid #44403c;border-radius:4px;padding:2px 6px;font-size:11px;line-height:1;cursor:text;box-shadow:0 1px 2px rgba(0,0,0,.12)}.angle-label-blue{color:#4a90d9;background:rgba(28,25,23,.85);border-color:rgba(74,144,217,.7)}.angle-label-amber{color:#fcd34d;background:rgba(28,25,23,.85);border-color:#fcd34d}.angle-label-white{color:#fafaf9;background:rgba(28,25,23,.85);border-color:#44403c}.angle-label-hover{color:#ffffff;background:#b83212;border-color:#d63f1a}.angle-label-invalid{color:#fca5a5;background:rgba(28,25,23,.95);border-color:#ef4444}.angle-label-editor{pointer-events:auto;position:absolute;z-index:10;display:flex;transform:translate(-50%,-50%);align-items:center;gap:4px}.angle-label-input{height:24px;border:2px solid #d63f1a;border-radius:4px;padding:0 6px;font-family:var(--font-mono,ui-monospace,monospace);font-size:11px;line-height:1;color:#ffffff;background:#7a2410;box-shadow:0 2px 6px rgba(0,0,0,.2)}.angle-label-input.invalid{border-color:#ef4444}.angle-label-degree-suffix{-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:var(--font-mono,ui-monospace,monospace);font-size:10px;color:#d6d3d1}.canvas-rulers{position:absolute;inset:0;pointer-events:none;z-index:3}.canvas-ruler-x,.canvas-ruler-y{position:absolute;font-family:var(--font-mono,ui-monospace,monospace);color:rgba(120,113,108,.75);-webkit-user-select:none;-moz-user-select:none;user-select:none}.canvas-ruler-y{transform:translateY(-50%);left:4px}.shortcuts-overlay-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:rgba(12,10,9,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.shortcuts-overlay-panel{width:min(420px,calc(100vw - 32px));display:grid;grid-gap:14px;gap:14px;padding:20px;border:1px solid rgba(68,64,60,.65);border-radius:12px;background:rgba(28,25,23,.96);box-shadow:0 24px 48px rgba(0,0,0,.35)}.shortcuts-overlay-header{display:flex;justify-content:space-between;align-items:baseline;color:#e7e5e4}.shortcuts-overlay-header h3{margin:0;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.shortcuts-overlay-header span{font-size:10px;color:#78716c}.shortcuts-overlay-section{display:grid;grid-gap:6px;gap:6px}.shortcuts-overlay-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#d6d3d1}.shortcuts-overlay-row kbd{min-width:120px;font-family:var(--font-mono,ui-monospace,monospace);font-size:11px;color:#fafaf9}.shortcuts-overlay-divider{height:1px;background:rgba(68,64,60,.65)}.round-dialog-apply-all{display:flex;align-items:center;gap:8px;font-size:11px}.square-corner-button{margin-top:6px;width:100%}.piece-editor-loading{display:grid;place-items:center;color:var(--muted);font-size:13px;font-weight:800}.piece-editor-dialog,.piece-editor-menu{position:absolute;z-index:10;transform:translate(10px,10px);width:min(230px,calc(100% - 24px));display:grid;grid-gap:6px;gap:6px;padding:9px;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.piece-editor-dialog strong,.piece-editor-menu strong{font-size:12px}.piece-editor-menu button{min-height:32px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft);color:var(--ink);font-size:12px;font-weight:800;text-align:left;padding:0 9px}.piece-editor-dialog label{display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:11px;font-weight:800}.piece-editor-dialog input{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft);color:var(--ink);padding:7px 8px}.piece-editor-dialog-actions{display:flex;justify-content:flex-end;gap:6px}.corner-angle-field{position:absolute;right:12px;top:12px;z-index:11;display:grid;grid-gap:4px;gap:4px;padding:9px 11px;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.corner-angle-field label{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.corner-angle-input{display:flex;align-items:center;gap:6px}.corner-angle-input input{width:84px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft);color:var(--ink);padding:6px 8px}.corner-angle-input input:disabled{opacity:.55}.corner-angle-input span{font-size:12px;font-weight:800;color:var(--muted)}.piece-editor-toast{left:12px;max-width:min(360px,calc(100% - 24px));border:1px solid #efc3b8;border-radius:6px;background:#fff3ef;color:#7d220d;font-weight:800}.piece-editor-toast,.snap-controls{position:absolute;bottom:12px;z-index:11;padding:9px 11px;font-size:12px;box-shadow:var(--shadow)}.snap-controls{right:12px;width:168px;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel)}.snap-controls-docked{position:static;z-index:auto;width:auto;min-width:168px;max-width:220px;margin-right:auto;background:var(--panel-soft)}.snap-controls-header{display:grid;grid-gap:2px;gap:2px;margin-bottom:8px}.snap-controls-header strong{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.snap-legend{font-size:11px;font-weight:700;color:var(--muted)}.snap-legend.is-active{color:var(--accent,#1763d6)}.snap-toggle-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:3px;gap:3px}.snap-toggle{display:flex;align-items:center;gap:7px;padding:2px 4px;border-radius:5px;cursor:pointer}.snap-toggle.is-active{background:var(--panel-soft);font-weight:800}.snap-toggle input{margin:0}.confidence-banner{position:relative;z-index:2;margin:8px 12px 0;transform:none;left:auto;top:auto;width:min(520px,calc(100% - 28px));display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #ecd38f;border-radius:8px;background:rgba(255,249,232,.96);color:#5f4210;box-shadow:var(--shadow)}.confidence-banner div{display:grid;grid-gap:2px;gap:2px;min-width:0}.confidence-banner strong{font-size:13px}.confidence-banner span{font-size:12px}.extraction-overlay{position:absolute;inset:0;z-index:18;display:grid;place-items:center;padding:24px;background:rgba(239,237,230,.62);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.extraction-panel{width:min(340px,100%);display:grid;justify-items:center;grid-gap:9px;gap:9px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--panel);text-align:center;box-shadow:var(--shadow)}.extraction-panel strong{font-size:14px}.extraction-panel span{color:var(--muted);font-size:12px}.extraction-spinner{width:28px;height:28px;border:3px solid #ead9d1;border-top:3px solid var(--cinnabar);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.piece-svg{width:100%;height:100%;min-height:0}.edge-line{stroke-linecap:round;transition:stroke-width .12s ease,opacity .12s ease}.edge-line.selected{stroke-width:14}.edge-hit{stroke:transparent;stroke-width:24;fill:none;cursor:pointer}.edge-label{fill:var(--muted);font-size:12px;font-weight:800;pointer-events:none}.mode-toggle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px;padding:12px;border-bottom:1px solid var(--line)}.mode-button{min-height:42px;padding:7px;font-size:12px;font-weight:800}.mode-button.active{border-color:var(--cinnabar);background:var(--cinnabar-soft);color:var(--cinnabar)}.edge-config{display:grid;grid-gap:12px;gap:12px;padding:16px}.selected-edge-summary{display:grid;grid-gap:4px;gap:4px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft)}.selected-edge-summary strong{font-size:14px}.selected-edge-summary span{color:var(--muted);font-size:12px}.chip-grid{display:flex;flex-wrap:wrap;gap:6px}.chip{height:30px;border:1px solid var(--line);border-radius:999px;padding:0 10px;background:var(--panel);color:var(--muted);font-size:12px;font-weight:800}.chip.active{border-color:var(--ink);color:var(--ink);background:#f1eee5}.edge-card-list,.edge-ring-list{display:grid;grid-gap:7px;gap:7px}.edge-card-row,.ring-row{display:grid;grid-template-columns:auto 1fr auto;grid-gap:8px;gap:8px;align-items:center;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft);padding:8px;text-align:left}.edge-card-row.active,.ring-row.active{border-color:var(--cinnabar);background:var(--cinnabar-soft)}.swatch{width:12px;height:12px;border-radius:50%}.exposure-cabinet{background:var(--amber)}.exposure-exposed{background:var(--cinnabar)}.exposure-join{background:var(--violet)}.exposure-wall{background:var(--teal)}.edge-meta{min-width:0}.edge-meta strong{display:block;font-size:12px}.edge-meta span,.ring-row span{color:var(--muted);font-size:11px}.attention-strip{padding:9px 10px;border-left:3px solid var(--amber);border-radius:6px;background:#fff7e6;color:#6a4911;font-size:12px;font-weight:800}.edge-work-diagram{display:grid;grid-template-columns:118px 1fr;align-items:center;grid-gap:12px;gap:12px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft)}.edge-work-diagram span,.edge-work-diagram strong{display:block}.edge-work-diagram span{color:var(--muted);font-size:12px}.edge-stone-section{position:relative;height:70px;border:1px solid var(--line-strong);border-radius:6px;background:#ece7dc;overflow:hidden}.stone-face{position:absolute;inset:12px 26px 12px 12px;border:1px solid #d2caba;background:#f8f5ec}.edge-profile-line{position:absolute;top:12px;right:24px;width:8px;height:46px;border-radius:999px;background:var(--cinnabar)}.build-up-block{position:absolute;top:17px;right:9px;width:17px;height:36px;border:1px solid #cfc5b3;background:#ded5c5}.ring-visual{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px}.ring-segment{min-height:44px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft);font-size:11px;font-weight:800}.ring-segment.active{border-color:var(--cinnabar);background:var(--cinnabar-soft)}.bottom-pricing{display:grid;grid-gap:12px;gap:12px;padding:12px 18px;border-top:1px solid var(--line);background:var(--panel)}.pricing-unavailable{padding:12px 16px;border:1px solid var(--cinnabar);border-radius:8px;background:rgba(227,66,52,.08);color:var(--cinnabar);font-size:14px;line-height:1.4}.pricing-setup-required{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-color:#2f7d5c;background:rgba(47,125,92,.1);color:#205c43}.pricing-unavailable-link{flex:0 0 auto;color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px}.pdf-total-unavailable{margin-top:40px;color:var(--cinnabar);font-family:var(--mono);font-size:15px;font-weight:600}.nl-command-dock{position:absolute;left:50%;bottom:16px;z-index:13;width:min(680px,calc(100% - 32px));transform:translateX(-50%);display:grid;grid-gap:8px;gap:8px;pointer-events:none}.nl-command-bar{min-height:46px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;padding:6px;border:1px solid rgba(160,154,143,.78);border-radius:8px;background:rgba(255,255,255,.9);box-shadow:var(--shadow);pointer-events:auto}.nl-command-bar input{width:100%;min-width:0;height:34px;border:0;background:transparent;color:var(--ink);outline:none}.voice-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft);color:var(--muted)}.voice-button.active{border-color:var(--cinnabar);background:var(--cinnabar-soft);color:var(--cinnabar)}.nl-command-error{justify-self:start;max-width:100%;padding:8px 10px;border:1px solid #efc3b8;border-radius:6px;background:#fff3ef;color:#7d220d;font-size:12px;font-weight:800}.delta-preview,.nl-command-error{box-shadow:var(--shadow);pointer-events:auto}.delta-preview{display:grid;grid-gap:9px;gap:9px;padding:12px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.96)}.delta-preview-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center}.delta-preview-summary strong{min-width:0;font-size:13px;overflow-wrap:anywhere}.delta-preview-summary span{font-family:var(--mono);font-size:13px;font-weight:800}.delta-positive{color:var(--cinnabar)}.delta-negative{color:var(--green)}.delta-preview p,.delta-preview ul{margin:0;color:var(--muted);font-size:12px}.delta-preview ul{display:grid;grid-gap:4px;gap:4px;padding-left:18px}.delta-preview-actions{display:flex;justify-content:flex-end;gap:8px}.pricing-summary-row{display:grid;grid-template-columns:minmax(200px,1fr) auto;align-items:center;grid-gap:16px;gap:16px}.pricing-buckets{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));grid-gap:8px;gap:8px}.price-bucket{display:grid;grid-gap:2px;gap:2px}.price-bucket span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.price-bucket strong{font-size:15px}.total-box{text-align:right}.total-box span{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.total-box strong{display:block;color:var(--cinnabar);font-size:24px}.pricing-breakdown{max-height:420px;overflow:auto;display:grid;grid-gap:10px;gap:10px;padding-top:10px;border-top:1px solid var(--line)}.module-view .pricing-breakdown{max-height:none}.module-row-nested span:first-of-type,.parts-list-row-nested span:nth-child(2){padding-left:18px;color:var(--muted)}.breakdown-header,.breakdown-line{display:grid;grid-template-columns:minmax(260px,1fr) 92px 116px 92px;grid-gap:10px;gap:10px;align-items:start}.breakdown-header{color:var(--muted);font-size:12px}.breakdown-header strong{color:var(--ink)}.breakdown-header-title{display:grid;grid-gap:6px;gap:6px}.breakdown-trace-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;font-weight:600;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.breakdown-trace-toggle input{margin:0}.breakdown-group{display:grid;grid-gap:5px;gap:5px}.breakdown-group h3{margin:0;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.breakdown-piece-group{padding-top:4px}.breakdown-piece-title{color:var(--ink)!important;font-size:13px!important;letter-spacing:.02em!important;text-transform:none!important}.breakdown-line-nested>div:first-child{padding-left:18px}.breakdown-line-nested>div:first-child strong{color:var(--muted);font-weight:600}.breakdown-bucket,.breakdown-lines{display:grid;grid-gap:1px;gap:1px}.breakdown-subtotal{margin-top:2px;padding-top:4px;border-top:1px dashed var(--line);color:var(--muted);font-size:12px}.breakdown-subtotal strong{font-weight:700}.breakdown-piece-total{margin-top:6px;padding-top:6px;border-top:1px solid var(--line);color:var(--ink);font-size:13px}.breakdown-quote-level-group .breakdown-piece-title{color:var(--muted)!important;font-size:11px!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase!important}.breakdown-line{padding:7px 0;border-top:1px solid #ebe7dc;font-size:12px}.breakdown-line span,.breakdown-line strong{min-width:0}.breakdown-line span{color:var(--muted)}.breakdown-line div{display:grid;grid-gap:2px;gap:2px;min-width:0}.breakdown-line div span,.breakdown-line div strong{overflow-wrap:anywhere}.breakdown-line>strong{text-align:right}.tell-me{position:fixed;right:18px;bottom:18px;z-index:20}.tell-me-button{width:48px;height:48px;border:1px solid #1f1f1f;border-radius:50%;background:var(--ink);color:white;font-size:22px;box-shadow:var(--shadow)}.tell-me-panel{position:absolute;right:0;bottom:58px;width:min(360px,calc(100vw - 32px));display:grid;grid-gap:10px;gap:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.tell-me-panel h2{margin:0;font-size:15px}.tell-me-panel p{margin:0;color:var(--muted);font-size:12px}.tell-me-actions{display:flex;justify-content:flex-end;gap:8px}.small-button{height:31px;padding:0 10px}.saved-note,.small-button{font-size:12px;font-weight:800}.saved-note{color:var(--green)}.dashboard-shell{min-height:100vh;display:flex;background:var(--paper)}.dashboard-sidebar{width:240px;flex-shrink:0;display:flex;flex-direction:column;min-height:100vh;background:oklch(.165 .025 255);border-right:1px solid rgba(255,255,255,.1)}.dashboard-sidebar-header{border-bottom:1px solid rgba(255,255,255,.1)}.dashboard-sidebar .brand-title{color:var(--hiviz);font-family:var(--font-display);font-weight:700}.dashboard-nav{flex:1 1;display:flex;flex-direction:column;gap:2px;padding:8px;overflow:auto}.dashboard-nav-item{display:flex;align-items:center;gap:10px;min-height:38px;padding:0 10px 0 6px;border:1px solid transparent;border-left-width:4px;border-radius:6px;color:var(--stone-300);font-size:13px;font-weight:700;text-decoration:none}.dashboard-nav-item:hover{background:rgba(255,255,255,.06);color:var(--stone-50)}.dashboard-nav-item.active{border-left-color:var(--hiviz);background:rgba(255,255,255,.08);color:var(--stone-50)}.dashboard-nav-icon{display:grid;place-items:center;flex-shrink:0}.dashboard-nav-label{min-width:0}.dashboard-user-footer{margin-top:auto;display:grid;grid-gap:10px;gap:10px;border-top:1px solid rgba(255,255,255,.1)}.dashboard-sidebar .dashboard-footer-settings,.dashboard-sidebar .dashboard-user-meta span,.dashboard-sidebar .dashboard-user-meta strong{color:var(--stone-300)}.dashboard-sidebar .dashboard-footer-settings:hover{color:var(--stone-50)}.dashboard-user-row{display:flex;align-items:center;gap:10px}.dashboard-user-meta{display:grid;grid-gap:2px;gap:2px;min-width:0}.dashboard-user-meta strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-user-meta span{color:var(--muted);font-size:11px}.dashboard-user-avatar-placeholder{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--panel-soft);color:var(--quiet);font-size:14px;font-weight:800}.dashboard-footer-settings{color:var(--muted);font-size:12px;font-weight:700;text-decoration:none}.dashboard-footer-settings:hover{color:var(--ink)}.dashboard-main{flex:1 1;min-width:0;min-height:100vh;display:flex;flex-direction:column}.dashboard-page{padding:24px}.dashboard-page h1{margin:0 0 8px;font-size:22px}.quotes-index-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.quotes-index-new{text-decoration:none}.quotes-index-search{display:grid;grid-gap:6px;gap:6px;max-width:420px;margin-bottom:16px;font-size:12px;color:var(--muted);font-weight:600}.quotes-index-search input{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font-size:14px}.dashboard-page p{margin:0;color:var(--muted);font-size:14px}.dashboard-gate-message{max-width:480px;padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--paper)}.invite-gate,.onboarding-form{width:min(420px,100%);display:flex;flex-direction:column;gap:14px}.invite-gate h1,.onboarding-form h1,.welcome-page h1{margin:0;font-size:1.5rem}.invite-gate-copy,.onboarding-lead,.welcome-lead{margin:0;color:var(--muted);line-height:1.5}.invite-gate-label,.onboarding-label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500}.invite-gate-input,.onboarding-input{padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.invite-gate-error,.onboarding-error{margin:0;color:var(--cinnabar);font-size:14px}.invite-gate-submit,.onboarding-submit{padding:10px 14px;border:0;border-radius:6px;background:var(--ink);color:#fff;font-weight:600}.welcome-page{max-width:640px}.welcome-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.welcome-cta{display:inline-flex;align-items:center;padding:10px 16px;border:1px solid var(--line);border-radius:6px;text-decoration:none;color:var(--ink);font-weight:600;background:var(--panel)}.welcome-cta-primary{background:var(--ink);color:#fff;border-color:var(--ink)}.welcome-note{margin-top:24px;font-size:14px;color:var(--quiet)}@media (max-width:1080px){.workspace-grid{grid-template-columns:280px minmax(360px,1fr)}.right-rail{grid-column:1/-1;min-height:0;border-left:0;border-top:1px solid var(--line)}}@media (max-width:760px){.topbar{align-items:flex-start;height:auto;padding:12px;flex-direction:column}.workspace-grid{grid-template-columns:1fr}.canvas-stage,.left-rail,.right-rail{min-height:auto}.pricing-buckets{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-summary-row{grid-template-columns:1fr}.total-box{text-align:left}.breakdown-header,.breakdown-line{grid-template-columns:minmax(160px,1fr) 72px 88px 78px}}.customer-picker-overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:rgba(20,20,20,.34);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.customer-picker{width:min(440px,100%);display:grid;grid-gap:12px;gap:12px;padding:20px;border:1px solid var(--line-strong);border-radius:10px;background:var(--panel);box-shadow:var(--shadow)}.customer-picker-header{display:grid;grid-gap:4px;gap:4px}.customer-picker-header strong{font-size:16px}.customer-picker-header span{color:var(--muted);font-size:12px}.customer-picker-modes{display:flex;gap:6px}.customer-picker-modes .mode-button{flex:1 1;height:32px;font-size:12px;font-weight:700}.customer-picker-modes .mode-button.active{border-color:var(--cinnabar);color:var(--cinnabar);background:var(--cinnabar-soft)}.customer-picker-body{display:grid;grid-gap:10px;gap:10px}.customer-picker-field{display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:11px;font-weight:700}.customer-picker-field input,.customer-picker-field select{width:100%;min-width:0;height:34px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft);color:var(--ink);padding:0 9px;font-weight:500}.customer-picker-hint{margin:0;color:var(--muted);font-size:12px}.customer-picker-error{color:var(--cinnabar)}.customer-picker-actions{display:flex;justify-content:flex-end;gap:8px}.persistence-status{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;white-space:nowrap}.persistence-status.dirty{color:var(--amber)}.persistence-status.saved{color:var(--green)}.quote-empty-state{display:grid;place-items:center;padding:48px 24px;min-height:320px}.quote-empty-state-card{display:grid;grid-gap:10px;gap:10px;justify-items:center;text-align:center;max-width:420px;padding:28px;border:1px dashed var(--line-strong);border-radius:12px;background:var(--panel)}.quote-empty-state-card strong{font-size:18px}.quote-empty-state-card p{margin:0;color:var(--muted);font-size:13px}.quote-empty-state-actions{display:flex;gap:8px;margin-top:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.material-picker-overlay{position:fixed;inset:0;z-index:45;display:grid;place-items:center;padding:24px;background:rgba(20,20,20,.34);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.material-picker{width:min(920px,100%);max-height:min(82vh,760px);display:grid;grid-template-rows:auto auto minmax(0,1fr);grid-gap:12px;gap:12px;padding:20px;border:1px solid var(--line-strong);border-radius:10px;background:var(--panel);box-shadow:var(--shadow)}.material-picker-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.material-picker-header strong{display:block;font-size:16px}.material-picker-header span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.material-picker-search input{width:100%;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.material-picker-panels{min-height:0;display:grid;grid-template-columns:minmax(140px,1fr) minmax(160px,1.1fr) minmax(220px,1.4fr);grid-gap:1px;gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--line)}.material-picker-panel{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--panel)}.material-picker-panel h3{margin:0;padding:10px 12px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.material-picker-panel ul,.material-picker-search-results ul{margin:0;padding:6px;list-style:none;overflow-y:auto}.material-picker-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:inherit;text-align:left;cursor:pointer}.material-picker-row:hover:not(:disabled){background:var(--surface)}.material-picker-row.active{background:color-mix(in srgb,var(--accent) 16%,transparent);outline:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}.material-picker-row:disabled{opacity:.45;cursor:not-allowed}.material-picker-row span:last-child{color:var(--muted);font-size:12px;white-space:nowrap}.material-picker-top-price span:first-child{font-weight:600}.material-picker-divider{padding:4px 10px}.material-picker-divider span{display:block;height:1px;background:var(--line)}.material-picker-empty{margin:0;padding:12px;color:var(--muted);font-size:12px}.material-picker-search-results{min-height:0;overflow-y:auto;border:1px solid var(--line);border-radius:8px}.material-picker-trigger{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:inherit;text-align:left;cursor:pointer}.material-picker-trigger:disabled{opacity:.6;cursor:wait}.material-picker-trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-picker-trigger-action{color:var(--accent);font-size:12px;white-space:nowrap}.manual-material-modal{width:min(480px,100%)}.manual-material-fields{display:flex;flex-direction:column;gap:12px;padding:0 4px}.manual-material-fields .field{display:flex;flex-direction:column;gap:4px}.manual-material-fields .field span{font-size:12px;color:var(--muted)}.manual-material-apply-all{display:flex;align-items:flex-start;gap:8px;font-size:13px;margin-top:4px}.manual-material-error{color:var(--danger,#c0392b);font-size:13px;margin:0}.manual-material-footer{display:flex;justify-content:flex-end;padding-top:8px}.material-picker-manual-footer{display:flex;justify-content:flex-start;padding-top:12px;border-top:1px solid var(--border)}.customer-picker.shape-picker{width:min(760px,100%);max-height:min(80vh,720px);display:flex;flex-direction:column;min-height:0}.customer-picker.shape-picker .customer-picker-body{flex:1 1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.shape-gallery{flex:1 1;min-height:0;display:grid;grid-gap:16px;gap:16px;overflow-y:auto;padding-right:4px}.shape-gallery-group{display:grid;grid-gap:8px;gap:8px}.shape-gallery-heading{margin:0;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.shape-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:8px;gap:8px}.shape-gallery-search{display:grid;grid-gap:4px;gap:4px;margin-bottom:4px}.shape-gallery-search input{width:100%;padding:8px 10px;background:var(--panel);font-size:13px}.shape-card,.shape-gallery-search input{border:1px solid var(--line);border-radius:8px;color:var(--ink)}.shape-card{display:grid;grid-gap:6px;gap:6px;align-content:start;justify-items:start;text-align:left;padding:12px;min-height:120px;background:var(--panel-soft);cursor:pointer}.shape-card-preview{justify-self:center;width:80px;height:80px}.shape-card-preview svg{display:block}.shape-card-preview-placeholder{display:grid;place-items:center;width:56px;height:56px;border:1px dashed var(--line);border-radius:6px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.shape-card:hover,.shape-card[aria-selected=true]{border-color:var(--cinnabar);background:var(--cinnabar-soft)}.shape-card[aria-selected=true]{box-shadow:inset 0 0 0 1px var(--cinnabar)}.shape-detail-preview{justify-self:center;margin:0 auto 4px}.shape-picker-add-hint{flex:1 1;margin:0;text-align:left}.customer-picker.shape-picker .customer-picker-actions{align-items:center}.shape-card-name{font-size:13px;font-weight:700}.shape-card-badge{justify-self:start;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:2px 6px;border:1px solid var(--line);border-radius:999px}.shape-detail{display:grid;grid-gap:10px;gap:10px}.shape-quick-select{display:grid;grid-gap:8px;gap:8px}.shape-quick-browse{justify-self:start}.shape-detail-back{justify-self:start;border:0;background:transparent;color:var(--cinnabar);font-size:12px;font-weight:700;cursor:pointer;padding:0}.piece-dir-item{border:1px solid var(--line);border-radius:6px;background:var(--panel-soft);overflow:hidden}.piece-dir-item.active{border-color:var(--cinnabar);background:var(--cinnabar-soft)}.piece-dir-row{display:grid;grid-template-columns:auto 1fr auto;align-items:stretch}.piece-dir-checkbox{padding:0 8px;border-right:1px solid var(--line)}.piece-dir-select{display:grid;grid-gap:2px;gap:2px;text-align:left;padding:9px;border:0;background:transparent;color:var(--ink);cursor:pointer}.piece-dir-select strong{font-size:13px}.piece-dir-select span{color:var(--muted);font-size:12px}.piece-dir-material{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.piece-dir-expand{width:36px;border:0;border-left:1px solid var(--line);background:transparent;color:var(--muted);font-size:16px;font-weight:700;cursor:pointer}.piece-dir-edges{list-style:none;margin:0;padding:4px 9px 9px;display:grid;grid-gap:4px;gap:4px;border-top:1px solid var(--line)}.piece-dir-edge{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;font-size:12px;color:var(--muted)}.job-stage-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border:1px solid color-mix(in oklch,var(--stage-colour,var(--stone-300)) 55%,var(--stone-200));border-radius:999px;background:color-mix(in oklch,var(--stage-colour,var(--stone-300)) 12%,var(--stone-50));color:var(--stone-700);font-size:12px;font-weight:700;line-height:1.5;white-space:nowrap}.job-stage-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--stage-colour,var(--stone-300));flex-shrink:0}.board-columns{display:flex;gap:14px;margin-top:16px;padding-bottom:8px;overflow-x:auto;align-items:flex-start}.board-column{flex:0 0 280px;display:flex;flex-direction:column;max-height:calc(100vh - 160px);border:1px solid var(--line);border-radius:10px;background:var(--panel-soft)}.board-column-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);border-top:3px solid var(--stage-colour,var(--line-strong));border-radius:10px 10px 0 0}.board-column-title{flex:1 1;min-width:0;font-size:13px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-column-count{flex-shrink:0;min-width:22px;padding:0 6px;border-radius:999px;background:var(--panel);border:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:700;text-align:center}.board-column-cards{display:flex;flex-direction:column;gap:8px;padding:10px;overflow-y:auto}.board-column-empty{margin:0;padding:8px 2px;color:var(--quiet);font-size:12px}.board-card{display:grid;grid-gap:8px;gap:8px;padding:10px 12px;border:1px solid var(--stone-200);border-radius:var(--radius-lg,10px);background:var(--panel);box-shadow:4px 4px 0 0 var(--ink)}.board-card-link{font-size:13px;font-weight:800;color:var(--ink);text-decoration:none}.board-card-link:hover{color:var(--hiviz-deep)}.board-card-status{color:var(--muted);font-size:12px}.board-card-move{display:grid;grid-gap:6px;gap:6px}.board-card-move-label{color:var(--stone-500);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.board-card-select{width:100%;min-height:40px;padding:0 10px;border:1px solid var(--stone-200);border-radius:var(--radius);background:var(--stone-50);color:var(--ink);font-size:13px;font-weight:600}.board-card-select:focus{outline:2px solid var(--hiviz);outline-offset:1px}.board-card-select:disabled{opacity:.6;cursor:progress}.board-card-error{font-size:11px}.board-card-error,.board-move-error{color:var(--destructive);font-weight:700}.board-move-error{margin:0 0 12px;padding:8px 12px;border:1px solid var(--destructive);border-radius:var(--radius);font-size:12px}.board-column-cards{min-height:96px}.board-card{cursor:-webkit-grab;cursor:grab}.board-card.is-dragging{opacity:.5;cursor:-webkit-grabbing;cursor:grabbing}.board-column.is-drag-over{outline:2px solid var(--hiviz);outline-offset:-2px;background:color-mix(in oklch,var(--hiviz) 8%,var(--panel-soft))}.stage-signoff-banner{margin:8px 0;padding:10px 12px;border:1px solid var(--hiviz-orange);border-radius:var(--radius);background:color-mix(in oklch,var(--hiviz-orange) 12%,var(--stone-50))}.stage-signoff-message{margin:0 0 10px;color:var(--ink);font-size:13px;font-weight:600;line-height:1.4}.stage-signoff-actions{display:flex;gap:8px;flex-wrap:wrap}.stage-signoff-confirm,.stage-signoff-dismiss{min-height:40px;font-size:13px}.stage-signoff-error{margin:0 0 6px;color:var(--destructive);font-size:12px;font-weight:700}.job-stage-move{margin-top:8px}.job-stage-move.compact .board-card-move-label{font-size:9px}.job-stage-move.compact .board-card-select{min-height:40px;font-size:12px}.settings-section{margin-top:24px}.settings-section-lead{margin:0 0 12px;color:var(--muted);font-size:14px}.settings-signoff-table{width:100%;border-collapse:collapse;font-size:14px}.settings-signoff-table td,.settings-signoff-table th{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}.settings-hint,.settings-muted{color:var(--muted);font-size:14px}.settings-error{color:var(--cinnabar);font-size:14px}.terminate-buttons{display:flex;gap:.5rem;margin:.75rem 0;flex-wrap:wrap}.terminate-buttons.compact{gap:.35rem}.terminate-buttons.compact .terminate-btn{min-height:36px;padding:0 10px;font-size:12px}.terminate-btn.cancel{border:1px solid var(--destructive);color:var(--destructive)}.terminate-dialog-backdrop{position:fixed;inset:0;background:rgba(15,18,30,.72);display:flex;align-items:center;justify-content:center;z-index:100}.terminate-dialog{position:relative;overflow:hidden;background:var(--panel);border-radius:var(--radius-xl,14px);padding:1.25rem 1.35rem 1.35rem;min-width:320px;max-width:90vw;box-shadow:8px 8px 0 0 rgba(0,0,0,.15)}.terminate-dialog-tape{position:absolute;top:0;left:0;right:0}.terminate-dialog h2{margin:1rem 0 .35rem;font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--ink)}.terminate-dialog-subtitle{margin:0;color:var(--stone-500);font-size:.9rem}.terminate-dialog-field{display:flex;flex-direction:column;gap:.35rem;margin:1rem 0;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--stone-700)}.terminate-dialog-field select{min-height:44px;padding:0 10px;border:1px solid var(--stone-200);border-radius:var(--radius);background:var(--stone-50);font-size:14px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink)}.terminate-dialog-field select:focus{outline:2px solid var(--hiviz);outline-offset:1px}.terminate-dialog-error{margin:.75rem 0 0;color:var(--destructive);font-size:.9rem;font-weight:600}.terminate-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem;flex-wrap:wrap}.terminate-dialog-cancel,.terminate-dialog-confirm,.terminate-dialog-danger{min-height:40px}.job-section-title{margin-top:2rem;margin-bottom:.5rem;font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--ink)}.job-section-subtitle{margin-top:1rem;font-size:.95rem}.job-termination-banner{background:color-mix(in oklch,var(--status-go) 12%,var(--stone-50));border-left:4px solid var(--status-go);padding:.75rem 1rem;margin:1rem 0;border-radius:0 var(--radius) var(--radius) 0;font-size:.95rem}.job-termination-meta{color:var(--stone-500);font-size:.85rem}.job-transition-history{margin-bottom:1.5rem}.job-transition-list{list-style:none;padding:0;margin:.75rem 0 0;border:1px solid var(--stone-200);border-radius:var(--radius-lg,10px);overflow:hidden}.job-transition-item{display:grid;grid-template-columns:minmax(9rem,auto) 1fr;grid-gap:.35rem 1rem;gap:.35rem 1rem;padding:.65rem 1rem;border-bottom:1px solid var(--stone-200);background:var(--panel);font-size:.9rem;align-items:baseline}.job-transition-item:last-child{border-bottom:none}.job-transition-item:hover{background:var(--stone-50)}.job-transition-when{color:var(--stone-500);font-size:.8rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.job-transition-move{font-weight:600;color:var(--ink)}.job-transition-signoff{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.job-transition-signoff-meta{color:var(--stone-500);font-size:.8rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.job-transition-note,.job-transition-reason{grid-column:1/-1;color:var(--stone-700);font-size:.85rem}.job-transition-reason{font-weight:600}.job-transition-note{font-style:italic;color:var(--stone-500)}.jobs-index-hint{margin:1rem 0;color:var(--stone-500);font-size:14px}.jobs-index-error{color:var(--destructive);font-weight:600}.jobs-index-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:.75rem}.jobs-index-table thead th{padding:10px 12px;background:var(--ink);color:var(--stone-50);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:left}.jobs-index-table tbody td{padding:10px 12px;border-bottom:1px solid var(--stone-200);background:var(--panel);color:var(--ink)}.jobs-index-table tbody tr:hover td{background:var(--stone-50)}.jobs-index-link{color:var(--ink);font-weight:700;text-decoration:none}.jobs-index-link:hover{color:var(--hiviz-deep)}.jobs-index-status{color:var(--stone-700);font-size:13px}.jobs-ledger-termination{color:var(--stone-500);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.jobs-back-link{display:inline-flex;align-items:center;margin-bottom:1rem;color:var(--stone-700);font-size:14px;font-weight:600;text-decoration:none}.jobs-back-link:hover{color:var(--hiviz-deep)}.job-parts-panel{margin-top:.5rem}.job-parts-summary{margin:0 0 .5rem;color:var(--stone-500);font-size:14px}.job-timeline-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.25rem 2rem;padding:1.25rem 1.35rem;border:1px solid var(--stone-200);border-radius:var(--radius-lg,10px);background:var(--panel);box-shadow:4px 4px 0 0 var(--ink)}.job-timeline-head-main{display:grid;grid-gap:.35rem;gap:.35rem;min-width:0}.job-timeline-eyebrow{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--stone-500)}.job-timeline-identifier{margin:0;font-family:var(--font-display);font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.1}.job-timeline-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem}.job-timeline-status{font-size:13px;color:var(--stone-700);font-weight:600}.job-timeline-total{display:grid;grid-gap:.15rem;gap:.15rem;text-align:right}.job-timeline-total-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--stone-500)}.job-timeline-total-value{font-family:var(--font-display);font-size:1.75rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);line-height:1.1}.job-timeline-total-hint{font-size:11px;color:var(--stone-500)}.job-timeline-empty,.stage-timeline-note{margin:.75rem 0;color:var(--stone-500);font-size:14px}.stage-timeline{margin-top:1.5rem}.stage-timeline-rail{list-style:none;margin:0;padding:0;display:grid;grid-gap:0;gap:0}.stage-timeline-item{display:grid;grid-template-columns:28px 1fr;grid-gap:0 1rem;gap:0 1rem;min-height:3.5rem}.stage-timeline-marker{display:flex;flex-direction:column;align-items:center;padding-top:.35rem}.stage-timeline-dot{display:block;width:12px;height:12px;border-radius:50%;background:var(--stage-colour,var(--hiviz));border:2px solid var(--ink);flex-shrink:0}.stage-timeline-dot.is-unstamped{background:var(--stone-100);border-color:var(--stone-300)}.stage-timeline-connector{flex:1 1;width:2px;min-height:1.5rem;margin-top:4px;background:var(--stone-200)}.stage-timeline-body{display:grid;grid-gap:.2rem;gap:.2rem;padding:.25rem 0 1rem;border-bottom:1px solid var(--stone-200)}.stage-timeline-item:last-child .stage-timeline-body{border-bottom:none}.stage-timeline-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 1rem}.stage-timeline-name{font-weight:700;color:var(--ink);font-size:.95rem}.stage-timeline-when{font-size:.8rem;color:var(--stone-500);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.stage-timeline-unstamped{font-style:italic;color:var(--stone-300)}.stage-timeline-actor{font-size:.85rem;color:var(--stone-700)}.stage-timeline-gap{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--hiviz-orange);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.job-detail-tabs{display:flex;gap:.25rem;margin:1.25rem 0 1rem;border-bottom:1px solid var(--stone-200)}.job-detail-tab{min-height:40px;padding:.5rem 1rem;background:transparent;cursor:pointer;font-size:.95rem;font-weight:600;color:var(--stone-500);border:none;border-bottom:3px solid transparent;margin-bottom:-1px;transition:color .2s cubic-bezier(.2,.8,.2,1)}.job-detail-tab:hover{color:var(--ink);background:var(--stone-50)}.job-detail-tab-active{color:var(--ink);border-bottom-color:var(--hiviz)}.jobs-ledger-more{margin-top:1rem;padding:.5rem 1rem;cursor:pointer}.job-cutcard-blocked{background:color-mix(in oklch,var(--hiviz-orange) 12%,var(--stone-50));border:1px solid var(--hiviz-orange);border-radius:var(--radius);padding:.75rem 1rem}.job-cutcard-blockers{margin:.5rem 0 0;padding-left:1.25rem}.job-cutcard-panel{margin-top:.5rem}.job-cutcard-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.job-cutcard-summary{margin:.25rem 0 0;font-size:.95rem}.job-cutcard-toolbar-actions{display:flex;gap:.5rem;flex-shrink:0}.job-cutcard-dxf-btn,.job-cutcard-print-btn{padding:.45rem .9rem;border:1px solid var(--border,#e5e7eb);border-radius:6px;background:#fff;cursor:pointer;font-size:.9rem}.job-cutcard-dxf-btn:disabled{opacity:.55;cursor:not-allowed}.job-cutcard-dxf-error{margin:0 0 .75rem;font-size:.9rem}.job-cutcard-blocked-summary{background:#fffbeb;border:1px solid #f59e0b;border-radius:6px;padding:.65rem .9rem;margin-bottom:1rem;font-size:.9rem}.job-cutcard-piece-list{display:flex;flex-direction:column;gap:1rem}.job-cutcard-piece-card{border:1px solid var(--border,#e5e7eb);border-radius:8px;padding:1rem 1.1rem;background:#fff;page-break-inside:avoid;break-inside:avoid}.job-cutcard-piece-card-nested{margin-left:1.5rem;border-left:3px solid var(--border,#d1d5db)}.job-cutcard-piece-card-blocked{background:#fffdf8}.job-cutcard-piece-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.job-cutcard-piece-header h3{margin:0;font-size:1.05rem}.job-cutcard-piece-ref{display:block;margin-top:.2rem;font-size:.8rem;color:#6b7280;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.job-cutcard-piece-meta{display:block;margin-top:.25rem;font-size:.85rem;color:var(--muted,#6b7280)}.job-cutcard-piece-fields{display:grid;grid-gap:.35rem;gap:.35rem;margin:.75rem 0 1rem}.job-cutcard-piece-fields dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted,#6b7280)}.job-cutcard-piece-fields dd{margin:0;font-size:.95rem}.job-cutcard-piece-card h4{margin:.75rem 0 .35rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted,#6b7280)}.job-cutcard-cutouts,.job-cutcard-route{margin:0;padding-left:1.25rem}.job-cutcard-edges-table{font-size:.85rem}@media print{.dashboard-header,.dashboard-nav,.job-cutcard-print-btn,.job-cutcard-toolbar,.job-detail-tabs,.jobs-back-link,.terminate-job-panel{display:none!important}.job-cutcard-piece-card{page-break-inside:avoid;border-color:#000}.job-cutcard-panel{margin:0}}.hiviz-mark{background-color:var(--hiviz);color:oklch(.165 .025 255);padding-inline:.2em;-webkit-box-decoration-break:clone;box-decoration-break:clone}.hiviz-tape{height:14px;background-image:linear-gradient(180deg,var(--hiviz) 0 14%,transparent 14% 18%,var(--reflective) 18% 36%,transparent 36% 40%,var(--reflective) 40% 58%,transparent 58% 62%,var(--hiviz) 62% 76%,transparent 76% 80%,var(--hiviz-orange) 80% 100%),repeating-linear-gradient(135deg,rgba(0,0,0,.18) 0 6px,transparent 6px 12px);background-blend-mode:multiply,normal}.hiviz-stitch{background-image:repeating-linear-gradient(90deg,var(--ink) 0 8px,transparent 8px 14px)}.hiviz-btn{min-height:40px;padding:0 14px;border:1px solid transparent;border-radius:var(--radius);font-family:var(--font-sans);font-size:14px;font-weight:600;transition:transform .12s linear,box-shadow .12s linear,background-color .2s cubic-bezier(.2,.8,.2,1)}.hiviz-btn--primary{background:var(--hiviz);color:oklch(.165 .025 255);box-shadow:4px 4px 0 0 oklch(.165 .025 255)}.hiviz-btn--primary:hover:not(:disabled){background:var(--hiviz-deep);box-shadow:2px 2px 0 0 oklch(.165 .025 255)}.hiviz-btn--primary:active:not(:disabled){transform:translate(2px,2px);box-shadow:0 0 0 0 oklch(.165 .025 255)}.hiviz-btn--secondary{background:oklch(.165 .025 255);color:var(--stone-50);border-color:var(--stone-700)}.hiviz-btn--ghost{background:transparent;color:var(--ink)}.hiviz-btn--ghost:hover:not(:disabled){background:var(--stone-100)}.hiviz-btn--destructive{background:var(--destructive);color:#fff}.hiviz-btn--go{background:var(--status-go);color:oklch(.165 .025 255);box-shadow:4px 4px 0 0 oklch(.165 .025 255)}.hiviz-btn--go:hover:not(:disabled){filter:brightness(.95);box-shadow:2px 2px 0 0 oklch(.165 .025 255)}.hiviz-btn--go:active:not(:disabled){transform:translate(2px,2px);box-shadow:0 0 0 0 oklch(.165 .025 255)}.status-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1}.status-pill--draft{background:var(--stone-100);color:var(--stone-700)}.status-pill--in-progress{background:var(--hiviz-orange);color:oklch(.165 .025 255)}.status-pill--sent{background:var(--hiviz);color:oklch(.165 .025 255)}.status-pill--approved{background:var(--status-go);color:oklch(.165 .025 255)}.status-pill--rejected{background:var(--destructive);color:#fff}.customers-directory-search{display:grid;grid-gap:6px;gap:6px;max-width:420px;margin-bottom:16px;font-size:12px;color:var(--muted);font-weight:600}.customers-directory-search input{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font-size:14px}.customers-directory{margin-top:16px}.customers-directory-table{width:100%;border-collapse:collapse;font-size:14px}.customers-directory-table thead th{padding:10px 12px;background:oklch(.165 .025 255);color:var(--stone-50);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:left}.customers-directory-table tbody td{padding:10px 12px;border-bottom:1px solid var(--stone-200);background:var(--panel)}.customers-directory-table tbody tr:hover td{background:var(--stone-50)}.customers-directory-type{color:var(--stone-500);font-size:12px;font-weight:600}.customers-directory-count{margin:10px 0 0;color:var(--muted);font-size:12px}.customers-directory-hint{margin-top:16px;color:var(--muted);font-size:14px}.customers-directory-error{color:var(--cinnabar)}