.j2-filters{display:flex;flex-direction:column;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line2)}.j2-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px}.j2-filter-label{align-self:center}.j2-filter-field{display:inline-flex;align-items:center;gap:6px}.j2-filter-field select,.j2-filter-field input[type=date]{font:inherit;padding:2px 6px}.j2-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:12px;padding:8px 12px;border:1px solid var(--line2);border-radius:8px;background:var(--paper-2)}.j2-chip-count{font-size:12px;font-weight:600;margin-right:4px}.j2-chip{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:12px;line-height:1.4;padding:2px 8px;border:1px solid var(--line2);border-radius:999px;background:var(--white);color:inherit;cursor:pointer}.j2-chip:hover{border-color:var(--accent)}.j2-chip b{font-size:13px;opacity:.65}.j2-clear{font-size:12px}.j2-visuals{display:flex;flex-wrap:wrap;gap:18px;padding:14px;align-items:flex-start}.j2-chart{flex:1 1 240px;min-width:230px;display:flex;flex-direction:column;gap:8px}.j2-wide{flex:2 1 420px;min-width:320px}.j2-svg{display:block;width:100%;height:auto;overflow:visible}.j2-donut{max-width:190px;align-self:center}.j2-source{font-size:11px;line-height:1.45;color:var(--muted);margin-top:auto}.j2-source code{font-family:var(--font-mono);font-size:10.5px}.j2-funnel-band{stroke:var(--card);stroke-width:1}.j2-funnel-label{fill:#fff;stroke:#0000008c;stroke-width:3px;paint-order:stroke fill;font-family:var(--font-cond);font-size:12px;font-weight:700;pointer-events:none}.j2-exits{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;font-size:11px;color:var(--ink-2)}.j2-donut-ring{fill:var(--paper-2)}.j2-donut-rate{fill:var(--ink);font-family:var(--font-mono);font-size:30px;font-weight:700}.j2-donut-sub{fill:var(--muted);font-family:var(--font-cond);font-size:11px}.j2-legend-rows{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11px;color:var(--ink-2)}.j2-legend-rows i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.j2-bar-label{fill:var(--ink);font-family:var(--font-cond);font-size:12px;font-weight:600}.j2-bar-value{fill:var(--ink);font-family:var(--font-mono);font-size:11px}.j2-bar-note{fill:var(--muted);font-family:var(--font-cond);font-size:10px}.j2-bar-track{fill:var(--paper-2)}.j2-brow{cursor:pointer}.j2-brow.leaf{cursor:default}.j2-brow-hit{fill:transparent}.j2-brow:hover .j2-brow-hit{fill:var(--hi-soft)}.j2-brow:focus-visible .j2-brow-hit{fill:var(--hi-soft)}.j2-brow-track{stroke:var(--rule);stroke-width:1;stroke-dasharray:2 3}.j2-brow circle{stroke:var(--card);stroke-width:1}.j2-brow:hover circle{stroke:var(--ink);stroke-width:2}.j2-syn-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 14px;border-top:1px solid var(--line2)}.j2-syn-bar .ws-sub{flex:1 1 260px;font-size:12px;line-height:1.45}.j2-syn-badge{flex:0 0 auto;align-self:center}.ws-boardcard.j2-synthetic,.j2-work-row.synthetic{background-image:repeating-linear-gradient(135deg,transparent 0 10px,rgba(127,127,127,.05) 10px 20px);cursor:default}.j2-work{display:flex;flex-direction:column;padding:6px 10px 10px}.j2-work-row{display:grid;grid-template-columns:14px minmax(0,1fr) 120px 110px;align-items:center;gap:10px;padding:8px 6px;border-bottom:1px solid var(--line2);cursor:pointer}.j2-work-row:last-child{border-bottom:0}.j2-work-row:hover{background:var(--hi-soft)}.j2-work-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.j2-work-row.overdue{box-shadow:inset 3px 0 0 var(--red, #c4453d)}.j2-work-name{min-width:0;line-height:1.35}.j2-work-name b{margin-right:6px}.j2-work-when{text-align:right;line-height:1.35;font-size:12px}.j2-work-num{text-align:right;font-size:12px}.cm-root{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;background:var(--bg, #f6f7f9);color:var(--fg, #1a1d21);overflow:hidden}.cm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:18px 24px 10px;border-bottom:1px solid var(--line, #e3e6ea)}.cm-title h2{margin:0;font-size:19px;font-weight:650}.cm-title p{margin:4px 0 0;max-width:62ch;font-size:12.5px;line-height:1.5;opacity:.72}.cm-scope{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cm-cats{padding:8px 24px;border-bottom:1px solid var(--line, #e3e6ea)}.cm-spacer{flex:1}.cm-tab{padding:5px 11px;font:inherit;font-size:12.5px;background:transparent;border:1px solid var(--line, #e3e6ea);color:inherit;cursor:pointer}.cm-tab.on{background:var(--fg, #1a1d21);color:var(--bg, #fff);border-color:var(--fg, #1a1d21)}.cm-find{font:inherit;font-size:12.5px;padding:5px 9px;min-width:180px;border:1px solid var(--line, #e3e6ea);background:var(--bg, #fff);color:inherit}.cm-count{font-size:11.5px;opacity:.6;font-variant-numeric:tabular-nums;white-space:nowrap}.cm-warn{margin:0;padding:9px 24px;font-size:12.5px;background:#fff6e5;color:#6b4b00;border-bottom:1px solid var(--line, #e3e6ea)}.cm-body{flex:1;display:flex;min-height:0}.cm-canvas{flex:1;min-width:0;overflow:auto;position:relative}.cm-rail{position:sticky;top:0;z-index:2;display:flex;background:var(--bg, #f6f7f9);border-bottom:1px solid var(--line, #e3e6ea);padding:8px 0 8px 16px}.cm-col{font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;opacity:.75}.cm-col-end{opacity:.5}.cm-col-answered{opacity:.75}.cm-col-answered b{display:block;font-size:12.5px;font-weight:600;letter-spacing:0;text-transform:none;opacity:.85;margin-top:2px}.cm-stage{position:relative;padding:8px 16px 40px}.cm-edges{position:absolute;inset:8px 0 0 16px;overflow:visible;pointer-events:none}.cm-node{position:absolute;display:flex;align-items:center;gap:6px;height:44px;padding:5px 8px 5px 9px;border:1px solid var(--line, #e3e6ea);background:var(--card, #fff);font-size:12.5px;cursor:pointer;box-sizing:border-box}.cm-node:hover{border-color:var(--fg, #1a1d21)}.cm-node.sel{box-shadow:0 0 0 2px var(--fg, #1a1d21);z-index:3}.cm-node.dim{opacity:.28}.cm-node.twin{border-style:dashed;border-left-style:solid;opacity:1}.cm-node.stranded{border-style:dashed;opacity:.6}.cm-node.stranded .cm-label{text-decoration:line-through}.cm-node.hit{box-shadow:0 0 0 2px #b98900;z-index:2}.cm-label{font-weight:550;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-meta{display:flex;align-items:center;gap:5px;min-width:0;font-size:10.5px;opacity:.72}.cm-code{font-family:ui-monospace,IBM Plex Mono,monospace;font-weight:600;white-space:nowrap}.cm-fact{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-pill{font-size:9px;font-weight:700;letter-spacing:.04em;padding:0 3px;border:1px solid currentColor;white-space:nowrap}.cm-pill-company{color:#1f6f3d}.cm-pill-job{color:#8a5a00}.cm-pill-warn{color:#8a5a00;border-color:#8a5a00}.cm-strand{color:#8a2b2b}.cm-knob{font:inherit;font-size:10.5px;background:transparent;border:0;color:inherit;opacity:.55;cursor:pointer;padding:0 1px;white-space:nowrap;align-self:center}.cm-knob:hover{opacity:1}.cm-cond{background:var(--bg, #f6f7f9);border-style:solid;cursor:pointer}.cm-cond.pinned{background:#fff8e6}.cm-star{font:inherit;font-size:14px;line-height:1;background:transparent;border:0;color:inherit;opacity:.35;cursor:pointer;align-self:center;padding:0 1px}.cm-star:hover{opacity:1}.cm-star.on{opacity:1;color:#b98900}.cm-add{position:absolute;padding:6px 9px;border:1px dashed var(--line, #e3e6ea);font-size:12px;opacity:.8;box-sizing:border-box}.cm-side{width:320px;flex:0 0 320px;border-left:1px solid var(--line, #e3e6ea);padding:16px 18px;overflow:auto;font-size:12.5px}.cm-side-title{margin:0;font-size:15px}.cm-side-code{font-family:ui-monospace,IBM Plex Mono,monospace;font-size:11px;opacity:.6}.cm-facts{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:14px 0}.cm-facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.05em;opacity:.55}.cm-facts dd{margin:0}.cm-side-sub{margin:18px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;opacity:.7}.cm-side-note{margin:10px 0;line-height:1.5;opacity:.8}.cm-usage{list-style:none;margin:0;padding:0;max-height:260px;overflow:auto}.cm-usage li{margin-bottom:2px}.cm-usage button{font:inherit;font-size:11.5px;background:transparent;border:0;padding:2px 0;color:inherit;opacity:.8;cursor:pointer;text-align:left;width:100%}.cm-usage button:hover{opacity:1;text-decoration:underline}.cm-link{display:block;width:100%;margin-top:20px;padding:8px 10px;font:inherit;font-size:12.5px;text-align:left;background:transparent;border:1px solid var(--line, #e3e6ea);color:inherit;cursor:pointer}.cm-link:hover{border-color:var(--fg, #1a1d21)}.cm-hint{font-size:11.5px;opacity:.6;line-height:1.5}.cm-side-empty p{line-height:1.55}.cm-empty{padding:40px;opacity:.6}.cm-back{display:block;margin:0 0 6px;padding:0;font:inherit;font-size:12px;background:transparent;border:0;color:inherit;opacity:.65;cursor:pointer}.cm-back:hover{opacity:1}.cm-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cm-meta{display:flex;align-items:center;gap:6px;min-width:0}.cm-node .cm-label{flex:none;font-weight:550}.cm-node .cm-code{max-width:110px}.cm-node .cm-note{overflow:hidden;text-overflow:ellipsis}.cm-node .cm-knob,.cm-node .cm-leaf{align-self:center}.cm-add-btn{font:inherit;font-size:12px;background:transparent;border:0;padding:0;color:inherit;cursor:pointer;width:100%;text-align:left}.cm-add-input{font:inherit;font-size:12px;width:100%;border:0;border-bottom:1px solid var(--fg, #1a1d21);background:transparent;color:inherit;outline:none}.cm-add-blocked{opacity:.45;cursor:help}.cm-add-blocked span{text-decoration:underline dotted}.cm-mirror{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line, #e3e6ea)}.cm-mirror-list{list-style:none;margin:0;padding:0;counter-reset:step}.cm-mirror-list li{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:12px;opacity:.55;border-bottom:1px dotted var(--line, #e3e6ea)}.cm-mirror-list li.done{opacity:1}.cm-mirror-label{font-weight:550}.cm-mirror-val{font-family:ui-monospace,IBM Plex Mono,monospace;font-size:11px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-cond{border-color:var(--fg, #1a1d21);cursor:default}.cm-root{--cm-ink: #1a1d21;--cm-ink-2: #5b636c;--cm-line: #dfe3e8;--cm-line-soft: #edf0f3;--cm-card: #fff;--cm-ground: #f4f6f8;background:var(--cm-ground)}.cm-canvas{cursor:grab;background:repeating-linear-gradient(to right,var(--cm-line-soft) 0 1px,transparent 1px 200px);background-position:200px 0}.cm-canvas.panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.cm-canvas.panning .cm-node{pointer-events:none}.cm-rail{background:linear-gradient(var(--cm-ground) 72%,rgba(244,246,248,0));border-bottom:1px solid var(--cm-line);padding-bottom:10px}.cm-col{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cm-ink-2);opacity:1}.cm-col-end{opacity:1;color:var(--cm-ink)}.cm-col-answered{opacity:1}.cm-col-answered b{display:block;margin-top:3px;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--cm-ink)}.cm-node{border:1px solid var(--cm-line);background:var(--cm-card);color:var(--cm-ink);padding:6px 9px;box-shadow:0 1px 2px #10161c0a;transition:border-color .12s ease,box-shadow .12s ease}.cm-node:hover{border-color:#aeb6bf;box-shadow:0 2px 6px #10161c17}.cm-node.sel{border-color:var(--cm-ink);box-shadow:0 0 0 1px var(--cm-ink),0 3px 10px #10161c21}.cm-node.dim{opacity:.3;box-shadow:none}.cm-dot{width:6px;height:6px;flex:0 0 6px;border-radius:50%;display:inline-block}.cm-label{font-size:12.5px;font-weight:550;letter-spacing:-.005em;color:var(--cm-ink)}.cm-meta{color:var(--cm-ink-2);opacity:1;font-size:10.5px}.cm-code{color:var(--cm-ink);font-weight:600;letter-spacing:-.01em}.cm-fact{color:var(--cm-ink-2)}.cm-knob{color:var(--cm-ink-2);opacity:1;font-size:11px;padding:2px 3px}.cm-knob:hover{color:var(--cm-ink)}.cm-cond{background:#fbfcfd;border-color:#cdd4db}.cm-cond .cm-label{font-weight:600}.cm-cond.pinned{background:#fffaf0;border-color:#d9b978}.cm-add{position:absolute;display:flex;align-items:center;gap:6px;font:inherit;font-size:11.5px;color:var(--cm-ink-2);background:transparent;border:1px dashed #c8cfd6;padding:0 8px;cursor:pointer;text-align:left;box-sizing:border-box}.cm-add:hover{color:var(--cm-ink);border-color:var(--cm-ink);background:#fff}.cm-add-open{display:block;border-style:solid;border-color:var(--cm-ink);background:var(--cm-card);padding:7px 8px;box-shadow:0 6px 18px #10161c29}.cm-add-pick,.cm-add-input{font:inherit;font-size:12px;width:100%;box-sizing:border-box;border:1px solid var(--cm-line);background:#fff;color:var(--cm-ink);padding:4px 5px;margin-bottom:4px}.cm-add-input:focus,.cm-add-pick:focus{outline:2px solid var(--cm-ink);outline-offset:-1px}.cm-add-err{display:block;font-size:11px;color:#8a2b2b;line-height:1.35}.cm-add-off{border-style:dotted;cursor:default;color:#8c949c}.cm-zoomer{display:flex;align-items:stretch;border:1px solid var(--cm-line);background:#fff}.cm-zoomer button{font:inherit;font-size:12px;min-width:26px;padding:4px 6px;background:transparent;border:0;border-right:1px solid var(--cm-line);color:var(--cm-ink);cursor:pointer}.cm-zoomer button:last-child{border-right:0}.cm-zoomer button:hover{background:var(--cm-ground)}.cm-zoom-val{font-variant-numeric:tabular-nums;min-width:46px!important;color:var(--cm-ink-2)!important}.cm-zoom-fit{font-weight:600}.cm-side{background:var(--cm-card);border-left:1px solid var(--cm-line)}.cm-facts dt,.cm-side-sub,.cm-hint{color:var(--cm-ink-2);opacity:1}.cm-mirror-list li{opacity:1;color:#8c949c;border-bottom-color:var(--cm-line-soft)}.cm-mirror-list li.done{color:var(--cm-ink)}.cm-canvas{cursor:default}.cm-node{height:56px;align-items:center}.cm-label{white-space:normal;overflow:hidden;text-overflow:clip;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.22;max-height:2.44em}.cm-meta{flex-wrap:nowrap}.cm-side-toggle{align-self:stretch;width:16px;flex:0 0 16px;font:inherit;font-size:12px;line-height:1;background:var(--cm-ground, #f4f6f8);border:0;border-left:1px solid var(--cm-line, #dfe3e8);color:var(--cm-ink-2, #5b636c);cursor:pointer;padding:0}.cm-side-toggle:hover{background:#e9edf1;color:var(--cm-ink, #1a1d21)}.app-shell,.popout-body,.estimate-popup{color-scheme:light;font-family:var(--font-body);font-size:13px;line-height:normal;--bg: var(--paper);--surface: var(--card);--border: var(--rule);--text: var(--ink);--dim: var(--ink-3);--accent: var(--hi);background:var(--bg);color:var(--text);font-variant-numeric:tabular-nums}*{box-sizing:border-box;margin:0}.app-shell{display:flex;flex-direction:column;height:100vh}.calib-status{color:var(--dim);white-space:nowrap;font-size:11px}.populate-btn{border-color:var(--accent)!important;color:var(--accent)!important;font-weight:600}.pill-group{display:flex;gap:4px}.pill{text-transform:capitalize}.pill.active{border-color:var(--pill)!important;color:var(--pill)!important}.snap-toggle{color:var(--dim);display:flex;align-items:center;gap:4px}.body-row{flex:1;display:flex;min-height:0}.workspace{flex:1;min-height:0;position:relative}.split{display:flex;width:100%;height:100%}.pane{position:relative;min-width:0}.viewport3d{width:100%;height:100%}.viewport3d canvas{display:block;width:100%!important;height:100%!important}.plan-wrap{position:relative;width:100%;height:100%}.plan-canvas{width:100%;height:100%;display:block}.plan-canvas[data-mode=calibrate],.plan-canvas[data-mode=route]{cursor:crosshair}.plan-canvas[data-mode=select]{cursor:default}.plan-canvas[data-mode=count]{cursor:cell}.plan-canvas[data-mode=area]{cursor:crosshair}.sel-panel{position:absolute;z-index:10;display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--accent);border-radius:6px;padding:5px 8px;font-size:12px}.sel-panel .sel-count{color:var(--dim)}.sel-panel button{background:none;color:var(--text);border:1px solid var(--border);border-radius:4px;padding:2px 8px;cursor:pointer;font:inherit;font-size:12px}.sel-panel button:hover{border-color:var(--accent)}.draw-controls{display:inline-flex;align-items:center;gap:4px}.draw-controls input{background:var(--surface);color:var(--text);border:1px solid var(--accent);border-radius:4px;padding:4px 6px;font:inherit;font-weight:600}.draw-controls input:focus{outline:2px solid var(--accent);outline-offset:-1px}.draw-controls #draw-w-input,.draw-controls #draw-h-input{width:44px;text-align:center}.draw-controls #draw-elev-input{width:48px;text-align:center}.draw-controls #draw-drop-input{width:56px;text-align:center}.drop-btn{background:var(--surface);color:var(--text);border:1px solid var(--accent);border-radius:4px;padding:3px 7px;cursor:pointer;font:inherit}.draw-unit{color:var(--dim);font-size:11px}.job-name{background:none;color:var(--text);border:1px solid transparent;border-radius:4px;padding:4px 8px;font:inherit;font-weight:600;width:160px}.job-name:hover,.job-name:focus{border-color:var(--border);background:var(--surface)}.toast{position:fixed;bottom:56px;right:16px;z-index:30;background:var(--surface);border:1px solid var(--accent);border-radius:6px;padding:8px 14px;font-size:13px}.stale-banner{display:flex;align-items:center;gap:10px;padding:6px 14px;font-size:12px;background:var(--hi-soft);color:var(--amber);border-bottom:1px solid var(--hi)}.stale-banner button{background:none;color:inherit;border:1px solid var(--hi);padding:2px 10px;font:inherit;font-size:11px;font-weight:600;cursor:pointer}.stale-banner button:hover{background:var(--hi);color:#fff}.select-flyout{display:flex;flex-direction:column;gap:2px;margin-top:4px;padding-top:4px;border-top:1px solid var(--border)}.select-flyout button{font-size:12px;padding:5px 2px}.labor-panel h3{font:700 13px var(--font-cond);display:flex;align-items:center;gap:8px}.labor-panel .badge{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1px 8px;font-size:11px;font-weight:400;color:var(--dim)}.labor-panel .row{display:flex;justify-content:space-between;align-items:center;gap:8px}.labor-panel .row>span:first-child{color:var(--dim);display:flex;align-items:center;gap:5px}.labor-panel .row b{font-weight:600}.labor-panel input{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 6px;font:inherit;width:90px;text-align:right}.labor-panel .crew{display:flex;align-items:center;gap:6px}.labor-panel .crew input{width:44px}.labor-panel .stepper{display:flex;align-items:center;gap:4px}.labor-panel .stepper input{width:56px}.labor-panel .stepper button{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;width:24px;height:24px;cursor:pointer}.ovr-dot{width:7px;height:7px;background:var(--hi);display:inline-block}.line-panel{padding:10px;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:6px;font-size:12px}.line-panel h3{font:700 13px var(--font-cond);display:flex;align-items:center;gap:8px;margin:0}.line-panel h4{font:700 11px var(--font-cond);color:var(--dim);margin:8px 0 0;text-transform:uppercase}.line-panel .badge{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1px 8px;font-size:11px;font-weight:400;color:var(--dim)}.line-row{border:1px solid var(--border);border-radius:5px;padding:6px;cursor:pointer;display:flex;flex-direction:column;gap:5px}.line-row:hover{border-color:var(--dim)}.line-row.active{border-color:var(--accent);background:var(--surface)}.line-head{display:flex;align-items:center;gap:6px}.line-head .dim{margin-left:auto;font-size:11px}.line-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.line-del{background:none;border:none;color:var(--dim);cursor:pointer;font:inherit;padding:0 2px;flex:0 0 auto}.line-del:hover{color:var(--red)}.line-fields{display:flex;gap:4px}.line-fields input{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:2px 4px;font:inherit;width:58px;text-align:center}.line-fields select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:2px;font:inherit;font-size:11px;flex:1;min-width:0}.labor-panel .chip{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:2px 9px;cursor:pointer;font:inherit;font-size:12px}.labor-panel .chip.active{border-color:var(--accent);color:var(--accent)}.labor-panel select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 6px;font:inherit;max-width:170px}.link{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;font-size:12px;text-align:left;padding:0}.small{font-size:12px}.cost-tracker{display:flex;align-items:center;gap:20px;border-top:1px solid var(--border);padding:7px 16px;font-size:13px}.cost-tracker span{color:var(--dim);font:700 10px var(--font-cond);letter-spacing:.6px;text-transform:uppercase;display:inline-flex;align-items:center}.cost-tracker b{color:var(--text);margin-left:5px;font:500 13px IBM Plex Mono,monospace;font-variant-numeric:tabular-nums}.cost-tracker .grand b{color:var(--accent)}.sys-chips{margin-left:auto;display:flex;gap:8px}.chip{border:1px solid;border-radius:10px;padding:1px 10px;font-size:11px;text-transform:capitalize}.modal-back{position:fixed;inset:0;background:#16181a73;display:grid;place-items:center;z-index:20}.modal{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:16px;min-width:560px;max-height:80vh;overflow-y:auto}.modal h3{font:700 15px var(--font-cond);margin-bottom:12px}.modal table{border-collapse:collapse;width:100%}.modal th{text-align:left;color:var(--dim);font-weight:400;font-size:12px;padding:4px 8px}.modal td{padding:4px 8px;border-top:1px solid var(--border)}.modal input:not([type=checkbox]),.modal select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:4px 6px;font:inherit}.modal-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px}.modal-actions button{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:5px 12px;font:inherit;cursor:pointer}.modal-wide{min-width:900px;max-width:95vw}.modal h4{margin:14px 0 6px;color:var(--dim);font:600 11px var(--font-cond);text-transform:uppercase;letter-spacing:.05em}.modal input.num{width:64px}.modal .band{display:inline-flex;gap:2px;margin-right:8px;align-items:center}.modal tbody button,.modal>button{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font:inherit;cursor:pointer}.modal>button{padding:4px 10px;margin-top:6px}.lib-msg{color:var(--dim);font-size:12px;flex:1}.spine-modal{min-width:900px;max-width:95vw}.spine-bar{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:12px}.spine-bar .spine-filter{width:200px}.spine-bar label{display:inline-flex;align-items:center;gap:4px;color:var(--dim);cursor:pointer}.spine-bar button{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 10px;font:inherit;font-size:12px;cursor:pointer}.spine-bulk{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding:6px 10px;background:var(--paper-2);border:1px solid var(--accent);border-radius:4px;font-size:12px}.spine-bulk button{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 10px;font:inherit;font-size:12px;cursor:pointer}.spine-table{font-size:12px}.spine-table tbody tr{cursor:pointer}.spine-table tbody tr:hover{background:var(--paper-2)}.spine-table tbody tr.active{background:var(--paper-2);box-shadow:inset 3px 0 0 var(--accent)}.spine-table tbody tr.archived{color:var(--dim)}.spine-table .num{text-align:right;font-family:var(--font-mono)}.spine-table input.num{width:78px;text-align:right}.spine-table .row-btns{text-align:right;white-space:nowrap}.spine-table .row-btns button{background:none;border:0;color:var(--dim);cursor:pointer;padding:0 3px;font-size:12px}.spine-table .row-btns button:hover{color:var(--text)}.spine-table .line-dot{margin-right:6px}.popout-body{background:var(--bg, #f1f0ec);color:var(--text, #16181a);padding:12px;margin:0}.popout-body .labor-panel{width:auto;border:none;flex:none;height:auto;min-height:100%}.popout-three{position:fixed;inset:0}.popout-three .viewport3d{width:100%;height:100%}.pop-btn{background:none;color:var(--dim);border:1px solid var(--border);border-radius:4px;padding:0 6px;font-size:11px;cursor:pointer;margin-left:6px}.pop-btn:hover{color:var(--text);border-color:var(--accent)}.pane-pop{position:absolute;top:8px;left:8px;z-index:5;background:var(--card);box-shadow:var(--shadow-1)}.pane-3d{position:relative}.pane-stub{display:grid;place-items:center;gap:8px;height:100%;color:var(--dim);font-size:13px}.pane-stub button{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 10px;font:inherit;cursor:pointer}.estimate-grid{min-width:960px}.estimate-fill{top:54px;background:var(--bg);place-items:stretch}.estimate-fill .modal{min-width:0;max-width:none;max-height:none;border:0;border-radius:0;overflow:auto}.estimate-popup{background:var(--bg, #f1f0ec);color:var(--text, #16181a);padding:16px}.estimate-popup .estimate-grid{min-width:0}.estimate-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.estimate-toolbar h3{margin:0 8px 0 0}.estimate-toolbar label{color:var(--dim);font-size:12px}.estimate-toolbar button,.estimate-grid>button{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:4px 10px;font:inherit;cursor:pointer}.col-toggles{display:inline-flex;gap:8px}.ws-scroll{overflow:auto;resize:vertical;height:60vh;min-height:140px}.estimate-popup .ws-scroll{height:auto;max-height:none;resize:none}.estimate-grid table{border-collapse:collapse;width:100%}.estimate-grid th{text-align:left;color:var(--dim);font-weight:400;font-size:12px;padding:4px 8px}.estimate-grid td{padding:3px 8px;border-top:1px solid var(--border)}.estimate-grid td.r{text-align:right;font-variant-numeric:tabular-nums}.estimate-grid tr.subbed td{color:var(--dim);font-style:italic}.estimate-grid input:not([type=checkbox]),.estimate-grid select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 6px;font:inherit}.estimate-grid input.num{width:80px;text-align:right}.estimate-grid input.tiny{width:48px}.var-over{color:var(--red)}.var-under{color:var(--green)}.expand-btn{background:none;border:none;color:var(--text);font:inherit;cursor:pointer;padding:0}.kind-subrow td{color:var(--dim);font-size:12px}.kind-subrow .sub-name{padding-left:22px;text-transform:capitalize}.by-kind{margin-top:10px;border-top:1px solid var(--border);padding-top:6px}.by-kind h4{color:var(--dim);font:600 10px var(--font-cond);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.kind-row .kind-name{text-transform:capitalize}.kind-nums{display:inline-flex;align-items:center;gap:4px;color:var(--dim);font-size:12px}.kind-nums input{width:46px;text-align:right;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:1px 4px;font:inherit;font-size:12px}.estimate-footer{margin-top:12px;border-top:1px solid var(--border);padding-top:8px}.foot-row{display:flex;align-items:center;gap:8px;justify-content:flex-end;padding:3px 8px}.foot-row.sell{font-size:16px;margin-top:6px}.foot-row.foot-craft{font-size:11px;color:var(--dim);padding:1px 8px 1px 24px}.foot-row.foot-craft b{color:var(--dim);font-weight:600}.foot-row.sell b{color:var(--accent)}.foot-row.ws-markup input,.foot-row.ws-markup select,.foot-row.ws-sqft input{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:1px 4px;font:inherit;font-size:12px}.foot-row.ws-markup .mk-label{width:160px}.mk-value{width:64px;text-align:right}.foot-row.ws-markup b,.foot-row.sell b,.foot-row.ws-sqft b{min-width:80px;text-align:right}.ws-issues{margin-top:10px;border-top:1px solid var(--border);padding-top:6px}.ws-di{margin-top:8px;border-top:1px solid var(--border);padding-top:6px;color:var(--muted, #9aa0a8);font-size:12px}.ws-issue{display:flex;align-items:center;gap:6px;color:var(--amber);font-size:12px;padding:1px 8px}.ws-issue button{margin-left:auto}.ws-tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:8px}.ws-tabs button{background:var(--surface);color:var(--dim);border:1px solid var(--border);border-radius:4px 4px 0 0;padding:3px 10px;font:inherit;font-size:12px;cursor:pointer}.ws-tabs button.on{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.ws-tabs .ws-tab-x{margin-left:6px;color:var(--dim)}.ws-tabs .ws-tab-x:hover{color:var(--red)}.ws-tabs input{background:var(--surface);color:var(--text);border:1px solid var(--accent);border-radius:4px;padding:3px 6px;font:inherit;font-size:12px;width:110px}.ws-controls{font-size:12px}.ws-dd{position:relative}.ws-dd summary{cursor:pointer;border:1px solid var(--border);border-radius:4px;padding:3px 10px;background:var(--surface);list-style:none;-webkit-user-select:none;user-select:none}.ws-dd-body{position:absolute;z-index:8;top:calc(100% + 2px);left:0;min-width:170px;display:flex;flex-direction:column;gap:3px;padding:8px;background:var(--bg, #f1f0ec);border:1px solid var(--border);border-radius:4px}.ws-dd-body label{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px}.ws-dd-body hr{border:none;border-top:1px solid var(--border);margin:3px 0;width:100%}.ws-views{display:inline-flex;align-items:center;gap:4px;margin-left:auto}.ws-views input{width:110px}.estimate-grid th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.ws-sec-row td{border-top:2px solid var(--border);background:var(--paper-2)}.ws-sec-row .expand-btn{width:18px}tr.sec-ghost td{opacity:.55}.ws-cond-subs{float:right;display:inline-flex;gap:16px;color:var(--dim)}.ws-cond-subs b{color:var(--text);margin-left:4px}.estimate-grid table.rh-compact td{padding:1px 8px}.estimate-grid table.rh-tall td{padding:7px 8px}.dim{color:var(--dim)}.dim-note{color:var(--dim);margin:8px 0}.labor-only{cursor:pointer}.dist-input{position:absolute}.dist-input input{background:var(--surface);color:var(--text);border:1px solid var(--accent);border-radius:4px;padding:4px 8px;font:inherit;width:110px}.cursor-field{position:absolute;display:flex;gap:4px;align-items:center;background:var(--card);border:1px solid var(--ink);padding:5px 7px;pointer-events:none;box-shadow:var(--shadow-1)}.cursor-field input{pointer-events:auto;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 6px;font:inherit;font-size:13px;font-weight:600}.cursor-field input:focus{border-color:var(--accent);outline:none}.cursor-field .size-input{width:68px}.cursor-field .elev-input{width:52px}.field-hint{color:var(--dim);font-size:11px}.field-hint .seg-len{color:var(--text);font-size:12px;margin-right:6px}.cursor-field span.elev-input{color:var(--text);font-size:13px;font-weight:600;padding:3px 2px}.slope-chip{pointer-events:auto;cursor:pointer;background:var(--bg);color:var(--dim);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font:inherit;font-size:13px;line-height:1}.slope-chip.lit{background:var(--hi-soft);border-color:var(--hi);color:var(--text)}.item-chip{pointer-events:auto;cursor:pointer;background:var(--bg);color:var(--dim);border:1px solid var(--border);border-radius:4px;padding:2px 7px;font:600 10px var(--font-cond);letter-spacing:.1em;line-height:1.5}.item-chip.lit{background:var(--hi-soft);border-color:var(--hi);color:var(--text)}.item-chip:disabled{opacity:.4;cursor:default}.item-chip-wrap{position:relative;display:inline-flex}.item-picker{position:absolute;z-index:60;top:calc(100% + 6px);left:0;width:340px;max-height:460px;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--ink);box-shadow:var(--shadow-2);color:var(--text);text-align:left}.ip-head{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--rule)}.ip-title{font:600 10px var(--font-cond);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ip-search{flex:1 1 auto;min-width:0;height:20px;padding:0 6px;font:11px var(--font-mono)}.tier2 .ip-close{background:none;border:1px solid var(--border);color:var(--dim);cursor:pointer;padding:0 6px;font-size:12px;line-height:18px}.ip-body{overflow-y:auto;padding:4px 0}.ip-group h5{margin:0;padding:5px 10px 3px;position:sticky;top:0;background:var(--card);font:600 9.5px var(--font-cond);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid var(--rule)}.tier2 .ip-row{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;background:none;border:0;border-bottom:1px solid var(--rule);padding:4px 10px;font:11px var(--font-cond);color:var(--text);cursor:pointer;text-align:left}.tier2 .ip-row:hover{background:var(--hi-soft);border-color:var(--rule)}.tier2 .ip-row.mru{border-left:2px solid var(--hi)}.ip-name{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sym-icon{flex:none;width:15px;height:15px;color:var(--dim)}.cat-img{width:22px;height:15px}.spec-window{max-width:min(1200px,94vw)}.spec-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0}.spec-bar label{display:flex;align-items:center;gap:6px}.spec-hint{color:var(--dim);font-size:11px}.spec-badge{border:1px solid var(--dim);border-radius:3px;padding:0 5px;font-size:10px;color:var(--dim);letter-spacing:.04em}.spec-grid-wrap{max-height:58vh;overflow:auto;border:1px solid var(--line, #333)}.spec-grid{border-collapse:collapse;font-size:12px}.spec-grid th.spec-row-head{position:sticky;left:0;z-index:2;background:var(--panel, #1b1b1b);text-align:left;white-space:nowrap;padding:2px 10px 2px 6px;font-weight:400}.spec-grid thead th{position:sticky;top:0;z-index:3;background:var(--panel, #1b1b1b);padding:2px 6px;white-space:nowrap}.spec-grid thead th.spec-row-head{z-index:4}.spec-grid tr.spec-group th{position:sticky;left:0;text-align:left;padding:6px 6px 2px;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.spec-grid td{text-align:center;padding:1px 4px}.spec-grid th.spec-row-head{display:table-cell}.spec-grid th.spec-row-head .sym-icon,.spec-grid th.spec-row-head .cat-img{vertical-align:middle;margin-right:6px;display:inline-block}.spec-del-size{margin-left:4px;padding:0 3px;line-height:1}.cond-pal-title button.spec-on{color:var(--text)}.part-card{display:flex;align-items:center;gap:10px;padding:6px 10px;border-bottom:1px solid var(--line, #333)}.part-card .cat-img{width:50px;height:34px;flex:none;color:var(--text)}.part-card-name{font-size:12px}.part-card-sub{font-size:10px;color:var(--dim);letter-spacing:.02em}.cat-img>svg{width:100%;height:100%;display:block}.tier2 .ip-row:hover .sym-icon,.tier2 .ip-row.mru .sym-icon{color:var(--text)}.ip-mru-tag{font:600 8.5px var(--font-cond);letter-spacing:.1em;text-transform:uppercase;color:var(--hi)}.ip-empty,.ip-note{margin:0;padding:8px 10px;font-size:10.5px;color:var(--dim);line-height:1.5}.ip-note{border-top:1px solid var(--rule)}.slope-readout{display:flex;align-items:center;gap:7px;border-left:1px solid var(--border);margin-left:4px;padding-left:7px;font-size:11px;color:var(--dim);white-space:nowrap}.slope-readout .slope-target{color:var(--text);font-size:14px}.slope-readout .slope-delta{color:var(--text)}.slope-ladder{display:flex;gap:5px}.slope-rung{color:var(--dim);opacity:.55}.slope-rung.lit{color:var(--hi);opacity:1;font-weight:700}.slope-rung.free{color:var(--text);opacity:.8;font-style:italic}.slope-connect{color:var(--hi);font-weight:700}.slope-fitting{color:var(--text)}.terminal-panel{background:var(--hi-soft);border-bottom:2px solid var(--hi);padding:8px 10px;font-size:12px;display:flex;flex-direction:column;gap:5px}.terminal-panel .tp-title{font:700 12px var(--font-cond);margin-bottom:2px}.terminal-panel label{display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--dim)}.terminal-panel input,.terminal-panel select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:2px 5px;font:inherit;font-size:12px;width:120px}.terminal-panel input:focus,.terminal-panel select:focus{border-color:var(--accent);outline:none}.terminal-panel .tp-actions{display:flex;gap:5px;margin-top:4px}.terminal-panel .tp-actions button{flex:1}.align-panel{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:5;background:var(--card);border:1px solid var(--ink);border-radius:6px;padding:8px 12px;max-width:560px;font-size:12px;color:var(--ink);box-shadow:var(--shadow-2)}.align-panel .align-row{display:flex;gap:10px;align-items:center}.align-panel select{background:var(--paper-2);color:inherit;border:1px solid var(--rule-2)}.align-panel .align-hint{margin-top:6px;color:var(--ink-3)}.align-panel .align-trip{margin-top:6px;color:var(--red)}.align-panel .align-actions{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.align-panel .align-actions button{background:var(--paper-2);color:var(--ink);border:1px solid var(--ink);border-radius:4px;padding:3px 10px;cursor:pointer;font-size:12px}.align-panel .align-actions button:hover{border-color:var(--accent)}.align-panel .align-actions .align-confirm{background:var(--hi);color:#fff;border-color:var(--hi)}.align-panel .align-actions .align-danger{border-color:var(--red);color:var(--red)}.cond-palette{display:flex;flex-direction:column;gap:4px;font-size:12px}.cond-pal-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;cursor:pointer;-webkit-user-select:none;user-select:none;font:700 12px var(--font-cond);text-transform:uppercase;letter-spacing:.06em;background:var(--paper-2);border-bottom:1px solid var(--rule)}.cond-pal-title button{background:none;border:none;color:inherit;cursor:pointer;padding:0 2px}.cond-pal-body{padding:6px;display:flex;flex-direction:column;gap:2px}.cond-pal-sys{font:700 10px var(--font-cond);color:var(--dim);text-transform:uppercase;margin:6px 2px 2px}.cond-pal-group:first-child .cond-pal-sys{margin-top:0}.cond-pal-row{display:flex;align-items:center;gap:7px;padding:4px 6px;border-radius:5px;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid transparent}.cond-pal-row:hover{background:var(--paper-2)}.cond-pal-row.active{background:color-mix(in srgb,var(--cond) 18%,#fbfaf8);border-color:var(--cond);box-shadow:inset 3px 0 0 var(--cond);font-weight:700}.cond-pal-row.archived .cond-name{color:var(--dim);font-style:italic}.cond-vis{flex:none;width:12px;height:12px;margin:0;cursor:pointer;accent-color:var(--cond)}.cond-pal-row.hidden-cond .cond-swatch,.cond-pal-row.hidden-cond .cond-name{opacity:.45}.cond-swatch{width:12px;height:12px;border-radius:3px;background:var(--cond);flex:none}.cond-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cond-scope-tag{margin-left:6px;padding:0 4px;border-radius:3px;font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;vertical-align:middle;border:1px solid currentColor;opacity:.8}.cond-warn-tag{margin-left:5px;color:#b84a10}.cond-qty{flex:none;font-size:10px;color:var(--dim, #868b90);font-variant-numeric:tabular-nums;white-space:nowrap}.cond-row-btns{display:none;gap:2px;flex:none}.cond-pal-row:hover .cond-row-btns,.cond-pal-row.active .cond-row-btns{display:flex}.cond-row-btns button{background:none;border:none;color:var(--dim);cursor:pointer;padding:0 2px;font-size:12px}.cond-row-btns button:hover{color:var(--ink)}.cond-panel{max-width:440px;max-height:min(86vh,100%);display:flex;flex-direction:column;overflow:hidden}.cond-panel>h3{flex:0 0 auto}.cond-panel>.cond-panel-body{overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1 1 auto}.cond-panel>.cond-panel-btns{flex:0 0 auto;padding-top:8px}.cond-wizard{display:flex;flex-direction:column;gap:7px;margin:10px 0}.cond-wizard-step>select{flex:1;min-width:0}.cond-wizard-step[data-answered="0"]>select{border-color:var(--accent, #d2481a)}.cond-wizard-step[data-answered="1"]>span{opacity:.8}.cond-wizard-custom{display:flex;flex-direction:column;gap:6px;margin:2px 0 6px 12px;padding:8px 10px;border-left:2px solid var(--accent, #d2481a);background:var(--surface);border-radius:0 6px 6px 0}.cond-wizard-custom .cond-panel-btns{justify-content:flex-end;padding-top:2px}.cond-panel-fields{display:flex;flex-direction:column;gap:7px;margin:10px 0}.cond-panel-field{display:flex;align-items:center;gap:10px;font-size:12px}.cond-panel-field>span{width:130px;flex:none;color:var(--dim)}.cond-panel-field>input:not([type=checkbox]),.cond-panel-field>select,.cond-panel-field>textarea{flex:1;min-width:0}.cond-panel-field>textarea{min-height:44px;resize:vertical}.cond-field-warn{margin:-3px 0 3px 140px;font:600 11px var(--font-cond);line-height:1.4;color:var(--accent, #d2481a)}.cond-rate{display:flex;flex-wrap:wrap;gap:4px;align-items:center;flex:1;min-width:0}.cond-rate-value{flex:1 1 60px;min-width:52px}.cond-rate-unit,.cond-rate-crew{flex:0 1 auto;font-size:11px}.cond-rate-derived{flex:1 0 100%;font:500 10px var(--font-cond);opacity:.75}.cond-panel-advanced{margin:2px 0 8px;border-top:1px solid var(--line, #2a2f36);padding-top:6px}.cond-panel-advanced>summary{cursor:pointer;font:700 11px var(--font-cond);letter-spacing:.04em;text-transform:uppercase;padding:4px 0;-webkit-user-select:none;user-select:none}.cond-panel-advanced>summary .dim{font-weight:500;text-transform:none;letter-spacing:0}.cond-invalid-badge{margin-left:6px;color:var(--accent, #d2481a);font-weight:700;cursor:help}.cond-nobasis{margin-left:6px;opacity:.45;cursor:help}.cond-basis-review{margin-left:4px;color:var(--accent, #d2481a);cursor:help}.cond-cat-review{margin-left:4px;color:var(--accent, #d2481a);font-size:10px;cursor:help}.cond-pal-cat{display:flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none;font:700 11px var(--font-cond);color:var(--text);text-transform:uppercase;letter-spacing:.04em;margin:9px 2px 3px;padding-bottom:3px;border-bottom:1px solid var(--border)}.cond-pal-group:first-child .cond-pal-cat{margin-top:0}.cond-pal-trades{display:flex;gap:2px;margin:0 2px 4px;border-bottom:1px solid var(--border)}.cond-pal-trade{flex:1 1 0;min-width:0;padding:3px 6px;background:none;border:none;border-bottom:2px solid transparent;font:600 10px var(--font-cond);color:var(--dim);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cond-pal-trade:hover{color:var(--text)}.cond-pal-trade.on{color:var(--text);border-bottom-color:var(--accent, #4c8dff)}.cond-pal-trade-head{display:flex;align-items:center;gap:6px;margin:10px 2px 2px;font:700 9px var(--font-cond);color:var(--dim);text-transform:uppercase;letter-spacing:.1em}.cond-pal-group:first-child .cond-pal-trade-head{margin-top:0}.cond-pal-trade-head+.cond-pal-cat{margin-top:3px}.cond-pal-caret{opacity:.55;font-size:9px;width:8px}.cond-pal-cat-name{flex:1}.cond-pal-chip{margin-left:auto;font:400 10px var(--font-cond);color:var(--dim);text-transform:none;letter-spacing:0}.cond-pal-sub{margin-left:8px}.cond-pal-sub .cond-pal-sys{display:flex;align-items:center;gap:6px}.basis-section{margin:8px 0;border-top:1px solid var(--line, #2a2f36);padding-top:6px}.basis-head{font:700 11px var(--font-cond);letter-spacing:.04em;text-transform:uppercase;padding-bottom:4px}.basis-head .dim{font-weight:500;text-transform:none;letter-spacing:0}.basis-row{display:flex;align-items:baseline;gap:6px;padding:3px 0;font-size:12px}.basis-row .basis-text{flex:1;min-width:0}.basis-author{flex:0 0 auto;font:700 9px var(--font-cond);letter-spacing:.05em;padding:0 4px;border:1px solid currentColor;border-radius:3px;opacity:.8}.basis-author.ai{color:var(--accent, #d2481a)}.basis-review,.basis-imageonly{flex:0 0 auto;font:700 9px var(--font-cond);text-transform:uppercase;letter-spacing:.05em;color:var(--accent, #d2481a);cursor:help}.basis-field{flex:0 0 auto;font:600 10px var(--font-cond);opacity:.7}.basis-jump{background:none;border:1px solid var(--border);border-radius:3px;color:inherit;font:inherit;font-size:11px;cursor:pointer;padding:0 4px}.basis-add{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:4px 0}.basis-add input{flex:1 1 200px}.doc-viewer{max-width:96vw;display:flex;flex-direction:column;gap:8px}.doc-viewer-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.doc-viewer-pages{display:inline-flex;align-items:center;gap:4px}.doc-viewer-close{margin-left:auto}.doc-capture-armed{color:var(--accent, #d2481a);font-weight:600}.doc-viewer-page{position:relative;overflow:auto;max-height:74vh}.doc-viewer-page canvas{display:block;background:#fff}.doc-viewer-page canvas.capturing{cursor:crosshair}.doc-drag-rect{position:absolute;border:2px solid var(--accent, #d2481a);background:#d2481a29;pointer-events:none}.ws-cite{margin-left:4px}.ws-cite-jump,.ws-cite-std{background:none;border:none;color:var(--accent, #d2481a);font:inherit;padding:0 1px}.ws-cite-jump{cursor:pointer}.ws-cite-std{cursor:help;opacity:.7}.cnd-table{width:100%;border-collapse:collapse;font-size:12px}.cnd-table th{text-align:left;font:700 11px var(--font-cond);color:var(--dim);padding:4px 8px;border-bottom:1px solid var(--rule)}.cnd-table th.r,.cnd-table td.r{text-align:right}.cnd-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.cnd-table td{padding:3px 8px;border-bottom:1px solid var(--rule)}.cnd-row{cursor:default}.cnd-row>td{font-size:12px}.cnd-swatch{display:inline-block;width:9px;height:9px;border-radius:2px;vertical-align:baseline}.cnd-item-head th{font-size:10px;padding:2px 8px;background:var(--surface)}.cnd-item td{color:var(--dim);font-size:11px;padding:2px 8px}.cnd-desc{max-width:34ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cnd-subtotal td{font-weight:600;border-bottom:1px solid var(--rule);background:var(--surface);font-size:11px}.cnd-scroll{max-height:70vh}.ws-trade-row td{border-top:2px solid var(--accent, #d2481a);padding-top:5px}.ws-trade-row b:first-child{letter-spacing:.08em;font:700 12px var(--font-cond)}.ws-unpriced{display:inline-block;margin-left:6px;padding:0 5px;border-radius:9px;border:1px solid var(--accent, #d2481a);color:var(--accent, #d2481a);font:700 9px/15px var(--font-cond);letter-spacing:.06em;cursor:help;white-space:nowrap}.cond-items{margin:8px 0;border-top:1px solid var(--line, #2a2f36);padding-top:6px}.cond-items h4{font:700 11px var(--font-cond);letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px}.cond-items-derived{width:100%;border-collapse:collapse;font-size:12px}.cond-items-derived td{padding:2px 4px 2px 0}.cond-items-derived .ci-desc{max-width:0;width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ci-qty{color:var(--dim);white-space:nowrap;text-align:right}.ci-total{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.cond-items-row{display:flex;align-items:center;gap:8px;font-size:12px;padding:3px 0}.cond-items-row .ci-desc{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ci-d1{color:var(--dim);white-space:nowrap}.ci-typed{width:40px;text-align:right}.cond-items-add{display:flex;align-items:center;gap:10px;font-size:12px;margin-top:6px}.cond-items-add>span{width:130px;flex:none;color:var(--dim)}.cond-items-add>select{flex:1;min-width:0}.cond-panel-btns{display:flex;justify-content:flex-end;gap:8px}.cond-panel-btns button[data-testid=cp-save]{font-weight:700}.cond-notice{align-self:flex-start;cursor:pointer;padding:6px 10px;border-radius:6px;font:600 12px var(--font-cond);background:var(--hi);color:#fff;border:1px solid var(--hi)}.notice-host{position:fixed;z-index:60;top:52px;left:0;right:0;display:flex;justify-content:center;pointer-events:none}.notice-host .cond-notice{align-self:auto;pointer-events:auto;max-width:min(680px,90vw);line-height:1.45;box-shadow:0 8px 24px #00000059}.cond-pal-add{margin-top:4px;width:100%}.catcbx{position:relative;flex:1;min-width:0}.catcbx-value{width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:3px 8px;text-align:left;font:inherit;cursor:pointer;background:var(--surface, #fbfaf8);color:var(--text, #16181a);border:1px solid var(--border, #d2cfc7);border-radius:4px}.catcbx-caret{color:var(--dim, #868b90);font-size:10px}.catcbx-pop{position:absolute;z-index:40;top:calc(100% + 3px);left:0;right:0;background:var(--surface, #fbfaf8);border:1px solid var(--border, #d2cfc7);border-radius:6px;box-shadow:0 8px 24px #00000059;overflow:hidden}.catcbx-head{display:flex;gap:4px;padding:6px;border-bottom:1px solid var(--border, #d2cfc7)}.catcbx-head input{flex:1;min-width:0}.catcbx-list{list-style:none;margin:0;padding:4px 0;max-height:260px;overflow-y:auto}.catcbx-row{width:100%;display:flex;align-items:center;gap:8px;padding:5px 10px;background:none;border:0;text-align:left;font:inherit;cursor:pointer;color:var(--text, #16181a)}.catcbx-row:hover{background:var(--blue-soft, #fbe6de)}.catcbx-row.sel{font-weight:700}.catcbx-row.catcbx-none,.catcbx-empty{color:var(--dim, #868b90);font-style:italic;padding:5px 10px}.catcbx-row.catcbx-add{color:var(--accent, #d2481a);font-weight:600}.catcbx-abbr,.catcbx-mru{margin-left:auto;font-size:10px;color:var(--dim, #868b90);text-transform:uppercase}.catcbx-group{padding:6px 10px 2px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dim, #868b90)}.catcbx-create{display:flex;flex-direction:column;gap:7px;padding:9px}.catcbx-create label{display:flex;align-items:center;gap:8px;font-size:12px}.catcbx-create label>span{width:96px;flex:none;color:var(--dim, #868b90)}.catcbx-create label>input,.catcbx-create label>select{flex:1;min-width:0}.catcbx-near{padding:5px 8px;border-radius:4px;cursor:pointer;text-align:left;font:inherit;font-size:11px;background:var(--blue-soft, #fbe6de);color:var(--text, #16181a);border:1px solid var(--accent, #d2481a)}.catcbx-note{font-size:10px;color:var(--dim, #868b90)}.catcbx-err{font-size:11px;line-height:1.35;padding:5px 7px;border-radius:4px;color:var(--red, #c73a51);border:1px solid currentcolor}.catcbx-create-btns{display:flex;justify-content:flex-end;gap:6px}.catcbx-create-btns .primary{font-weight:700}.catcbx-missing{color:var(--red, #c73a51);font-size:11px}.cat-flag,.cat-warn{font:600 10px var(--font-cond);text-transform:uppercase;letter-spacing:.03em;color:var(--amber, #b45309)}.cat-flag{margin-left:7px;padding:1px 5px;border:1px solid currentcolor;border-radius:3px}.cat-warn{text-transform:none;letter-spacing:0;font-size:11px;font-weight:500;padding:5px 0}.catcbx-jobedit{flex:none;margin-left:4px;padding:2px 6px;cursor:pointer;font-size:11px;border:1px solid var(--border, #d2cfc7);border-radius:4px;background:var(--surface, #fbfaf8);color:var(--dim, #868b90)}.gauge-editor{min-width:460px}.gauge-note{font-size:11px;color:var(--dim, #868b90);margin:2px 0 10px}.gauge-shape-tabs{display:flex;gap:6px;margin-bottom:8px}.gauge-shape-tabs button{flex:1;cursor:pointer;padding:4px;font-size:11px}.gauge-shape-tabs button.active{font-weight:700;border-color:var(--accent, #d2481a)}.gauge-table{width:100%;border-collapse:collapse;font-size:12px}.gauge-table th{text-align:left;font:700 10px var(--font-cond);color:var(--dim, #868b90);text-transform:uppercase;padding-bottom:4px}.gauge-table td{padding:2px 4px 2px 0}.gauge-table .num{width:68px}.gauge-andup{color:var(--dim, #868b90);font-style:italic}.gauge-badge{font:600 9px var(--font-cond);text-transform:uppercase;padding:1px 5px;border-radius:3px;border:1px solid currentcolor}.gauge-badge.default{color:var(--dim, #868b90)}.gauge-badge.custom{color:var(--amber, #b45309)}.gauge-errors{margin:8px 0;font-size:11px;color:var(--red, #c73a51)}.gauge-actions,.gauge-saveas{display:flex;gap:6px;margin-top:10px}.gauge-saveas input{flex:1;min-width:0}.recalc-confirm{min-width:460px;max-width:560px}.recalc-lead{font-size:13px;line-height:1.45;margin:0 0 10px}.recalc-table{width:100%;border-collapse:collapse;font-size:12px}.recalc-table th{text-align:left;font:700 10px var(--font-cond);color:var(--dim, #868b90);text-transform:uppercase;letter-spacing:.04em;padding:3px 10px 3px 0;white-space:nowrap}.recalc-table td{padding:3px 0;font-variant-numeric:tabular-nums}.recalc-table tr.recalc-total th,.recalc-table tr.recalc-total td{border-top:1px solid var(--border, #d2cfc7);font-weight:700;padding-top:5px}.recalc-up{color:var(--red, #c73a51)}.recalc-down{color:var(--green, #127a45)}.recalc-qty,.recalc-note{font-size:11px;color:var(--dim, #868b90);line-height:1.4;margin:8px 0 0}.recalc-warn{color:var(--accent, #d2481a);font-weight:600}.recalc-btns{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.recalc-btns button{background:var(--surface, #fbfaf8);color:var(--text, #16181a);border:1px solid var(--border, #d2cfc7);border-radius:4px;padding:5px 12px;font:inherit;cursor:pointer}.recalc-btns .recalc-danger{font-weight:700;border-color:var(--accent, #d2481a);color:var(--accent, #d2481a)}.tier1{height:54px;flex:0 0 54px;display:flex;align-items:stretch;background:var(--ink);color:#f4f3f0}.jobid{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:0 18px;border-right:1px solid #2c3034}.jobid .breadcrumb{font:500 9.5px var(--font-mono)!important;letter-spacing:.16em;text-transform:uppercase;color:var(--hi)!important;background:none;border:none!important;padding:0;cursor:pointer;text-align:left;max-width:none}.jobid .job-name{font:600 17px var(--font-cond);letter-spacing:.02em;text-transform:uppercase;color:#f4f3f0;background:none;border:1px solid transparent;padding:0;width:260px}.jobid .job-name:hover,.jobid .job-name:focus{border-color:#3a3f44;background:#24272a}.viewtabs{flex:1;display:flex;align-items:stretch}.viewtab{flex:1;background:none;border:0;border-bottom:3px solid transparent;color:#9fa4a9;font:600 12px var(--font-cond);letter-spacing:.08em;text-transform:uppercase;padding:0 16px;cursor:pointer}.viewtab:hover{color:#f4f3f0}.viewtab.active{color:#f4f3f0;border-bottom-color:var(--hi)}.tier1 .cost-tracker{margin-left:auto;display:flex;align-items:center;gap:0;background:none;border:0;padding:0;font-size:11px}.tier1 .cost-tracker>span{display:flex;flex-direction:column;justify-content:center;gap:1px;padding:0 14px;border-left:1px solid #2c3034;height:100%;font:500 9px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#9fa4a9}.tier1 .cost-tracker>span b{font:500 15px var(--font-mono);color:#f4f3f0;font-variant-numeric:tabular-nums}.tier1 .cost-tracker .grand{background:var(--hi);border-left-color:var(--hi);color:#fff}.tier1 .cost-tracker .grand b{color:#fff}.tier1 .cost-tracker .sys-chips{display:none}.tier2{height:44px;flex:0 0 44px;display:flex;align-items:stretch;background:var(--paper-2);border-bottom:1px solid var(--rule-2)}.stage{display:flex;align-items:center;gap:6px;padding:0 12px;border-right:1px solid var(--rule-2)}.stage-cap{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);font:500 8.5px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);align-self:center;margin-right:2px}.tier2 button,.tier2 select,.tier2 input[type=text],.tier2 .drop-btn{background:var(--card);color:var(--ink);border:1px solid var(--rule-2);padding:4px 10px;font:inherit;font-size:12px;cursor:pointer}.tier2 button:hover,.tier2 select:hover{border-color:var(--hi)}.tier2 button:active{transform:translate(1px,1px)}.tier2 .populate-btn{background:var(--hi)!important;color:#fff!important;border-color:var(--hi)!important;font:700 12px var(--font-cond)!important;letter-spacing:.1em;padding:5px 18px;box-shadow:var(--shadow-1)}.tier2 .populate-btn:disabled{opacity:.45;box-shadow:none;cursor:default}.tier2 .draw-controls input{border-color:var(--hi);background:var(--card);font-family:var(--font-mono)}.spine{flex:0 0 300px;width:300px;background:var(--card);border-right:2px solid var(--ink);display:flex;flex-direction:column;min-height:0}.toolgrid{padding:10px;border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:6px}.tool-rest{width:100%;padding:9px;cursor:pointer;background:none;color:var(--ink-2);border:1px dashed var(--rule-2);font:600 12px var(--font-cond);letter-spacing:.12em;text-transform:uppercase}.tool-rest.active{border-style:dashed;border-color:var(--ink);color:var(--ink);background:var(--paper-2)}.tool-3up{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.tool-3up button{padding:8px 2px;cursor:pointer;background:var(--card);color:var(--ink-2);border:1px solid var(--rule-2);font:600 11px var(--font-cond);letter-spacing:.04em;text-transform:uppercase}.tool-3up button:hover:not(:disabled){border-color:var(--hi);color:var(--ink)}.tool-3up button.active{background:var(--ink);color:var(--card);border-color:var(--ink)}.tool-3up button:disabled{opacity:.35;cursor:not-allowed}.spine-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.spine .select-flyout{flex-direction:row;flex-wrap:wrap;gap:4px}.spine .select-flyout button{flex:1;min-width:78px}.keyline{height:25px;flex:0 0 25px;display:flex;align-items:center;gap:10px;padding:0 12px;background:var(--paper-2);border-top:1px solid var(--rule-2);font-size:11px;color:var(--ink-2);white-space:nowrap}.key-chip{background:var(--hi);color:#fff;padding:2px 9px;font:700 9.5px var(--font-cond);letter-spacing:.14em;text-transform:uppercase;flex:none}.key-binds{overflow:hidden;text-overflow:ellipsis}.key-view{margin-left:auto;color:var(--ink-3);font-family:var(--font-mono);font-size:10px;flex:none}.sheet-ops{display:flex;align-items:center;gap:4px;flex:none;padding-right:10px;margin-right:2px;border-right:1px solid var(--rule-2)}.sheet-ops button,.sheet-ops select{background:none;border:1px solid transparent;color:var(--ink-2);font:11px/1 var(--font-cond);cursor:pointer;padding:2px 6px;height:19px}.sheet-ops button:hover,.sheet-ops select:hover{border-color:var(--hi);color:var(--ink)}.sheet-ops button:active{transform:translate(1px,1px)}.sheet-ops .ref-doc-open{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-ops .calib-status{padding-left:4px;font-family:var(--font-mono);font-size:10px}.sheet-nav{display:flex;align-items:center;gap:2px;flex:none;padding-right:10px;margin-right:2px;border-right:1px solid var(--rule-2)}.sn-btn,.sn-caret,.sn-toggle,.sn-label{background:none;border:1px solid transparent;color:var(--ink-2);font:11px/1 var(--font-cond);cursor:pointer;padding:2px 5px;height:19px;display:flex;align-items:center;gap:4px}.sn-btn{font-size:10px;letter-spacing:.05em}.sn-btn:hover:not(:disabled),.sn-caret:hover:not(:disabled),.sn-toggle:hover:not(:disabled),.sn-label:hover:not(:disabled){border-color:var(--hi);color:var(--ink)}.sn-btn:disabled,.sn-caret:disabled,.sn-toggle:disabled,.sn-label:disabled{opacity:.35;cursor:default}.sn-box{position:relative;display:flex;align-items:center;flex:0 0 240px;width:240px}.sn-label{flex:1 1 auto;min-width:0;overflow:hidden}.sn-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:10.5px;color:var(--ink)}.sn-title{color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-box .sn-title{flex:1 1 0}.sn-box .sn-num{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-input{flex:1 1 auto;min-width:0;height:19px;padding:0 5px;background:var(--paper);border:1px solid var(--hi);color:var(--ink);font:11px var(--font-mono);font-variant-numeric:tabular-nums;outline:none}.sn-caret{padding:2px 4px;flex:none}.sn-pos{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:10px;color:var(--ink-3);padding:0 4px;flex:0 0 64px;min-width:0;overflow:hidden;text-align:center;white-space:nowrap}.sn-toggle{color:var(--ink-3);flex:0 0 92px;overflow:hidden}.sn-toggle .sn-num{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-drop{position:absolute;bottom:24px;left:0;z-index:40;margin:0;padding:4px 0;list-style:none;min-width:300px;max-height:320px;overflow-y:auto;background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow-1)}.sn-drop li{display:grid;grid-template-columns:72px 1fr auto;gap:8px;align-items:baseline;padding:3px 10px;font-size:11px;color:var(--ink-2);cursor:pointer}.sn-drop li.hi{background:var(--hi);color:#fff}.sn-drop li.hi .sn-num,.sn-drop li.hi .sn-title{color:#fff}.sn-drop .sn-page{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:9.5px;color:var(--ink-3)}.sn-drop li.hi .sn-page{color:#fff}.sn-empty{display:block!important;color:var(--ink-3);font-style:italic;cursor:default!important}.sn-drop li.cur{box-shadow:inset 2px 0 0 var(--hi)}.sn-drop li.cur .sn-num{color:var(--ink)}.sn-drop:focus{outline:1px solid var(--hi);outline-offset:-1px}.key-help{background:none;border:1px solid var(--rule-2);color:var(--ink-3);font:10px var(--font-cond);padding:1px 6px;cursor:pointer;flex:none;margin-left:8px}.key-help:hover{border-color:var(--hi);color:var(--ink)}.shortcuts{min-width:460px;max-height:80vh;overflow-y:auto}.shortcuts header{display:flex;justify-content:space-between;align-items:baseline}.shortcuts h4{font:700 10px var(--font-cond);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:14px 0 4px;border-bottom:1px solid var(--rule);padding-bottom:3px}.sc-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:2px 0}.sc-label{font-size:12px;color:var(--ink)}.sc-chord{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11px;background:none;border:1px solid var(--rule);color:var(--ink-2);padding:1px 8px;min-width:108px;text-align:center;cursor:pointer}.sc-chord:hover{border-color:var(--hi);color:var(--ink)}.sc-chord.capturing{border-color:var(--hi);background:var(--hi);color:#fff}.sc-chord.fixed{cursor:default;border-style:dashed;color:var(--ink-3)}.sc-chord.fixed:hover{border-color:var(--rule);color:var(--ink-3)}.sc-row.legacy .sc-label{color:var(--ink-3)}.sc-note{font-size:11px;color:var(--ink-3);margin:2px 0 6px}.sc-refusal{font-size:11.5px;color:var(--ink);background:var(--hi-soft);border-left:2px solid var(--hi);padding:5px 8px;margin:8px 0 0}.shortcuts footer{margin-top:14px;display:flex;justify-content:flex-end}.sec-head{display:flex;align-items:center;gap:7px;padding:7px 10px;background:var(--paper-2);border-bottom:1px solid var(--rule);font:700 12px var(--font-cond);letter-spacing:.06em;text-transform:uppercase}.sec-head,.cond-pal-title{cursor:pointer}.sec-head:hover,.cond-pal-title:hover{background:var(--surface)}.sec-open{margin-left:auto;color:var(--ink-3);font-size:11px}.sec-head:hover .sec-open,.cond-pal-title:hover .sec-open{color:var(--hi)}.cond-pal-title .sec-open{margin-left:auto}.cond-pal-row.active{border-left:4px solid var(--cond);background:var(--paper-2)}.line-row .ln-size{font-family:var(--font-mono);font-weight:500}.line-row .ln-ft{margin-left:auto;font-family:var(--font-mono);color:var(--ink-2)}.notpop{border:1px solid var(--hi);color:var(--hi);padding:0 5px;font:700 8.5px var(--font-mono);letter-spacing:.1em;white-space:nowrap}.notpop-why{border-color:#b3202a;color:#d8434e;letter-spacing:.02em;text-transform:none;white-space:normal}.diagbad{border:1px solid #f97316;color:#f97316;padding:0 5px;font:700 8.5px var(--font-mono);letter-spacing:.1em;white-space:nowrap}.jobops{display:flex;align-items:center;gap:6px;margin-left:18px}.jobops button{background:none;color:#cdd1d5;border:1px solid #3a3f44;padding:5px 11px;font:inherit;font-size:12px;cursor:pointer}.jobops button:hover{border-color:var(--hi);color:#fff}.jobops button:active{transform:translate(1px,1px)}.keyline.blocked{background:var(--hi-soft);border-top-color:var(--hi);color:var(--ink)}.keyline.blocked .key-binds{font-weight:600}.workspace{display:flex;flex-direction:column}.viewport{flex:1;min-height:0;position:relative}.viewport .split{width:100%;height:100%}.pane-2d,.pane-3d{flex:1;min-width:0}.viewport[data-view=plan] .pane-3d,.viewport[data-view=model] .pane-2d{display:none}.viewport[data-view=split] .pane-2d{flex:0 0 calc(var(--ratio, .62) * 100%)}.viewport[data-view=split] .pane-3d{flex:1;border-left:0}.gutter{flex:0 0 6px;background:var(--ink);cursor:col-resize}.gutter:hover{background:var(--hi)}.viewswitch{position:absolute;z-index:6;top:8px;right:8px;display:flex;background:var(--card);border:1px solid var(--ink);box-shadow:var(--shadow-2)}.viewswitch button{background:none;border:0;border-left:1px solid var(--rule);color:var(--ink-2);padding:4px 11px;cursor:pointer;font:600 10px var(--font-cond);letter-spacing:.1em;text-transform:uppercase}.viewswitch button:first-child{border-left:0}.viewswitch button:hover{color:var(--ink)}.viewswitch button.active{background:var(--ink);color:var(--card)}.viewswitch button[data-inert=true]{color:var(--ink-3);font-style:italic}.viewswitch .viewpop{color:var(--hi)}.placard{position:absolute;z-index:5;top:8px;left:8px;display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--ink);box-shadow:var(--shadow-1);padding:5px 10px;font:600 10px var(--font-mono);letter-spacing:.12em}.placard button{background:var(--hi);color:#fff;border:1px solid var(--hi);padding:2px 9px;cursor:pointer;font:700 9px var(--font-cond);letter-spacing:.1em;text-transform:uppercase}.labor-panel{flex:0 0 152px;height:152px;background:var(--card);border-top:2px solid var(--ink);display:flex;align-items:stretch;min-height:0;padding:0;gap:0}.stubhead{flex:0 0 150px;background:var(--ink);color:#f2f1ee;padding:11px 13px;display:flex;flex-direction:column;gap:4px}.stubhead .t{font:600 13px var(--font-cond);letter-spacing:.11em;text-transform:uppercase}.stubhead .s{font:500 10.5px var(--font-mono);color:#9fa4a9;line-height:1.5}.stubhead .z,.stubhead .pop-btn{margin-top:auto;background:none;border:1px solid #3a3f44;color:#cdd1d5;cursor:pointer;padding:3px 0;font-size:11px;width:100%}.stubhead .z:hover,.stubhead .pop-btn:hover{border-color:var(--hi);color:#fff}.stubgrid{flex:1;min-width:0;overflow-y:auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-content:start;gap:0}.stubgrid>*{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:6px 9px;min-width:0}.stubgrid .row{display:flex;flex-direction:column;gap:2px;align-items:stretch;justify-content:flex-start}.stubgrid .row>span:first-child{font:500 8.5px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.stubgrid .row b,.stubgrid .row>span:last-child{font:500 13px var(--font-mono);font-variant-numeric:tabular-nums}.stubgrid input,.stubgrid select{background:var(--card);color:var(--ink);border:1px solid var(--rule-2);padding:1px 4px;font:500 13px var(--font-mono);width:100%;text-align:left}.stubgrid .row:not(:has(input)):not(:has(select)):not(:has(button)){background:var(--paper-2)}.stubgrid .labor-only,.stubgrid .link{grid-column:span 2}.stubgrid h4,.stubgrid .kind-row{grid-column:1 / -1}.stubgrid .dim.small{grid-column:1 / -1;background:var(--paper-2)}.line-row .asm-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-row .asm-stamp,.line-row .asm-del{flex:0 0 auto;background:none;border:none;color:var(--ink-2);cursor:pointer;padding:0 2px;font-size:13px;line-height:1}.line-row .asm-stamp:hover,.line-row .asm-del:hover{color:var(--hi)}.line-row.active .asm-stamp{color:var(--accent)}.line-row[data-testid^=asm-row-]{flex-direction:row;align-items:center;gap:6px}.asm-err{color:var(--bad, #b3202a);cursor:pointer;margin:4px 0 0}.asm-save{border:1px solid var(--accent);border-radius:5px;padding:8px;margin-top:6px;display:flex;flex-direction:column;gap:6px}.asm-save input[type=text],.asm-save input:not([type]){width:100%}.asm-role-row{display:flex;align-items:center;gap:6px;cursor:pointer}.asm-save-actions{display:flex;gap:6px}.line-row .asm-edit,.line-row .asm-dup,.line-row .asm-expand{flex:0 0 auto;background:none;border:none;color:var(--ink-2);cursor:pointer;padding:0 2px;font-size:13px;line-height:1}.line-row .asm-edit:hover,.line-row .asm-dup:hover,.line-row .asm-expand:hover{color:var(--hi)}.line-row .asm-edit:disabled,.line-row .asm-expand:disabled{opacity:.45;cursor:default}.asm-rename{flex:1 1 auto;min-width:0}.asm-editing{border:1px solid var(--accent);border-radius:5px;padding:8px;margin:6px 0;display:flex;flex-direction:column;gap:6px}.asm-explode{border:1px solid var(--bad, #b3202a);border-radius:5px;padding:8px;margin:4px 0 6px}.asm-explode p{margin:0 0 6px}.asm-inst{display:flex;align-items:center;gap:6px;padding:2px 0 2px 18px}.asm-inst span{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asm-inst button{flex:0 0 auto;background:none;border:none;color:var(--ink-2);cursor:pointer;padding:0 2px;font-size:12px;line-height:1}.asm-inst button:hover{color:var(--hi)}.asm-blast{max-width:620px}.asm-blast-table{display:block;max-height:46vh;overflow-y:auto}.asm-blast-table th{font-weight:500}.asm-conflict{margin-top:4px}.asm-conflict-btns{display:flex;gap:6px;margin-top:4px;flex-wrap:wrap}.asm-conflict-btns button.active{border-color:var(--accent);color:var(--hi)}.line-row .asm-promote{flex:0 0 auto;background:none;border:none;color:var(--ink-2);cursor:pointer;padding:0 2px;font-size:13px;line-height:1}.line-row .asm-promote:hover{color:var(--hi)}.line-row .asm-update{flex:0 0 auto;border:none;cursor:pointer;font-size:10px;line-height:1;padding:2px 5px;border-radius:8px;background:var(--surface);color:var(--hi)}.line-row .asm-update:hover{background:var(--paper-2)}.asm-lib-offer{display:flex;align-items:center;gap:6px;padding:3px 0}.asm-lib-offer button{background:none;border:none;color:var(--ink-2);cursor:pointer;padding:0 2px;font-size:12px;line-height:1}.asm-lib-offer button:hover{color:var(--hi)}.ro-banner{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:3px;background:#4a3a10;color:#ffd479;border:1px solid #7a6020;font:600 11px var(--font-cond);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.ws-round-row td{padding-top:2px;padding-bottom:2px;font-size:12px}@font-face{font-family:Archivo;font-style:normal;font-weight:600 800;font-display:swap;src:url(/fonts/Archivo.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/IBMPlexSans.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexMono.woff2) format("woff2")}:root{--paper: #f1f0ec;--paper-2: #e7e5df;--card: #fbfaf8;--ink: #16181a;--ink-2: #4d5257;--ink-3: #868b90;--rule: #d2cfc7;--rule-2: #bfbbb1;--hi: #d2481a;--hi-soft: #fbe6de;--font-body: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;--font-cond: "Archivo", "Arial Narrow", system-ui, sans-serif;--shadow-1: 1px 1px 0 var(--rule-2);--shadow-2: 2px 2px 0 var(--rule-2);--blue: var(--hi);--blue-dark: #a8380f;--blue-soft: var(--hi-soft);--ink2: var(--ink-2);--muted: var(--ink-3);--line: var(--rule);--line2: var(--rule);--wbg: var(--paper);--white: var(--card);--side: var(--ink);--side2: #24272a;--green: #15803d;--amber: #b45309;--red: #c73a51;--wshadow: var(--shadow-1)}*,*:before,*:after{border-radius:0!important}body{margin:0;overflow:hidden;font:14px/1.45 var(--font-body);background:var(--paper);color:var(--ink);font-variant-numeric:tabular-nums}.ws-app{height:100vh;display:flex;flex-direction:column}.ws-top{height:58px;flex:0 0 58px;background:var(--ink);color:#f4f3f0;display:flex;align-items:center;padding:0 20px;gap:20px;border-bottom:1px solid var(--ink);z-index:3}.ws-brand{display:flex;align-items:center;gap:10px;font:800 17px var(--font-cond);letter-spacing:.02em;text-transform:uppercase}.ws-brandimg{height:26px;width:auto;display:block}.ws-search{margin-left:auto;width:min(310px,25vw);border:1px solid #3a3f44;background:#24272a;color:#f4f3f0;padding:8px 11px;outline:0;font:inherit}.ws-search:focus{border-color:var(--hi)}.ws-search::placeholder{color:var(--ink-3)}.ws-btn{border:1px solid var(--rule-2);background:var(--card);color:var(--ink);padding:8px 11px;font-weight:600;font-size:12px;cursor:pointer;font-family:inherit;box-shadow:var(--shadow-1)}.ws-btn:hover{border-color:var(--hi)}.ws-btn:active{transform:translate(1px,1px);box-shadow:none}.ws-btn.primary{color:var(--hi);border-color:var(--hi)}.ws-avatar{width:31px;height:31px;background:var(--hi);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700}.ws-shell{min-height:0;flex:1;display:grid;grid-template-columns:228px 1fr}.ws-side{background:var(--side);color:#b9bec8;padding:15px 12px;display:flex;flex-direction:column;overflow:auto}.ws-side-label{padding:6px 10px 7px;color:var(--ink-3);font:600 10px var(--font-cond);letter-spacing:.16em;text-transform:uppercase}.ws-nav{border:0;background:transparent;color:inherit;width:100%;text-align:left;padding:9px 13px;margin:1px 0;cursor:pointer;font-weight:500;display:flex;gap:10px;align-items:center;font:inherit}.ws-nav:hover{background:var(--side2);color:#fff}.ws-nav.active{background:var(--card);color:var(--ink);font-weight:700;border-left:3px solid var(--hi)}.ws-nav.active .ws-ico{color:var(--hi)}.ws-ico{width:18px;text-align:center}.ws-count{margin-left:auto;background:#303540;padding:0 6px;font-size:10px;font-style:normal;font-family:var(--font-mono)}.ws-nav.active .ws-count{background:var(--hi);color:#fff}.ws-side-spacer{flex:1}.ws-main{overflow:auto;padding:22px 24px}.ws-eyebrow{font:700 10px var(--font-mono);letter-spacing:.16em;color:var(--ink-3);text-transform:uppercase}.ws-page-title{font:800 25px var(--font-cond);letter-spacing:.01em;text-transform:uppercase;margin:4px 0}.ws-sub{color:var(--muted);font-size:12px}.ws-view-head{display:flex;align-items:flex-start;margin-bottom:18px}.ws-head-actions{margin-left:auto;display:flex;gap:8px}.ws-kpis{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.ws-card,.ws-panel{background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow-1)}.ws-kpi{padding:14px}.ws-kpi-label{font:700 10px var(--font-mono);color:var(--ink-3);letter-spacing:.14em;text-transform:uppercase}.ws-kpi-value{font:500 22px var(--font-mono);margin-top:3px;font-variant-numeric:tabular-nums}.ws-kpi-note{font-size:11px;color:var(--muted);margin-top:3px}.ws-blue{color:var(--blue)}.ws-green{color:var(--green)}.ws-amber{color:var(--amber)}.ws-red{color:var(--red)}.ws-grid2{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:12px;margin-top:12px}.ws-panel-head{padding:13px 14px;border-bottom:1px solid var(--line2);display:flex;align-items:center;font-weight:700}.ws-panel-head a,.ws-panel-head .ws-headlink{margin-left:auto;color:var(--blue);font-size:11px;cursor:pointer;border:0;background:none;font-family:inherit;font-weight:600}.ws-table{width:100%;border-collapse:collapse}.ws-table th{padding:8px 14px;color:var(--ink-3);font:700 10px var(--font-mono);text-align:left;letter-spacing:.14em;text-transform:uppercase}.ws-table td{padding:11px 14px;border-top:1px solid var(--rule);font-size:12px}.ws-table tr.clickable{cursor:pointer}.ws-table tr.clickable:hover{background:var(--paper-2)}.ws-link{color:var(--hi);font-weight:600;cursor:pointer;border:0;background:none;font:inherit;padding:0}.ws-money{font-family:var(--font-mono);font-weight:500;font-variant-numeric:tabular-nums}.ws-pill{display:inline-block;padding:2px 7px;font:700 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:var(--hi-soft);color:var(--hi)}.ws-pill.green{background:#e2ede4;color:var(--green)}.ws-pill.amber{background:#f4e7d4;color:var(--amber)}.ws-pill.red{background:#f4e0e4;color:var(--red)}.ws-pill.gray{background:var(--paper-2);color:var(--ink-3)}.ws-progress{width:72px;height:6px;background:var(--rule);display:inline-block;vertical-align:middle;margin-right:5px;overflow:hidden}.ws-progress i{display:block;height:100%;background:var(--hi)}.ws-activity{padding:11px 14px;border-bottom:1px solid var(--rule);font-size:12px}.ws-activity:last-child{border:0}.ws-activity time{display:block;color:var(--ink-3);font-family:var(--font-mono);font-size:10px;margin-top:2px}.ws-tabs{display:flex;gap:23px;border-bottom:1px solid var(--rule);margin-top:18px}.ws-tab{border:0;background:transparent;padding:10px 0;border-bottom:3px solid transparent;color:var(--ink-2);font:600 12px var(--font-cond);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.ws-tab.active{color:var(--ink);border-bottom-color:var(--hi)}.ws-pipeline{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.ws-stage{background:var(--card);border:1px solid var(--rule);min-height:330px}.ws-stage.drop{border-color:var(--hi);background:var(--hi-soft)}.ws-stage-head{padding:11px;border-bottom:1px solid var(--rule);font:700 11px var(--font-cond);letter-spacing:.06em;text-transform:uppercase;display:flex}.ws-stage-head span{margin-left:auto;color:var(--ink-3);font-family:var(--font-mono)}.ws-deal{margin:8px;padding:10px;border:1px solid var(--rule);background:var(--paper);cursor:pointer}.ws-deal:hover{border-color:var(--hi)}.ws-deal b{font-size:12px}.ws-deal small{display:block;color:var(--muted);margin-top:3px}.ws-empty{padding:55px;text-align:center;color:var(--ink-3)}.ws-toast{position:fixed;right:22px;bottom:22px;background:var(--ink);color:#f4f3f0;padding:11px 15px;box-shadow:var(--shadow-2);font-size:12px;z-index:40}.ws-popover-back{position:fixed;inset:0;z-index:35}.ws-popover{position:fixed;background:var(--card);border:1px solid var(--ink);box-shadow:var(--shadow-2);padding:10px 12px}.ws-popover-title{font:700 11px var(--font-cond);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;max-width:240px}.ws-modal-back{position:fixed;inset:0;background:#16181a73;display:grid;place-items:center;z-index:30}.ws-modal{background:var(--card);border:2px solid var(--ink);box-shadow:var(--shadow-2);padding:20px;min-width:460px}.ws-modal h3{font:700 16px var(--font-cond);letter-spacing:.04em;text-transform:uppercase;margin:0 0 14px}.ws-form-row{display:flex;gap:10px;margin-bottom:10px}.ws-field{flex:1;display:flex;flex-direction:column;gap:4px}.ws-field>span{font:700 10px var(--font-mono);color:var(--ink-3);letter-spacing:.14em;text-transform:uppercase}.ws-field input,.ws-field select{border:1px solid var(--rule-2);padding:7px 9px;font:inherit;color:var(--ink);background:var(--card)}.ws-field input:focus,.ws-field select:focus{outline:2px solid var(--hi);outline-offset:-1px;border-color:var(--hi)}.ws-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.ws-btn.blue{background:var(--hi);color:#fff;border-color:var(--hi)}.ws-btn.blue:hover{background:var(--blue-dark)}.ws-takeoff-fill{position:fixed;inset:0;z-index:10}@media(max-width:1050px){.ws-shell{grid-template-columns:190px 1fr}.ws-kpis{grid-template-columns:repeat(2,1fr)}.ws-pipeline{grid-template-columns:repeat(3,1fr)}.ws-grid2{grid-template-columns:1fr}}.ws-trade-picks{display:flex;flex-wrap:wrap;gap:4px 14px;padding:6px 2px 0}.ws-trade-pick{display:inline-flex;align-items:center;gap:5px;font:400 13px inherit;cursor:pointer}.ws-trade-pick input{margin:0}.ws-trade-pick.off{opacity:.45;cursor:default}.ws-orb{display:inline-block;border-radius:50%;flex:none;vertical-align:middle}.ws-lifecycle{display:inline-flex;align-items:center;gap:6px}.ws-lifecycle select{font:inherit;font-size:11px}.ws-gap{font:700 9px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--hi)}.ws-gapbar{margin:0 0 12px;padding:8px 11px;font-size:12px;background:var(--paper-2);border-left:3px solid var(--rule-2);color:var(--ink-2)}.ws-gapbar.ws-red{background:var(--hi-soft);border-left-color:var(--hi);color:var(--ink)}.ws-section{font:700 11px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:20px 0 6px;padding-top:12px;border-top:1px solid var(--rule)}.ws-section:first-of-type{border-top:0;padding-top:0;margin-top:4px}.ws-check{flex-direction:row;align-items:center;gap:7px;flex:none}.ws-check>span{font:400 13px inherit;color:var(--ink);text-transform:none;letter-spacing:0}.ws-cell{width:100%;font:inherit;font-size:12px;padding:4px 5px;background:transparent;border:1px solid transparent;border-radius:4px;color:inherit}.ws-cell:hover{border-color:var(--rule)}.ws-cell:focus{outline:2px solid var(--hi);outline-offset:-1px;background:var(--card)}.ws-blurb{width:100%;font:inherit;font-size:12px;padding:6px 8px;border:1px solid var(--rule);border-radius:5px;background:var(--card);color:inherit}.ws-blurb:focus{outline:2px solid var(--hi);outline-offset:-1px}.ws-board{display:flex;flex-direction:column;gap:8px}.ws-boardcard{display:grid;grid-template-columns:14px minmax(220px,2.4fr) 1.4fr 1fr .9fr .9fr .8fr;align-items:center;gap:12px;padding:11px 14px;cursor:pointer;background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow-1)}.ws-boardcard:hover{border-color:var(--hi)}.ws-boardcard.due{border-left:3px solid var(--hi);padding-left:12px}.ws-boardcard.terminal{opacity:.62}.ws-boardcard b{font-size:13px}.ws-bc-label{font:700 9px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);display:block}.ws-bc-num{font-variant-numeric:tabular-nums;font-size:13px}.ws-bubbles{background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow-1)}.ws-bubbles svg{display:block;width:100%;height:auto}.ws-bubble{cursor:pointer}.ws-bubble.leaf{cursor:default}.ws-bubble circle{transition:none}.ws-bubble:hover circle{stroke:var(--ink);stroke-width:2}.ws-bubble text{fill:#fff;text-anchor:middle;pointer-events:none;font-family:var(--font-cond)}.ws-bubble .bt{font-weight:700}.ws-bubble .bv{font-family:var(--font-mono);font-weight:700}.ws-bubble-hub circle{fill:var(--ink-2)}.ws-bubble-edge{stroke:var(--rule-2);stroke-width:1}.ws-crumb{display:flex;align-items:center;gap:6px;padding:10px 14px;font-size:12px;border-bottom:1px solid var(--line2)}.ws-topics{display:flex;flex-wrap:wrap;gap:4px 14px;padding:10px 14px;border-bottom:1px solid var(--line2)}.ws-topic{display:inline-flex;align-items:center;gap:5px;font-size:12px;cursor:pointer}.ws-legend{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:11px;color:var(--ink-3)}.ws-legend i{display:block;height:9px;width:130px;border-radius:5px}.lg-wrap{position:fixed;inset:0;display:grid;place-items:center;background:var(--paper);font-family:var(--font-body);padding:24px}.lg-card{width:min(360px,100%);background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow-2);padding:30px 28px 24px;color:var(--ink)}.lg-mark{font:700 26px/1 var(--font-cond);letter-spacing:.01em}.lg-mark:after{content:".";color:var(--hi)}.lg-sub{margin-top:7px;color:var(--ink-3);font-size:12.5px;line-height:1.45}.lg-form{margin-top:22px;display:flex;flex-direction:column}.lg-label{font:600 10px var(--font-cond);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:5px}.lg-input{font:400 14px var(--font-body);color:var(--ink);background:var(--paper);border:1px solid var(--rule-2);padding:9px 10px;margin-bottom:14px}.lg-input:focus{outline:2px solid var(--hi);outline-offset:-1px}.lg-btn{font:600 13px var(--font-body);color:#fff;background:var(--hi);border:1px solid var(--hi);padding:10px 12px;cursor:pointer;margin-top:4px}.lg-btn:hover:not(:disabled){background:var(--blue-dark);border-color:var(--blue-dark)}.lg-btn:disabled{opacity:.6;cursor:default}.lg-err{min-height:1.3em;margin:10px 0 0;font-size:12.5px;color:#c4453d}.ws-signout{font:600 10px var(--font-cond);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);background:none;border:none;padding:0 10px 0 0;cursor:pointer}.ws-signout:hover{color:var(--hi)}
