.spinner>.spinner__moon{position:absolute;inset:0;display:grid;place-items:center}.spinner>.spinner__logo{position:relative;width:58%;height:58%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}@media(prefers-reduced-motion:reduce){.spinner__moon span{animation:none!important}}.delete-confirm{position:relative;display:inline-flex}.delete-confirm__popover{position:fixed;z-index:100000;box-sizing:border-box;max-height:calc(100dvh - 16px);overflow:auto;display:flex;align-items:center;gap:.45rem;width:max-content;max-width:min(20rem,calc(100vw - 2rem));padding:.35rem .4rem .35rem .65rem;border:1px solid var(--color-border, #d1d5db);border-radius:var(--radius);background:var(--bg-elevated, #fff);box-shadow:0 12px 30px #0000002e;white-space:normal}.delete-confirm__message{margin:0;min-width:0;overflow-wrap:anywhere;color:var(--color-primary, #111827);font-size:.85rem}.delete-confirm__popover>button{flex-shrink:0}.category-filter__trigger{display:flex;align-items:center;gap:8px;text-align:left;cursor:pointer}.category-filter__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.category-filter__dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%}.category-filter__menu{position:fixed;z-index:1000;width:max-content;min-width:min(280px,calc(100vw - 16px));max-width:min(440px,calc(100vw - 16px));max-height:min(420px,calc(100dvh - 24px));overflow:auto;padding:4px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow-elevated)}.category-filter__option{display:flex;align-items:center;gap:8px;width:100%;min-height:34px;padding:7px 12px;border:0;border-radius:var(--radius);text-align:left;background:transparent;font:inherit;font-size:.85rem;cursor:pointer}.category-filter__option>span:nth-child(2){flex:1;overflow-wrap:anywhere}.category-filter__option:hover,.category-filter__option:focus-visible,.category-filter__option[aria-selected=true]{background:color-mix(in srgb,currentColor 9%,var(--bg-elevated))}.category-filter__option:focus-visible{outline:2px solid currentColor;outline-offset:-2px}.room-planner{color:var(--foreground);font-size:14px}.room-planner__tools{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.room-planner label{display:flex;flex-direction:column;gap:5px}.room-planner input,.room-planner select{border:1px solid #cad6d0;border-radius:var(--radius);padding:8px;min-width:0;width:100%;color:var(--foreground);background:var(--card)}.room-planner__tools input{width:100px}.room-planner button{border:1px solid #c3d1c9;border-radius:var(--radius);padding:9px 12px;background:var(--card);color:var(--foreground);cursor:pointer}.room-planner button:disabled{opacity:.45;cursor:default}.room-planner__body{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:20px;margin-top:16px}.room-planner__canvas{overflow:auto;background-color:#f7f9f7;background-image:radial-gradient(#ced8d1 1px,transparent 1px);background-size:20px 20px;border:1px solid #d9e1db;border-radius:var(--radius);max-height:650px}.room-planner__properties{display:flex;flex-direction:column;gap:14px}.room-planner__properties label:has([type=checkbox]){flex-direction:row}.room-planner input[type=checkbox]{width:auto}.room-planner__point{display:flex;gap:5px;align-items:end;margin-top:10px}.room-planner__point input{width:72px}.room-planner__error{color:#ae3024}.room-planner small{color:#62746b;line-height:1.5}@media(max-width:760px){.room-planner__body{grid-template-columns:1fr}.room-planner__canvas{max-height:450px}}.room-planner__canvas{height:460px;min-width:0;overflow:hidden}.room-planner__canvas>svg{display:block;width:100%;height:100%}@media(max-width:760px){.room-planner__canvas{height:360px}}.room-planner--compact .room-planner__body{display:block}.room-planner--compact .room-planner__canvas{position:relative;width:100%;height:clamp(300px,55vh,640px);min-height:300px}.room-plan-popover{position:absolute;z-index:5;width:228px;padding:12px;background:var(--card);border:1px solid #c6d4cd;border-radius:var(--radius);box-shadow:0 8px 28px #0002;box-sizing:border-box;display:flex;gap:8px;flex-wrap:wrap}.room-plan-popover>strong{flex:1}.room-plan-popover label{width:100%;display:grid;gap:6px}.room-plan-popover input{width:100%;box-sizing:border-box;padding:8px;border:1px solid #bbc9c1;border-radius:var(--radius)}.room-plan-popover button{padding:6px 10px;border:1px solid #bbc9c1;background:#f5f9f6;border-radius:var(--radius);cursor:pointer}.room-plan-popover label.switch{display:inline-flex;flex-direction:row;align-items:center;gap:.45rem}.room-plan-popover .switch input{padding:0;border:0;width:100%;height:100%;cursor:pointer;z-index:1}.room-plan-popover .switch input:focus-visible+.switch__track{outline:2px solid currentColor;outline-offset:2px}.drawing-view-modes{position:absolute;top:12px;left:76px;z-index:6;display:flex;gap:4px;padding:6px 8px;border:1px solid var(--color-border, var(--border));border-radius:var(--radius);background:var(--card);pointer-events:auto}.drawing-view-modes button{display:grid;place-items:center;width:36px;min-width:36px;height:36px;padding:5px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--fg, var(--foreground));cursor:pointer}.drawing-view-modes button:hover,.drawing-view-modes button.is-active{border-color:var(--color-border, var(--border));background:var(--muted)}.drawing-view-modes button:focus-visible{outline:2px solid #e78329;outline-offset:1px}.lab-modeling-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;flex:0 0 auto;padding:7px 4px;margin-bottom:10px;border:1px solid #d7d1ca;border-radius:var(--radius);background:var(--card);position:relative;z-index:10}.lab-modeling-group{display:flex;align-items:center;gap:4px;padding:0 10px}.lab-modeling-group+.lab-modeling-group{border-left:1px solid #d7d1ca}.lab-modeling-tool{position:relative;display:inline-flex}.lab-modeling-tool--separated{border-left:1px solid #e4e0db;padding-left:8px;margin-left:4px}.lab-modeling-tool button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid transparent;border-radius:var(--radius);color:var(--foreground);background:transparent;cursor:pointer}.lab-modeling-tool button:hover:not([aria-disabled=true]){background:var(--muted);color:#a8480a}.lab-modeling-tool button[aria-pressed=true]{border-color:#ef9b52;background:var(--muted);color:#a8480a}.lab-modeling-tool button[aria-disabled=true]{opacity:.35;cursor:not-allowed}.lab-modeling-tool button:focus-visible{outline:2px solid #e78329;outline-offset:2px}.lab-modeling-tooltip{display:none;position:absolute;top:calc(100% + 8px);left:0;width:max-content;max-width:min(260px,80vw);padding:6px 9px;border-radius:var(--radius);background:#302b26;color:#fff;font-size:12px;line-height:1.4;font-weight:400;pointer-events:none;box-shadow:0 3px 9px #0002}.lab-modeling-tool:hover .lab-modeling-tooltip,.lab-modeling-tool:focus-within .lab-modeling-tooltip{display:block}.lab-modeling-status{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:30px;margin-bottom:8px;font-size:12px;color:var(--muted-foreground)}.lab-modeling-status button{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:inherit;cursor:pointer}.lab-modeling-status kbd{color:var(--muted-foreground);font-size:10px}.lab-polygon-start{display:block;width:10px;height:10px;border:2px solid white;border-radius:50%;background:#e8750a;box-shadow:0 0 0 1px #a04d04}.lab-polygon-points{list-style:none;padding:0;font-size:11px;line-height:1.7;color:var(--muted-foreground)}.lab-snap-angle{display:block;margin:12px;padding:3px 7px;border-radius:var(--radius);background:#b95708;color:#fff;font:600 12px sans-serif;white-space:nowrap}.lab-object-tree{overflow:auto}.lab-object-tree ul{list-style:none;padding:0;margin:0}.lab-object-tree .lab-tree-row{display:flex;flex-wrap:nowrap;align-items:center;border-radius:var(--radius);margin-bottom:3px;min-width:0}.lab-tree-row.is-selected,.lab-tree-row:hover{background:var(--muted)}.lab-object-tree button{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--foreground);cursor:pointer;text-align:left;font-size:12px}.lab-object-tree button:focus-visible{outline:2px solid #e78329}.lab-tree-toggle{flex:0 0 24px;padding:8px 4px}.lab-tree-select{flex:1;min-width:0;padding:8px 4px}.lab-object-tree .lab-tree-delete{flex:0 0 24px;width:24px;height:24px;padding:0;margin:0 4px 0 auto;display:flex;align-items:center;justify-content:center;color:#dc2626;border-radius:var(--radius)}.lab-object-tree .lab-tree-delete:hover{color:#b91c1c;background:#fee2e2}.lab-tree-select>span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab-object-tree .lab-tree-object-visibility{flex:0 0 24px;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;color:var(--muted-foreground);border-radius:var(--radius)}.lab-object-tree .lab-tree-object-visibility:hover:not(:disabled){background:var(--muted)}.lab-object-tree .lab-tree-object-visibility:disabled{opacity:.4;cursor:not-allowed}.lab-object-tree .lab-tree-operations{margin:0 0 8px 12px;padding-left:12px;border-left:1px solid #d8cfc5}.lab-tree-operations button{padding:7px 2px;width:100%}.lab-tool-settings{overflow-y:auto;min-height:0}.lab-tool-settings .lab-tool-heading{display:flex;align-items:center;gap:8px;margin-bottom:12px}.lab-tool-settings .lab-tool-heading h2{margin:0}.lab-tool-settings .lab-tool-back{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0}.lab-tool-settings .lab-coordinate-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.lab-tool-settings .lab-polygon-actions{display:flex;align-items:center;gap:8px}.lab-tool-settings .lab-polygon-actions .lab-close-polygon{width:auto;flex:1}.lab-tool-settings p{font-size:12px;line-height:1.5;color:var(--muted-foreground)}.lab-tool-settings fieldset{margin:12px 0;border:1px solid var(--border);border-radius:var(--radius);padding:10px;min-width:0}.lab-tool-settings legend{font-size:12px;font-weight:600}.lab-tool-settings label{display:flex;flex-direction:column;gap:4px;font-size:12px;margin-bottom:10px}.lab-tool-settings input,.lab-tool-settings select{box-sizing:border-box;width:100%;min-width:0;height:34px;padding:7px 8px;border:1px solid var(--border);border-radius:var(--radius);background-color:var(--card);color:var(--foreground);font:inherit}.lab-tool-settings select{appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%2340382f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}.lab-tool-settings button{border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;cursor:pointer;background:var(--card);color:var(--foreground)}.lab-tool-settings button:disabled{opacity:.4;cursor:not-allowed}.lab-tool-settings .lab-close-polygon{background:#f38c30;border-color:#e77b1c;color:#25180e;width:100%}.lab-polygon-edge{border:1px solid transparent;border-bottom-color:#ddd4c9;padding:8px;margin-bottom:8px}.lab-polygon-edge.is-selected{border-color:#f38c30;border-radius:var(--radius);background:#fff5eb}.lab-tool-settings .lab-edge-label{border:0;background:transparent;padding:0 0 8px;font-weight:600}.lab-tool-settings .lab-edge-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.lab-tool-settings .lab-edge-heading .lab-edge-label{padding:0}.lab-tool-settings .lab-edge-delete{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;margin-left:auto}.lab-tool-settings .lab-edge-delete:hover:not(:disabled){color:#b42318;border-color:#e4a19a;background:#fff1ef}.geometry-v2-page{display:flex;flex-direction:column;min-height:0;height:100%;margin:-1.5rem;padding:1rem 1.25rem 1.25rem;box-sizing:border-box;background:#ece8e3}.geometry-v2-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:0}.geometry-v2-kicker{margin:0;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.geometry-v2-head h1{margin:.1rem 0 0;font-size:1.25rem}.geometry-v2-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .8rem;min-width:0}.geometry-v2-title-product{font-size:1rem;font-weight:700;overflow-wrap:anywhere}.oyr-select-group{display:flex;flex:1 1 auto;min-width:0}.oyr-select-group .oyr-select-visibility{flex:0 0 var(--control-h);width:var(--control-h);min-width:var(--control-h);max-width:var(--control-h);height:var(--control-h);min-height:var(--control-h);max-height:var(--control-h);padding:0;border-color:color-mix(in srgb,var(--color-muted) 55%,transparent);border-radius:var(--radius);background:var(--bg-elevated);color:var(--color-primary)}.oyr-select-group .oyr-select-visibility:hover{background:color-mix(in srgb,var(--color-muted) 10%,var(--bg-elevated))}.oyr-select-group .oyr-select-visibility[aria-pressed=false]{color:var(--color-muted);background:color-mix(in srgb,var(--color-muted) 10%,var(--bg-elevated))}.oyr-select-group .oyr-select-visibility:focus-visible{position:relative;z-index:1;border-color:var(--color-primary);outline:none}.oyr-select-group .textbox{flex:1 1 auto;min-width:0;border-radius:var(--radius);margin-left:-1px}.oyr-table-coating,.oyr-table-coating .managed-color-compact,.oyr-table-coating .managed-color-row{display:flex;align-items:stretch;height:var(--control-h);min-height:var(--control-h);max-height:var(--control-h)}.oyr-table-coating .managed-color-row .finish-swatch{height:var(--control-h);min-height:var(--control-h);max-height:var(--control-h);outline-offset:-2px}.geometry-v2-head>.geometry-editor-tools{margin-left:auto;margin-bottom:0;max-width:100%;box-sizing:border-box;justify-content:flex-end}.geometry-v2-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.geometry-v2-field{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--color-muted)}.geometry-v2-field select,.geometry-v2-field input{box-sizing:border-box;height:var(--control-h);min-height:var(--control-h);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-elevated);padding:0 .55rem;color:var(--fg)}.geometry-v2-field--num input{width:5.2rem}.geometry-v2-check{display:flex;align-items:center;gap:.4rem;height:var(--control-h);font-size:.85rem}.geometry-v2-fit-btn{box-sizing:border-box;height:var(--control-h);min-height:var(--control-h);padding:0 .75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--fg);font-size:.85rem;cursor:pointer}.geometry-v2-fit-btn:hover{background:#f3efe9}.geometry-v2-body{display:grid;grid-template-columns:minmax(0,1fr) 24px 24rem;gap:0;position:relative;min-height:0;flex:1}.geometry-v2-body--panel-closed{grid-template-columns:minmax(0,1fr) 24px}.lab-right-panel{min-width:0;min-height:0;display:flex}.lab-right-panel[hidden]{display:none}.lab-right-panel>aside{flex:1;min-width:0;box-sizing:border-box}.lab-panel-divider{display:flex;align-items:center;justify-content:center;position:relative}.lab-panel-divider:before{content:"";position:absolute;width:1px;top:0;bottom:0;background:#d3ccc4}.lab-panel-divider button{position:relative;display:flex;align-items:center;justify-content:center;width:22px;height:48px;padding:0;border:1px solid #cfc5ba;border-radius:var(--radius);background:#fffaf4;color:#755c45;cursor:pointer}.lab-panel-divider button:hover{background:var(--muted);color:#a8480a}.lab-panel-divider button:focus-visible{outline:2px solid #e78329;outline-offset:1px}.geometry-v2-stage{position:relative;isolation:isolate;min-height:22rem;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;background:#dfe4ea}.geometry-v2-canvas{display:block;width:100%;height:100%}.selected-object-identity{position:absolute;z-index:6;right:.75rem;bottom:.75rem;display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;max-width:min(28rem,calc(100% - 1.5rem))}.selected-object-identity__actions{display:flex;gap:.35rem;padding:.3rem;border:1px solid rgba(110,120,132,.35);border-radius:var(--radius);background:#fffffff0;box-shadow:0 .2rem .7rem #1f293324}.selected-object-identity__panel{box-sizing:border-box;width:min(28rem,100%);padding:.75rem .85rem;border:1px solid rgba(110,120,132,.35);border-radius:var(--radius);background:#fffffff7;color:var(--fg);box-shadow:0 .25rem 1rem #1f29332e}.selected-object-identity__panel>span{display:block;margin-bottom:.55rem;color:#b85c0b;font-size:.78rem;font-weight:600}.selected-object-identity__panel code{display:block;font-size:.78rem;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.geometry-v2-error{position:absolute;z-index:2;top:.75rem;left:.75rem;right:.75rem;padding:.75rem .9rem;border-radius:var(--radius);background:#fff4f4;border:1px solid #e8b4b4;color:#7a1f1f}.geometry-v2-error p{margin:.25rem 0 0}.geometry-v2-inspector{min-height:0;overflow:auto;padding:.85rem .95rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-elevated)}.geometry-v2-inspector h2,.geometry-v2-inspector h3{margin:0 0 .55rem;font-size:.92rem}.geometry-v2-inspector h3{margin-top:1rem}.geometry-v2-inspector dl{margin:0;display:grid;gap:.45rem}.geometry-v2-inspector div{display:grid;gap:.1rem}.geometry-v2-inspector dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.geometry-v2-inspector dd{margin:0;font-size:.84rem;word-break:break-word}.lab-cam-toolbar{position:absolute;z-index:4;top:.7rem;left:.7rem;display:flex;flex-direction:column;gap:.3rem;pointer-events:auto}.lab-cam-toolbar button{box-sizing:border-box;width:var(--control-h);height:var(--control-h);min-height:var(--control-h);display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--color-border);border-radius:var(--radius);background:#f7f4ef;color:var(--fg);cursor:pointer}.lab-cam-toolbar button:hover,.lab-cam-toolbar button.is-active{background:var(--muted)}.lab-view-cube{--lab-cube: 56px;--lab-cube-r: 28px;position:absolute;z-index:4;top:.55rem;right:.55rem;width:92px;height:92px;overflow:hidden;perspective:520px;pointer-events:none}.lab-view-cube__body{position:absolute;inset:18px;width:var(--lab-cube);height:var(--lab-cube);transform-style:preserve-3d}.lab-view-cube__face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border:1px solid #c8c8c8;background:var(--muted);color:#5a5a5a;font-size:.58rem;font-weight:700;letter-spacing:.04em;backface-visibility:hidden}.lab-view-cube__label{pointer-events:none}.lab-view-cube__hits{position:absolute;inset:0;display:grid;grid-template-columns:18% 1fr 18%;grid-template-rows:18% 1fr 18%;pointer-events:none}.lab-view-cube__hit{margin:0;padding:0;border:0;background:transparent;pointer-events:auto;cursor:pointer}.lab-view-cube__hit.is-highlighted{background:#f5822038}.lab-view-cube__face.is-back,.lab-view-cube__face.is-back .lab-view-cube__hit{pointer-events:none}.lab-view-cube__face--front{transform:rotateY(0) translateZ(var(--lab-cube-r))}.lab-view-cube__face--back{transform:rotateY(180deg) translateZ(var(--lab-cube-r))}.lab-view-cube__face--right{transform:rotateY(90deg) translateZ(var(--lab-cube-r))}.lab-view-cube__face--left{transform:rotateY(-90deg) translateZ(var(--lab-cube-r))}.lab-view-cube__face--top{transform:rotateX(90deg) translateZ(var(--lab-cube-r))}.lab-view-cube__face--bottom{transform:rotateX(-90deg) translateZ(var(--lab-cube-r))}@media(max-width:900px){.geometry-v2-body{grid-template-columns:minmax(0,1fr) 24px}.lab-right-panel:not([hidden]){position:absolute;right:24px;top:0;bottom:0;width:min(24rem,calc(100% - 48px));z-index:11;box-shadow:-6px 0 18px #0002}}.lab-length-popover{width:190px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:0 5px 20px #0003;color:var(--foreground)}.lab-length-popover>strong,.lab-length-popover>span{display:block}.lab-length-popover>strong{margin-bottom:2px;font-size:13px}.lab-length-popover>span{margin-bottom:9px;color:#756b61;font-size:11px}.lab-length-popover label{display:grid;gap:6px;font-size:12px}.lab-length-popover input{box-sizing:border-box;width:100%;min-width:0;padding:7px;border:1px solid var(--border);border-radius:var(--radius)}.lab-length-popover>div{display:flex;justify-content:flex-end;gap:6px;margin-top:10px}.lab-length-popover button{padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);cursor:pointer}.lab-length-popover button[type=submit]{background:#f38c30}.lab-length-popover button:disabled{opacity:.4;cursor:not-allowed}.lab-object-tree .lab-tree-select{flex:0 0 24px}.lab-object-tree .lab-tree-select>span{display:none}.lab-object-tree .lab-tree-name{flex:1;min-width:0;width:0;height:24px;box-sizing:border-box;padding:2px 4px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:inherit;font:inherit}.lab-object-tree .lab-tree-name:focus{outline:none;border-color:#f38c30;background:var(--card)}.lab-object-tree .lab-tree-feature-row{display:flex;align-items:center;gap:4px}.lab-object-tree .lab-tree-feature-select{flex:1;min-width:0;width:auto}.lab-tree-feature-select span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab-object-tree .lab-tree-feature-delete{flex:0 0 24px;width:24px;height:24px;padding:0;margin-left:auto;display:flex;align-items:center;justify-content:center;color:#dc2626;border-radius:var(--radius)}.lab-object-tree .lab-tree-feature-delete:hover:not(:disabled){background:#fee2e2}.lab-object-tree .lab-tree-feature-delete:disabled{opacity:.4;cursor:not-allowed}.lab-object-tree .lab-tree-feature-visibility{flex:0 0 24px;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;color:var(--muted-foreground);border-radius:var(--radius)}.lab-object-tree .lab-tree-feature-visibility:hover:not(:disabled){background:var(--muted)}.lab-object-tree .lab-tree-feature-visibility:disabled{opacity:.4;cursor:not-allowed}.lab-object-tree .lab-tree-feature-delete{margin-left:0}.lab-tool-settings .lab-hole-anchors{display:grid;grid-template-columns:repeat(3,32px);gap:4px;margin:12px 0}.lab-hole-anchors button{width:32px;height:32px;padding:0}.lab-hole-anchors button[aria-pressed=true]{background:var(--muted);border-color:#ed790e}.lab-tool-settings .lab-hole-position-row{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:14px}.lab-hole-position-row .lab-hole-anchors{margin:0}.lab-tool-settings .lab-hole-offsets{display:grid;gap:8px;min-width:0}.lab-hole-offsets label{margin-bottom:0}.lab-tool-settings .lab-pattern-switch{display:flex;flex-direction:row;align-items:center;gap:8px}.lab-tool-settings .lab-pattern-switch input{appearance:none;width:32px;height:18px;padding:2px;border-radius:var(--radius);background:#c9c3bc;cursor:pointer}.lab-pattern-switch input:before{content:"";display:block;width:12px;height:12px;border-radius:50%;background:var(--card);transition:transform .15s}.lab-tool-settings .lab-pattern-switch input:checked{background:#ed790e;border-color:#ed790e}.lab-pattern-switch input:checked:before{transform:translate(14px)}.lab-tool-settings .lab-pattern-controls{border:0;padding:0;margin:0}.lab-pattern-controls:disabled{opacity:.45}.lab-tool-settings .lab-measure-colors{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 12px}.lab-measure-colors button,.lab-measure-colors .lab-custom-color{box-sizing:border-box;width:23px;height:23px;padding:0;border:1px solid #b7b0a7;border-radius:var(--radius)}.lab-measure-colors button[aria-pressed=true]{outline:2px solid #f38c30;outline-offset:1px}.lab-tool-settings .lab-custom-color{position:relative;display:flex;align-items:center;justify-content:center;margin:0;cursor:pointer}.lab-custom-color input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;padding:0;cursor:pointer}.lab-tool-settings .lab-measure-check{flex-direction:row;align-items:center}.lab-measure-check input{width:16px;height:16px}.lab-measure-vertex{position:relative;display:block;width:24px;height:24px;border-radius:50%;padding:0;border:0;background:transparent;cursor:pointer}.lab-measure-vertex:before{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;box-sizing:border-box;transform:translate(-50%,-50%);border:1px solid white;border-radius:50%;background:#de7b22;box-shadow:0 0 1px #7c3900;pointer-events:none}.lab-measure-vertex[aria-pressed=true]:before{width:9px;height:9px;background:#e8750a;box-shadow:0 0 0 2px #a84d00}.lab-measure-vertex:hover:before,.lab-measure-vertex:focus-visible:before{width:11px;height:11px;background:#ffbf59;box-shadow:0 0 0 2px #a84d00,0 0 0 5px #e8750a40}.lab-measure-vertex:focus-visible{outline:none}.lab-object-tree .lab-tree-measurement-row{background:#eef2ff;border-radius:var(--radius);margin-top:3px}.lab-object-tree .lab-tree-measurement-row .lab-tree-feature-select,.lab-object-tree .lab-tree-measurement-row .lab-tree-feature-visibility{color:#5145a1}.lab-object-tree .lab-tree-measurement-row:hover{background:#e2e7ff}.lab-tree-measurement-row.is-selected-measurement{background:#ffedd5;box-shadow:inset 3px 0 #ea580c;color:#9a3412}.geometry-editor-tools{border:0;margin:0;padding:0;min-width:0}.geometry-editor-inspector{margin:0;padding:0;border:0;min-width:0}.geometry-editor-tools:disabled,.geometry-editor-inspector:disabled{opacity:.7}.lab-tool-settings .lab-inspector-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;width:100%}.lab-tool-settings .lab-inspector-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;width:auto;min-height:36px;margin:0;border-radius:var(--radius);padding:7px 12px}.lab-tool-settings .lab-inspector-actions .lab-action-cancel{width:36px;height:36px;padding:0;color:#6b6259;background:transparent;border:1px solid #d8d0c7}.lab-tool-settings .lab-inspector-actions .lab-action-primary{background:#15803d;border:1px solid #15803d;color:#fff}.lab-tool-settings .lab-inspector-actions .lab-action-secondary{background:#fff1e6;border:1px solid #ea9c5b;color:#9a440b}.lab-tool-settings .lab-inspector-actions .lab-action-primary:hover:not(:disabled){background:#166534;border-color:#166534}.lab-tool-settings .lab-inspector-actions .lab-action-cancel:hover:not(:disabled){background:#f3ece5}.lab-tool-settings .lab-inspector-actions button:disabled{opacity:.45;cursor:not-allowed}.lab-tool-settings .lab-inspector-actions button:focus-visible{outline:2px solid #f59e0b;outline-offset:2px}.lab-tool-settings .lab-inspector-actions svg{flex-shrink:0}.lab-tool-settings label.switch{display:inline-flex;flex-direction:row;align-items:center;gap:.45rem}.lab-tool-settings .switch input{height:100%;padding:0;border:0;cursor:pointer}.lab-tool-settings .switch__track{flex-shrink:0}.lab-tool-settings .switch input:focus-visible+.switch__track{outline:2px solid var(--color-success);outline-offset:3px}.lab-tool-settings .switch input:disabled{cursor:not-allowed}.lab-tool-settings .switch input:disabled~span{opacity:.45}.lab-tree-feature-row.lab-tree-coating-row{background:#e7f6f4;border-radius:var(--radius)}.lab-tree-coating-row .lab-tree-feature-select{color:#0f766e}.lab-tree-coating-row .lab-tree-feature-select:hover{background:#ccebe6}.lab-tool-settings .lab-light-intensity-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:end;gap:8px;margin:8px 0}.lab-tool-settings .lab-light-intensity-row>label{margin:0}.lab-tool-settings .lab-light-color{width:34px;height:34px;padding:3px;cursor:pointer}.lab-light-color::-webkit-color-swatch-wrapper{padding:0}.lab-light-color::-webkit-color-swatch{border:0;border-radius:var(--radius)}.lab-light-color::-moz-color-swatch{border:0;border-radius:var(--radius)}.lab-tool-settings .lab-light-color:disabled{cursor:not-allowed;opacity:.45}.geometry-editor-heading{display:flex;align-items:stretch;gap:12px;min-width:0}.geometry-editor-back{flex:0 0 auto;display:flex;align-items:stretch}.geometry-editor-back .icon-btn{height:auto;min-height:0;max-height:none;aspect-ratio:auto;padding:0 10px;align-self:stretch}.geometry-editor-heading-text{min-width:0;overflow-wrap:anywhere}.lab-right-panel{flex-direction:column;background:var(--card);border-radius:var(--radius);overflow:hidden}.geometry-editor-panel-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto}.geometry-editor-panel-content>aside{flex:1 0 auto;width:100%;min-width:0;box-sizing:border-box}.geometry-editor-panel-content>.lab-tool-settings{flex:1 1 auto}.geometry-editor-panel-content .form-grid{min-width:0;grid-template-columns:minmax(0,1fr)}.geometry-editor-panel-content .form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.geometry-editor-panel-content .field{min-width:0}.geometry-editor-panel-content .field>.textbox{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.geometry-editor-save-status{flex:0 0 auto;padding:10px 14px;border-top:1px solid #e5ded5;color:var(--color-muted);font-size:.8rem;overflow-wrap:anywhere}.geometry-editor-save-status p{margin:0}.geometry-v2-head .lab-modeling-toolbar{margin-bottom:0}.lab-assembly{flex:0 0 auto;box-sizing:border-box;width:100%;min-width:0;border:0;border-bottom:1px solid var(--color-border);padding:14px;margin:0}.lab-assembly-heading,.lab-assembly-row{display:flex;align-items:center;gap:6px;min-width:0}.lab-assembly-heading{justify-content:space-between;margin-bottom:10px}.lab-assembly-heading strong{font-size:14px}.lab-assembly-heading .lab-action-secondary{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:4px 8px;font-size:12px}.lab-assembly-row{min-height:34px;padding:3px;border-radius:var(--radius)}.lab-assembly-row.is-selected{background:#ffe7cf}.lab-assembly-row:hover{background:var(--muted)}.lab-assembly-row input[type=checkbox]{width:15px;height:15px;min-height:0;padding:0;margin:0 4px;flex:0 0 15px}.lab-assembly-row button{display:flex;align-items:center;gap:7px;min-height:0;height:28px;border:0;background:transparent;color:var(--foreground);cursor:pointer;text-align:left;font:inherit;font-size:12px}.lab-assembly-row button:focus-visible{outline:2px solid #e78329}.lab-assembly-row button:disabled{opacity:.45;cursor:default}.lab-assembly .lab-tree-select{flex:1;min-width:0;padding:2px 4px;overflow:hidden}.lab-assembly-row svg{flex-shrink:0}.lab-assembly-row .lab-tree-toggle,.lab-assembly-row .lab-action-cancel,.lab-assembly-row .lab-edge-delete{flex:0 0 24px;width:24px;height:24px;padding:0;justify-content:center}.lab-assembly-row span.lab-tree-toggle{display:inline-flex;align-items:center;justify-content:center}.lab-assembly-row .lab-edge-delete{margin-left:auto;color:#dc2626}.lab-assembly-row .lab-edge-delete:hover{background:#fee2e2}.lab-assembly-coordinates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.lab-assembly input:not([type=checkbox]){box-sizing:border-box;width:100%;min-width:0;height:34px;padding:7px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--foreground);font:inherit}.lab-assembly fieldset{margin:12px 0 0;padding:10px;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius)}.lab-assembly legend{font-size:12px;padding:0 4px}.lab-assembly .ayr-group-legend{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 8px)}.lab-assembly .ayr-group-switch{display:inline-flex;margin-left:auto;padding-left:12px}.lab-assembly .ayr-group-switch .switch{height:18px}.lab-assembly .ayr-group-switch .switch__track{width:28px;height:14px;flex-basis:28px}.lab-assembly .ayr-group-switch .switch__track:after{top:2px;left:2px;width:10px;height:10px}.lab-assembly .ayr-group-switch .switch input:checked+.switch__track:after{transform:translate(14px)}.lab-assembly fieldset>div+div{margin-top:10px}.lab-assembly fieldset>div>span{display:block;margin-bottom:5px;font-size:12px;color:var(--color-muted)}.lab-assembly label{display:block;min-width:0;font-size:12px}.lab-assembly label.switch{display:inline-flex}.lab-assembly .switch__track{flex:0 0 2.4rem}.lab-grid-snap-target{position:absolute;width:10px;height:10px;left:50%;top:50%;transform:translate(-50%,-50%);border:2px solid #e8750a;background:#fff9;border-radius:var(--radius);box-shadow:0 0 0 2px #fff}.lab-attach-button{display:flex;align-items:center;gap:6px;margin:0 0 10px auto;padding:6px 10px;border:1px solid #e78329;border-radius:var(--radius);background:var(--muted);color:#91430b;cursor:pointer}.lab-attach-button:disabled{opacity:.4;cursor:default}.lab-attachment-status{display:flex;flex-direction:column;align-items:stretch;gap:16px;padding:14px;background:transparent;flex:0 0 auto}.lab-attachment-status p{margin:0;flex:1;font-size:13px}.lab-attachment-point{display:block;width:10px;height:10px;min-height:0;padding:0;border:2px solid white;border-radius:50%;background:#e8750a;box-shadow:0 0 0 1px #9c5315;cursor:crosshair}.lab-attachment-point.target{background:#199b80;box-shadow:0 0 0 1px #126852}.lab-attachment-point:hover,.lab-attachment-point:focus-visible{transform:scale(1.65);outline:2px solid #ffb24d;outline-offset:2px}.lab-assembly-row .lab-object-copy,.lab-assembly-row .lab-object-visibility{flex:0 0 24px;width:24px;height:24px;padding:0;justify-content:center;border-radius:var(--radius);color:var(--muted-foreground)}.lab-assembly-row .lab-object-copy:hover:not(:disabled),.lab-assembly-row .lab-object-visibility:hover:not(:disabled){background:var(--muted)}.lab-assembly-row .lab-object-copy+.lab-edge-delete,.lab-assembly-row .lab-object-visibility+.lab-object-copy,.lab-assembly-row .lab-object-visibility+.lab-edge-delete{margin-left:0}.lab-number-stepper{position:relative;display:block;min-width:0;width:100%}.lab-number-stepper input{padding-right:24px}.lab-number-stepper-buttons{position:absolute;top:1px;bottom:1px;right:1px;width:20px;display:flex;flex-direction:column;border-left:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.lab-number-stepper-buttons button{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;height:auto;width:100%;margin:0;padding:0;border:0;border-radius:0;background:#f7f4f0;color:var(--muted-foreground);cursor:pointer}.lab-number-stepper-buttons button+button{border-top:1px solid #e5ded5}.lab-number-stepper-buttons button:hover:not(:disabled){background:var(--muted);color:#a8480a}.lab-number-stepper-buttons button:disabled{opacity:.4;cursor:default}.lab-mirror-controls{margin-top:12px;font-size:12px}.lab-mirror-controls>div{display:flex;gap:6px;margin-top:6px}.lab-mirror-controls button{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1;height:32px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--muted-foreground);cursor:pointer}.lab-mirror-controls button[aria-pressed=true]{background:var(--muted);border-color:#ef9b52;color:#a8480a}.lab-mirror-controls button:focus-visible{outline:2px solid #e78329;outline-offset:2px}.lab-material-picker-filters{display:flex;gap:10px;align-items:center}.lab-material-picker-filters .textbox{flex:1;width:0;min-width:0;box-sizing:border-box;height:34px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:7px 8px;font:inherit;color:var(--foreground)}.lab-attachment-status label{display:block;width:100%;font-size:12px;color:var(--color-muted)}.lab-attachment-status .lab-inspector-actions{display:flex;justify-content:flex-end}.modal:has(.lab-material-picker-table){width:min(1100px,calc(100vw - 32px));max-width:calc(100vw - 32px)}.lab-material-picker-table th,.lab-material-picker-table td{white-space:nowrap}.lab-material-picker-table th:nth-child(3),.lab-material-picker-table td:nth-child(3){min-width:280px}.lab-attachment-select-row{display:flex;align-items:center;gap:8px;margin-top:6px}.lab-attachment-select-row select{flex:1;width:0;min-width:0;margin-top:0}.lab-attachment-select-row button{flex:0 0 auto;width:auto;white-space:nowrap}.lab-attachment-status .lab-inspector-actions button{width:auto}.lab-assembly .lab-tree-select:has(.lab-assembly-material-label){height:auto;min-height:40px}.lab-assembly .lab-tree-select>.lab-assembly-material-label{display:flex;flex-direction:column;gap:3px;white-space:normal;overflow:visible}.lab-assembly-material-label>strong{font-size:12px}.lab-assembly-material-label>span{font-size:12px;overflow-wrap:anywhere}.cabinet-settings{display:grid;gap:12px;padding:14px}.cabinet-settings h2{margin:0;font-size:16px}.cabinet-settings__heading-row,.cabinet-settings__mode-row{display:flex;align-items:stretch;gap:8px;min-width:0}.cabinet-settings__heading-row{align-items:center;justify-content:space-between}.cabinet-settings__mode-row .cabinet-settings__mode{flex:1 1 auto;min-width:0}.cabinet-settings__state-toggle{display:flex;flex:0 0 66px;min-width:66px;min-height:48px;padding:3px 5px;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid #d8d0c7;border-radius:var(--radius);background:var(--card);color:var(--muted-foreground);cursor:pointer;font:inherit;font-size:11px;font-weight:700}.cabinet-settings__state-toggle img{display:block;width:42px;height:34px;object-fit:contain;mix-blend-mode:multiply}.cabinet-settings__state-toggle span{white-space:nowrap}.cabinet-settings__state-toggle:hover{border-color:#e78329;background:#fff8f1}.cabinet-settings__state-toggle.is-open{border-color:#15803d;color:#166534;background:#f0fdf4}.cabinet-settings__state-toggle:focus-visible{outline:2px solid #e78329;outline-offset:2px}.cabinet-settings__mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid #d8d0c7;border-radius:var(--radius);background:var(--card)}.cabinet-settings__mode button{min-height:38px;border:0;border-right:1px solid #d8d0c7;background:var(--card);color:var(--muted-foreground);font:inherit;font-weight:600;cursor:pointer}.cabinet-settings__mode button:last-child{border-right:0}.cabinet-settings__mode button.is-active{background:#15803d;color:#fff}.cabinet-settings>fieldset{margin:0}.cabinet-settings p{margin:8px 0 0;color:var(--color-muted);font-size:12px;line-height:1.45}.cabinet-settings .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.cabinet-settings .field{display:grid;gap:5px}.cabinet-settings select.textbox{box-sizing:border-box;width:100%;min-width:0;height:34px}.cabinet-settings__top-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:10px}.cabinet-settings__colors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cabinet-settings__color{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;min-width:0}.cabinet-settings__color>span{color:var(--foreground);font-size:12px}.cabinet-settings__color .managed-color-compact,.cabinet-settings__color .managed-color-row{width:100%;min-width:0}.cabinet-settings__color .managed-color-row .finish-swatch{width:100%;min-width:0;height:34px;flex:1 1 auto;border-radius:var(--radius)}.cabinet-settings__row{margin-top:8px;border:1px solid #ded6cd;border-radius:var(--radius);background:var(--card)}.cabinet-settings__row>summary{padding:9px 10px;cursor:pointer;color:var(--foreground);font-size:12px;font-weight:600}.cabinet-settings__summary-content{display:inline-flex;width:calc(100% - 18px);align-items:center;justify-content:space-between;gap:8px;vertical-align:middle}.cabinet-settings__add-shelf{min-height:28px;padding:4px 8px;flex:0 0 auto}.cabinet-settings__row[open]>summary{border-bottom:1px solid #ebe5de}.cabinet-settings__row>.form-grid{padding:10px;margin:0}.cabinet-settings__shelf{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:8px;align-items:end;grid-column:1/-1}.cabinet-settings__shelf .toolbar-btn--icon{width:34px;height:34px;min-height:34px;padding:0;color:#b42318}.cabinet-settings__divider-heading{grid-column:1/-1;margin-top:4px;padding-top:10px;border-top:1px solid #ebe5de;color:var(--foreground);font-size:12px}.cabinet-settings__divider-bays{display:grid;grid-column:1/-1;gap:8px}.cabinet-settings__divider-bay{display:grid;gap:8px;padding:8px;border:1px solid #ebe5de;border-radius:var(--radius);background:#faf8f5}.cabinet-settings__divider-bay-title{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#6d6258;font-size:12px}.cabinet-settings__divider-bay-title .toolbar-btn{min-height:28px;padding:4px 8px;flex:0 0 auto}.cabinet-settings__door-state{grid-column:1/-1;padding:2px 0}.cabinet-settings__vent-heading{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;padding-top:10px;border-top:1px solid #ebe5de}.cabinet-settings__vent-heading>strong{font-size:12px;color:var(--foreground)}.cabinet-settings__vent-heading .toolbar-btn{min-height:30px;padding:4px 8px}.cabinet-settings__vents{display:grid;grid-column:1/-1;gap:8px}.cabinet-settings__vents>.cabinet-settings__row{margin-top:0}.cabinet-settings__delete-vent{grid-column:1/-1;justify-self:end;color:#b42318}.drawer-height-slider{display:grid;grid-template-columns:42px minmax(150px,1fr);height:clamp(280px,42vh,420px);gap:7px;min-width:0;margin-top:12px;padding:8px 14px 8px 4px}.drawer-height-slider__scale{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;color:var(--color-muted);font-size:10px;font-variant-numeric:tabular-nums}.drawer-height-slider__track{position:relative;min-height:0;overflow:visible;border:1px solid #cfc6bc;border-radius:var(--radius);background:#f4f1ed}.drawer-height-slider__segment{position:absolute;inset-inline:0;display:grid;place-items:center;box-sizing:border-box;overflow:hidden;border-bottom:1px solid rgb(255 255 255 / 70%);color:var(--foreground);font-size:10px;font-weight:600;text-align:center;line-height:1.25}.drawer-height-slider__segment--odd{background:#e9f4eb}.drawer-height-slider__segment--even{background:#f7eee5}.drawer-height-slider__segment--base{background:#dfe3e6;color:#343a40}.drawer-height-slider__segment span{padding:2px 6px;border-radius:var(--radius);background:#ffffffb8;white-space:nowrap}.drawer-height-slider__point{position:absolute;z-index:2;left:-5px;right:-5px;height:24px;padding:0;border:0;background:transparent;transform:translateY(50%);cursor:ns-resize;touch-action:none}.drawer-height-slider__point:before{content:"";position:absolute;top:50%;right:0;left:0;height:2px;background:#e78329;transform:translateY(-50%)}.drawer-height-slider__point span{position:absolute;top:50%;left:50%;width:13px;height:13px;border:2px solid white;border-radius:50%;background:#e78329;box-shadow:0 1px 4px #4b372359;transform:translate(-50%,-50%)}.drawer-height-slider__point:hover span,.drawer-height-slider__point.is-active span,.drawer-height-slider__point:focus-visible span{width:17px;height:17px;background:#c96313}.drawer-height-slider__point:focus-visible{outline:2px solid #e78329;outline-offset:2px}.cabinet-settings .lab-inspector-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;position:sticky;bottom:-14px;z-index:2;margin:0 -14px -14px;padding:12px 14px;border-top:1px solid #e5ded5;background:var(--card)}.cabinet-settings .lab-inspector-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 12px;border-radius:var(--radius);cursor:pointer}.cabinet-settings .lab-action-secondary{border:1px solid #d8d0c7;background:var(--card);color:var(--muted-foreground)}.cabinet-settings .lab-action-primary{border:1px solid #15803d;background:#15803d;color:#fff}.cabinet-settings .lab-action-primary:disabled{opacity:.45;cursor:not-allowed}.geometry-v2-error-recovery{display:flex;min-height:220px;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:24px;background:var(--bg-elevated);color:var(--color-muted)}.geometry-v2-error-recovery p{margin:0}@media(max-width:1180px){.cabinet-settings .form-grid,.cabinet-settings__colors{grid-template-columns:minmax(0,1fr)}}.lab-cam-toolbar__zoom{display:flex;flex-direction:column;gap:0}.lab-cam-toolbar__zoom button:first-child{border-radius:var(--radius)}.lab-cam-toolbar__zoom button:last-child{border-top:0;border-radius:var(--radius)}.geometry-preview-loading{position:absolute;inset:0;z-index:50;pointer-events:auto}.geometry-preview-loading .loading-overlay{position:absolute;inset:0}.lab-assembly fieldset>legend button[aria-controls^=ayr-]{order:-1;width:20px!important;height:20px!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#e8750a!important}.lab-assembly fieldset>legend:has(button[aria-controls^=ayr-]){cursor:pointer;-webkit-user-select:none;user-select:none}.lab-assembly fieldset>legend button[aria-controls^=ayr-]:hover:not(:disabled){background:transparent!important;color:#c95f00!important}.lab-assembly fieldset>legend button[aria-controls^=ayr-]:focus-visible{outline:2px solid #e78329;outline-offset:1px}.lab-assembly fieldset:has(>legend button[aria-controls^=ayr-][aria-expanded=false]){margin:-3px 0;padding:0;border-color:transparent;background:transparent}.lab-assembly fieldset:has(>legend button[aria-controls^=ayr-][aria-expanded=false])>legend{padding:0;line-height:20px}.instant-title{position:fixed;z-index:100000;box-sizing:border-box;max-width:min(18rem,calc(100vw - 16px));padding:.28rem .5rem;border:1px solid var(--color-border, var(--border));border-radius:var(--radius);background:var(--bg-elevated, #fff);color:var(--fg, #24342e);font-family:var(--font-sans, sans-serif);font-size:.75rem;line-height:1.3;box-shadow:var(--shadow-elevated, 0 3px 12px #0002);pointer-events:none}.app-toast{display:flex;align-items:flex-start;gap:.65rem;width:min(28rem,calc(100vw - 2rem));padding:.75rem .85rem;border-radius:var(--radius);color:#fff}.app-toast__body{flex:1;min-width:0}.app-toast__message{margin:0;font-size:.9rem;font-weight:500;white-space:pre-line}.app-toast__detail{margin:.25rem 0 0;font-size:.8rem;white-space:pre-line}.app-toast__actions{display:flex;align-items:center;flex:0 0 auto;gap:0;margin-left:auto}.app-toast--success{background:var(--color-success, #278454)}.app-toast--warning{background:var(--color-accent, #a86a15)}.app-toast--error{background:var(--color-danger, #c23b3b)}.app-toast--error .icon-btn{color:#fff;border-color:color-mix(in srgb,#fff 55%,transparent)}.toolbar-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:auto;min-width:5.5rem;height:var(--control-h);min-height:var(--control-h);padding:0 .85rem;border:1px solid color-mix(in srgb,var(--color-primary) 35%,transparent);border-radius:var(--radius);background:var(--bg-elevated);color:var(--color-primary);font-weight:600;white-space:nowrap;cursor:pointer}.toolbar-btn:hover{background:color-mix(in srgb,var(--color-muted) 18%,transparent)}.toolbar-btn:disabled{opacity:.45;cursor:not-allowed}.toolbar-btn--success{color:var(--primary-foreground);background:var(--primary);border-color:var(--primary)}.toolbar-btn--success:hover{background:color-mix(in srgb,var(--color-success, #2b9372) 88%,#000)}.toolbar-btn--soft-danger{color:#dc2626;background:#fef2f2;border-color:color-mix(in srgb,#dc2626 28%,transparent)}.toolbar-btn--soft-danger:hover:not(:disabled){background:#fee2e2}.toolbar-btn--active{color:var(--primary-foreground);background:var(--primary);border-color:var(--primary)}.toolbar-btn--active:hover{background:color-mix(in srgb,var(--color-primary) 88%,#000)}.toolbar-btn--compact{min-width:0;width:100%;padding:0 .55rem}.toolbar-btn--icon{min-width:var(--control-h);width:var(--control-h);max-width:var(--control-h);padding:0}.modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:1rem;background:#0f172a59}.modal-backdrop--contained{position:absolute;inset:0;z-index:8;display:flex;align-items:stretch;justify-content:stretch;padding:0;background:transparent}.modal{position:relative;width:min(36rem,100%);max-height:calc(100vh - 2rem);display:flex;flex-direction:column;background:var(--bg-elevated);border-radius:var(--radius);box-shadow:var(--shadow-elevated)}.modal--wide{width:min(52rem,100%)}.modal--contained{width:100%;max-width:none;height:100%;max-height:none;border-radius:0;box-shadow:none}.modal--contained .modal__body{flex:1;min-height:0}.modal__header,.modal__footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:calc(var(--control-h) + 1rem);padding:.65rem .85rem;border-bottom:1px solid var(--color-border)}.modal__header{position:relative;z-index:5}.modal__footer{border-bottom:none;border-top:1px solid var(--color-border)}.modal__loading{position:absolute;inset:0;z-index:4;display:grid;place-items:center;background:#f6f4f18c}.modal__header h2{margin:0;font-size:1.05rem}.modal__header-actions{display:flex;align-items:center;gap:.45rem;margin-left:auto}.modal__body{padding:1rem .85rem;overflow:auto}.modal__footer-left,.modal__footer-right{display:flex;align-items:center;gap:.5rem}.modal__footer-right{margin-left:auto}.form-grid{display:grid;gap:.85rem}.control-row{display:flex;align-items:stretch;width:100%}.control-row>.textbox{flex:1;min-width:0;width:auto;height:var(--control-h);min-height:var(--control-h)}.select-control{position:relative;display:block;width:100%;min-width:0}.select-control>select.textbox{display:block;appearance:none;width:100%;max-width:100%;min-width:0;height:var(--control-h);min-height:var(--control-h);padding:0 2rem 0 .65rem;font:inherit;line-height:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;outline:none;cursor:pointer}.toolbar-btn__spinner{flex:none;animation:toolbar-btn-spinner .7s linear infinite}@keyframes toolbar-btn-spinner{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.toolbar-btn__spinner{animation-duration:1.6s}}.select-control>svg{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-primary)}.select-control>select.textbox:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 15%,transparent)}.select-control>select.textbox:disabled{cursor:default;color:var(--color-muted);background:color-mix(in srgb,var(--color-muted) 10%,var(--bg-elevated))}.select-control:has(select:disabled)>svg{color:var(--color-muted)}:root{--background: oklch(1 0 0);--foreground: oklch(.147 .004 49.25);--card: oklch(1 0 0);--card-foreground: oklch(.147 .004 49.25);--popover: oklch(1 0 0);--popover-foreground: oklch(.147 .004 49.25);--primary: oklch(.841 .238 128.85);--primary-foreground: oklch(.405 .101 131.063);--secondary: oklch(.967 .001 286.375);--secondary-foreground: oklch(.21 .006 285.885);--muted: oklch(.97 .001 106.424);--muted-foreground: oklch(.553 .013 58.071);--accent: oklch(.97 .001 106.424);--accent-foreground: oklch(.216 .006 56.043);--destructive: oklch(.577 .245 27.325);--border: oklch(.923 .003 48.717);--input: oklch(.923 .003 48.717);--ring: oklch(.709 .01 56.259);--chart-1: oklch(.837 .128 66.29);--chart-2: oklch(.705 .213 47.604);--chart-3: oklch(.646 .222 41.116);--chart-4: oklch(.553 .195 38.402);--chart-5: oklch(.47 .157 37.304);--radius: 0;--sidebar: oklch(.985 .001 106.423);--sidebar-foreground: oklch(.147 .004 49.25);--sidebar-primary: oklch(.648 .2 131.684);--sidebar-primary-foreground: oklch(.986 .031 120.757);--sidebar-accent: oklch(.97 .001 106.424);--sidebar-accent-foreground: oklch(.216 .006 56.043);--sidebar-border: oklch(.923 .003 48.717);--sidebar-ring: oklch(.709 .01 56.259)}.dark{--background: oklch(.147 .004 49.25);--foreground: oklch(.985 .001 106.423);--card: oklch(.216 .006 56.043);--card-foreground: oklch(.985 .001 106.423);--popover: oklch(.216 .006 56.043);--popover-foreground: oklch(.985 .001 106.423);--primary: oklch(.768 .233 130.85);--primary-foreground: oklch(.405 .101 131.063);--secondary: oklch(.274 .006 286.033);--secondary-foreground: oklch(.985 0 0);--muted: oklch(.268 .007 34.298);--muted-foreground: oklch(.709 .01 56.259);--accent: oklch(.268 .007 34.298);--accent-foreground: oklch(.985 .001 106.423);--destructive: oklch(.704 .191 22.216);--border: oklch(1 0 0 / 10%);--input: oklch(1 0 0 / 15%);--ring: oklch(.553 .013 58.071);--chart-1: oklch(.837 .128 66.29);--chart-2: oklch(.705 .213 47.604);--chart-3: oklch(.646 .222 41.116);--chart-4: oklch(.553 .195 38.402);--chart-5: oklch(.47 .157 37.304);--sidebar: oklch(.216 .006 56.043);--sidebar-foreground: oklch(.985 .001 106.423);--sidebar-primary: oklch(.768 .233 130.85);--sidebar-primary-foreground: oklch(.274 .072 132.109);--sidebar-accent: oklch(.268 .007 34.298);--sidebar-accent-foreground: oklch(.985 .001 106.423);--sidebar-border: oklch(1 0 0 / 10%);--sidebar-ring: oklch(.553 .013 58.071)}:root,.dark{--font-sans: "Roboto", sans-serif;--bg: var(--background);--bg-elevated: var(--card);--fg: var(--foreground);--color-primary: var(--foreground);--color-accent: var(--sidebar-primary);--color-muted: var(--muted-foreground);--color-border: var(--border);--color-success: var(--sidebar-primary);--color-danger: var(--destructive);--sidebar-text: var(--sidebar-foreground);--sidebar-active: var(--sidebar-primary);--sidebar-bg: var(--sidebar);--sidebar-hover-bg: var(--sidebar-accent);--shadow-elevated: 0 1px 3px rgb(0 0 0 / 8%)}:root{color-scheme:light}:root.dark{color-scheme:dark}:root{--sidebar-collapsed: 4rem;--sidebar-expanded: 16rem;--sidebar-icon-size: 1.25rem;--sidebar-label-size: .875rem;--control-h: 2.25rem;--axis-x: #e11d48;--axis-y: #16a34a;--axis-z: #2563eb}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);color:var(--fg);background:var(--bg)}html{font-size:16px}html[data-font-size=sm]{font-size:14px}html[data-font-size=lg]{font-size:18px}button,input,a{font:inherit}.app-shell{display:flex;height:100%;min-height:100%}.app-shell__spacer{flex:0 0 var(--sidebar-collapsed);width:var(--sidebar-collapsed);transition:flex-basis .18s ease,width .18s ease}.app-shell--locked .app-shell__spacer{flex-basis:var(--sidebar-expanded);width:var(--sidebar-expanded)}.app-shell__main{flex:1;min-width:0;display:flex;flex-direction:column;height:100%}.app-shell__content{flex:1;min-height:0;padding:1.5rem}.app-shell__content:has(.page--with-footer){display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden}.mobile-top-bar{display:none;align-items:center;gap:.75rem;height:calc(var(--control-h) + .75rem);padding:0 .75rem;border-bottom:1px solid var(--color-border);background:var(--bg-elevated)}.mobile-top-bar__title{margin:0;font-size:1rem;font-weight:600;color:var(--color-primary)}.icon-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 var(--control-h);width:var(--control-h);min-width:var(--control-h);max-width:var(--control-h);height:var(--control-h);min-height:var(--control-h);max-height:var(--control-h);aspect-ratio:1;padding:0;border:1px solid color-mix(in srgb,var(--color-primary) 35%,transparent);border-radius:var(--radius);background:transparent;color:var(--color-primary);cursor:pointer}.icon-btn svg{pointer-events:none}.icon-btn:hover{background:color-mix(in srgb,var(--color-muted) 18%,transparent)}.icon-btn--success{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 45%,transparent)}.icon-btn--accent{color:var(--color-accent);border-color:color-mix(in srgb,var(--color-accent) 45%,transparent)}.icon-btn--muted{color:var(--color-muted);border-color:color-mix(in srgb,var(--color-muted) 45%,transparent)}.icon-btn.is-on:hover{background:color-mix(in srgb,var(--color-primary) 88%,#000)}.icon-btn--bare{border:none;background:transparent}.icon-btn:disabled{opacity:.45;cursor:default}.data-table__actions{width:5.75rem;text-align:right;padding-top:.2rem;padding-bottom:.2rem}.survey-row-actions{display:flex;justify-content:flex-end;gap:.35rem;white-space:nowrap}.survey-row-actions .toolbar-btn{min-height:2rem;padding:.3rem .55rem}.analysis-totals{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.analysis-totals>div{display:grid;gap:.2rem;min-width:15rem;padding:.9rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-elevated)}.analysis-totals strong{font-size:1.2rem}.analysis-totals small{color:var(--color-muted)}.analysis-section{margin-bottom:1.25rem}.analysis-section h2{margin:0 0 .65rem;font-size:1rem}.survey-project__meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.survey-project-plan{display:block;width:min(100%,800px);max-height:28rem;color:var(--color-primary);background:var(--bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius)}.survey-project__drawing{height:38rem;min-height:30rem}.survey-project__drawing>.geometry-lab{height:calc(100% - 2rem)}.data-table__vis{width:2.25rem;text-align:center;padding-top:.2rem;padding-bottom:.2rem}.toolbar-icon-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 var(--control-h);width:var(--control-h);min-width:var(--control-h);max-width:var(--control-h);height:var(--control-h);min-height:var(--control-h);max-height:var(--control-h);aspect-ratio:1;padding:0;border-radius:var(--radius);cursor:pointer}.toolbar-icon-btn--refresh{border:1px solid color-mix(in srgb,var(--color-success) 40%,transparent);background:var(--bg-elevated);color:var(--color-success)}.toolbar-icon-btn--refresh:hover{background:color-mix(in srgb,var(--color-success) 12%,transparent)}.toolbar-icon-btn--reset{border:1px solid #d5d5d5;background:var(--muted);color:var(--muted-foreground)}.toolbar-icon-btn--reset:hover{background:var(--muted)}.toolbar-icon-btn--toggle{border:1px solid color-mix(in srgb,var(--color-muted) 55%,transparent);background:var(--bg-elevated);color:var(--color-primary)}.toolbar-icon-btn--toggle:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.toolbar-icon-btn--toggle[aria-pressed=true]{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.toolbar-icon-group{display:inline-flex;align-items:center;height:var(--control-h)}.toolbar-icon-group>.toolbar-icon-btn{border-radius:0}.toolbar-icon-group>.toolbar-icon-btn:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.toolbar-icon-group>.toolbar-icon-btn:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius);margin-left:-1px}.toolbar-icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn--danger{color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 45%,transparent)}.icon-btn--danger:hover:not(:disabled){color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 12%,transparent)}.sidebar-backdrop{display:none}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:40;display:flex;flex-direction:column;width:var(--sidebar-collapsed);background:var(--sidebar-bg);color:var(--sidebar-text);border-right:1px solid var(--color-border);transition:width .18s ease;overflow:hidden}.sidebar--expanded{width:var(--sidebar-expanded);box-shadow:var(--shadow-elevated)}.app-shell--locked .sidebar--expanded{box-shadow:none}.sidebar__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:calc(var(--control-h) + 1rem);padding:.55rem .45rem;border-bottom:1px solid var(--color-border)}.sidebar__brand{display:flex;align-items:center;gap:.55rem;min-width:0;color:var(--sidebar-text);text-decoration:none}.sidebar__logo{display:block;width:2.1rem;height:2.1rem;object-fit:contain;flex:0 0 auto;-webkit-user-select:none;user-select:none}.sidebar--expanded .sidebar__logo{width:2.35rem;height:2.35rem}.sidebar__brand-text{overflow:hidden;white-space:nowrap;font-size:1.05rem;font-weight:700}.sidebar:not(.sidebar--expanded) .sidebar__brand-text,.sidebar:not(.sidebar--expanded) .sidebar__lock{display:none}.sidebar:not(.sidebar--expanded) .sidebar__header,.sidebar:not(.sidebar--expanded) .sidebar__brand{justify-content:center}.sidebar__body{flex:1 1 auto;overflow:auto;padding:.5rem .4rem}.sidebar__pinned,.sidebar__footer{flex:0 0 auto;padding:.35rem .4rem;border-top:1px solid var(--color-border)}.nav-item{display:flex;align-items:center;gap:.75rem;height:var(--control-h);min-height:var(--control-h);padding:0 .65rem;margin-bottom:.15rem;border-radius:var(--radius);color:var(--sidebar-text);text-decoration:none;white-space:nowrap}.nav-item:hover{background:var(--sidebar-hover-bg)}.nav-item--active{background:color-mix(in srgb,var(--sidebar-active) 16%,transparent);color:var(--sidebar-active);font-weight:600}.nav-item__icon{display:inline-flex;width:var(--sidebar-icon-size);height:var(--sidebar-icon-size)}.nav-item__label{overflow:hidden;text-overflow:ellipsis;font-size:var(--sidebar-label-size)}.sidebar:not(.sidebar--expanded) .nav-item{justify-content:center;padding:0}.sidebar:not(.sidebar--expanded) .nav-item__label{display:none}.nav-group{display:flex;flex-direction:column}.nav-group__label{margin:.2rem .65rem .25rem;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--sidebar-text);opacity:.55}.orta-pick-edge{cursor:crosshair}.orta-pick-edge__line{pointer-events:none}.field-hint{margin:0;font-size:.85rem;color:var(--color-muted)}.product-pick{max-height:10.5rem;overflow:auto;border:1px solid var(--color-border);background:var(--bg)}.product-pick__row{box-sizing:border-box;display:flex;align-items:center;gap:.5rem;min-height:var(--control-h);padding:0 .65rem}.nav-separator{height:1px;margin:.45rem .65rem;background:var(--color-border)}.user-menu{position:relative}.user-menu__trigger{box-sizing:border-box;display:flex;align-items:center;gap:.65rem;width:100%;height:var(--control-h);min-height:var(--control-h);padding:0 .5rem;border:none;border-radius:var(--radius);background:transparent;color:var(--sidebar-text);cursor:pointer}.user-menu__trigger:hover{background:var(--sidebar-hover-bg)}.user-menu__avatar{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:999px;background:var(--primary);color:var(--primary-foreground);font-size:.65rem;font-weight:700}.user-menu__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500}.sidebar:not(.sidebar--expanded) .user-menu__trigger{justify-content:center;padding:0}.sidebar:not(.sidebar--expanded) .user-menu__name{display:none}.user-menu__popover{position:absolute;left:.25rem;right:.25rem;bottom:calc(100% + .35rem);z-index:50;padding:.35rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow-elevated)}.user-menu__action{box-sizing:border-box;display:flex;align-items:center;gap:.55rem;width:100%;height:var(--control-h);min-height:var(--control-h);padding:0 .65rem;border:none;border-radius:var(--radius);background:transparent;color:var(--color-primary);cursor:pointer}.user-menu__action:hover{background:var(--sidebar-hover-bg)}.page,.page--with-footer{display:flex;flex-direction:column;gap:.85rem;min-height:0}.page--with-footer{flex:1}.page--with-footer>.page__header,.page--with-footer>.page__footer,.page--with-footer>.orta-yuk-pool{flex:0 0 auto}.page__header{display:flex;align-items:center;gap:.5rem;min-height:var(--control-h)}.page__header h1{margin:0;font-size:1.35rem;line-height:var(--control-h);color:var(--color-primary)}.page__title-input{flex:1;min-width:0;max-width:28rem;font-size:1.15rem;font-weight:600}.page__title-block{display:flex;flex-direction:column;justify-content:center;min-width:0}.page__title-block h1{line-height:1.2}.recipe-product{margin:0;color:var(--color-muted);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-list{display:flex;flex-direction:column;gap:.75rem;min-height:0}.modal-list .list-toolbar{margin-left:0;width:100%}.pose-expr{position:relative;z-index:1;width:100%;min-width:0}.pose-expr:has(.pose-expr__menu){z-index:30}.pose-expr-xyz{grid-template-columns:1fr}.pose-expr__row{display:flex;align-items:stretch;width:100%;height:var(--control-h);min-height:var(--control-h);box-sizing:border-box}.pose-expr__input{flex:1 1 auto;width:auto;min-width:0;height:var(--control-h);min-height:var(--control-h);border-top-right-radius:0;border-bottom-right-radius:0}.pose-expr__input.is-invalid{border-color:var(--color-danger)}.pose-expr__btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 var(--control-h);width:var(--control-h);min-width:var(--control-h);max-width:var(--control-h);height:var(--control-h);min-height:var(--control-h);margin-left:-1px;padding:0;border:1px solid var(--color-border);border-radius:0;background:var(--muted);color:var(--color-primary);font-size:.72rem;font-weight:700;line-height:1;cursor:pointer}.pose-expr__btn:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.pose-expr__btn:hover:not(:disabled){background:var(--muted)}.pose-expr__btn:disabled{opacity:.45;cursor:not-allowed}.pose-expr__error{margin:.2rem 0 0;color:var(--color-danger);font-size:.72rem;line-height:1.2}.pose-expr__menu{position:absolute;z-index:40;top:calc(100% + .2rem);right:0;left:0;max-height:14rem;overflow:auto;padding:.35rem 0;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg, #fff);box-shadow:0 .45rem 1.1rem #0000001f}.pose-expr__group-title{margin:.15rem .65rem .2rem;color:var(--color-muted);font-size:.72rem;font-weight:700}.pose-expr__item{display:flex;align-items:center;justify-content:space-between;gap:.65rem;width:100%;min-height:var(--control-h);padding:0 .65rem;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.pose-expr__item:hover{background:var(--muted)}.pose-expr__item code{color:var(--color-muted);font-size:.72rem}.cut-xyz__item[data-axis] .pose-expr__input{border-color:color-mix(in srgb,var(--axis) 55%,var(--color-border))}.cut-xyz__item[data-axis] .pose-expr__input.is-invalid{border-color:var(--color-danger)}.cut-xyz__item[data-axis] .pose-expr__btn{color:var(--axis);border-color:color-mix(in srgb,var(--axis) 40%,var(--color-border))}.cut-xyz__item .textbox[readonly]{background:var(--muted)}.modal-list .list-toolbar__search,.modal-list .list-toolbar__select{flex:1 1 0;width:auto;min-width:0;max-width:none}.modal-list .data-table-wrap{height:22rem;max-height:22rem}.product-recipe-tab{display:flex;flex-direction:column;gap:.75rem;min-height:18rem}.product-recipe-tab .list-toolbar{margin-left:0}.product-recipe-tab .data-table-wrap{height:auto;max-height:22rem}.product-recipe-tab__table{table-layout:fixed}.product-recipe-tab__table th,.product-recipe-tab__table td{padding:.4rem .5rem;font-size:.78rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-recipe-tab__table th.product-recipe-tab__actions,.product-recipe-tab__table td.product-recipe-tab__actions{width:6.5rem;overflow:visible;text-overflow:clip}.product-recipe-tab__code{width:7.25rem}.product-recipe-tab__name{width:28%}.product-recipe-tab__qty{width:auto}.product-recipe-tab__actions{width:6.5rem}.page__header .list-toolbar{margin-left:auto;flex:0 0 auto}.page__empty{margin:0;color:var(--color-muted)}.page__body{position:relative;flex:1;min-height:0;overflow:auto}.list-toolbar{display:flex;align-items:center;gap:.5rem}.list-toolbar__search,.textbox,.field input:not([type=checkbox]):not([type=radio]){box-sizing:border-box;width:100%;height:var(--control-h);min-height:var(--control-h);padding:0 .75rem;border:1px solid color-mix(in srgb,var(--color-muted) 55%,transparent);border-radius:var(--radius);color:var(--color-primary);background:var(--bg-elevated);outline:none}.list-toolbar__search,.list-toolbar__select{max-width:18rem}.list-toolbar__select{width:auto;min-width:12rem}select.textbox{box-sizing:border-box;height:var(--control-h);min-height:var(--control-h)}.searchable-select{position:relative;min-width:0}.searchable-select__trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;text-align:left;cursor:pointer}.searchable-select__trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select__placeholder,.searchable-select__empty{color:var(--color-muted)}.searchable-select__popover{position:absolute;z-index:80;top:calc(100% + .3rem);left:0;width:100%;min-width:14rem;padding:.35rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow-elevated)}.searchable-select__search{display:flex;align-items:center;gap:.45rem;padding:0 .55rem;border:1px solid color-mix(in srgb,var(--color-muted) 55%,transparent);border-radius:var(--radius)}.searchable-select__search:focus-within{border-color:var(--color-primary)}.searchable-select__search input{width:100%;min-width:0;height:var(--control-h);padding:0;border:0;outline:0;color:var(--color-primary);background:transparent}.searchable-select__options{max-height:15rem;margin-top:.3rem;overflow:auto}.searchable-select__option{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:2.2rem;padding:.45rem .65rem;border:0;border-radius:var(--radius);color:var(--color-primary);background:transparent;text-align:left;cursor:pointer}.searchable-select__option:hover,.searchable-select__option:focus-visible,.searchable-select__option[aria-selected=true]{background:color-mix(in srgb,var(--color-primary) 9%,var(--bg-elevated))}.searchable-select__empty{margin:0;padding:.7rem .65rem;font-size:.85rem}.textbox:focus,.list-toolbar__search:focus{border-color:var(--color-primary)}.textbox:read-only,.textbox:disabled{color:var(--color-muted);background:color-mix(in srgb,var(--color-muted) 10%,var(--bg-elevated))}.product-price-input{text-align:right;font-variant-numeric:tabular-nums}.product-price-control{display:flex;align-items:stretch;min-width:0}.product-price-control>.product-price-input{min-width:0;border-top-right-radius:0;border-bottom-right-radius:0}.product-price-control__currency,.product-price-control--sale>select.textbox{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 5.75rem;width:5.75rem;height:var(--control-h);min-height:var(--control-h);margin-left:-1px;padding:0 .5rem;border:1px solid color-mix(in srgb,var(--color-muted) 55%,transparent);border-radius:var(--radius);color:var(--color-primary);background:color-mix(in srgb,var(--color-muted) 8%,var(--bg-elevated));white-space:nowrap}.product-price-control--sale>select.textbox{border-radius:0;background:var(--bg-elevated)}.product-price-control--sale>.icon-btn{flex:0 0 var(--control-h);margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.data-table-wrap{height:100%;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-elevated)}.data-table-wrap.is-refreshing{opacity:.72}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table th,.data-table td{padding:.65rem .75rem;text-align:left;border-bottom:1px solid var(--color-border)}.material-kind-badge{display:inline-block;margin-left:.5rem;padding:.1rem .4rem;border-radius:999px;background:var(--muted);color:var(--color-muted);font-size:.7rem;font-weight:600;vertical-align:middle}.material-kind-badge--part{background:#e4efe6;color:#2d6a3e}.material-kind-badge--assembly{background:#d6e6f7;color:#1e4d7b}.assembly-price-fields__readonly{margin:0 0 .5rem}.assembly-price-net{font-size:1.15rem;font-weight:700}.data-table th{position:sticky;top:0;z-index:2;background:var(--bg-elevated);color:var(--color-muted);font-size:.8rem;font-weight:600}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:color-mix(in srgb,var(--color-accent) 6%,transparent)}.data-table tbody tr.is-inactive{color:var(--color-muted)}.data-table tbody tr.has-project{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.data-table tbody tr.has-project:hover{background:color-mix(in srgb,var(--color-primary) 14%,transparent)}.customer-name{display:inline-flex;align-items:center;gap:.4rem}.customer-name svg{flex:0 0 auto;color:var(--color-primary)}.customer-projects{grid-column:1 / -1;display:flex;flex-direction:column;gap:.45rem}.customer-projects__title{font-weight:600;font-size:.8rem;color:var(--color-muted)}.customer-projects__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.customer-projects__list li{display:grid;grid-template-columns:minmax(0,1fr) 11rem;gap:.5rem;align-items:center;font-size:.85rem}.phone-field{display:flex;align-items:stretch;width:100%;height:var(--control-h);min-height:var(--control-h);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-elevated);overflow:hidden}.phone-field__prefix{display:flex;align-items:center;padding:0 .55rem;border-right:1px solid var(--color-border);color:var(--color-muted);font-weight:600;font-size:.85rem;flex:0 0 auto}.phone-field__input{flex:1;min-width:0;height:100%;border:none;border-radius:0}.phone-field__paste{box-sizing:border-box;height:100%;min-height:var(--control-h);padding:0 .65rem;border:none;border-left:1px solid var(--color-border);background:var(--muted);color:var(--color-primary);font:inherit;font-weight:600;font-size:.8rem;cursor:pointer}.phone-field__paste:hover{background:var(--muted)}.data-table tbody tr.is-selected{background:color-mix(in srgb,var(--color-accent) 12%,transparent)}.data-table tbody tr.is-nested{cursor:default;background:color-mix(in srgb,var(--color-muted) 6%,var(--bg-elevated))}.data-table tbody tr.is-nested:hover{background:color-mix(in srgb,var(--color-muted) 10%,var(--bg-elevated))}.chevron.is-open{transform:rotate(180deg)}.data-table__check{width:var(--control-h);text-align:center}.data-table__check input,.data-table__flag input{width:1rem;height:1rem;margin:0;vertical-align:middle}.data-table__flag{text-align:center;white-space:nowrap}.data-table__sort{width:4.75rem;white-space:nowrap}.data-table th.data-table__num,.data-table td.data-table__num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.sale-price-cell{display:flex;justify-content:flex-end;width:100%}.sale-price-cell__btn,.sale-price-cell__value{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:.35rem;width:100%;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;font-variant-numeric:tabular-nums;text-align:right}.sale-price-cell__symbol{flex:0 0 1.15em;color:var(--color-muted);text-align:left}.sale-price-cell__btn{cursor:pointer}.sale-price-cell__btn:hover{text-decoration:underline}.sale-price-cell__btn:disabled{cursor:default;text-decoration:none}.sale-price-cell__popover{position:fixed;z-index:80;box-sizing:border-box;padding:.35rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow-elevated)}.sale-price-cell__popover .textbox{width:7.5rem;height:var(--control-h);min-height:var(--control-h)}.sort-order-cell{display:inline-flex;align-items:center;gap:.15rem;min-height:1.5rem}.sort-order-cell__value{min-width:1.1ch;font-variant-numeric:tabular-nums}.sort-order-cell__stepper{display:flex;flex-direction:column;opacity:0}.data-table__sort:hover .sort-order-cell__stepper,.sort-order-cell:focus-within .sort-order-cell__stepper{opacity:1}.sort-order-cell__btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:1rem;height:.75rem;padding:0;border:none;border-radius:var(--radius);background:var(--bg-elevated);color:var(--color-primary);cursor:pointer}.sort-order-cell__btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 16%,var(--bg-elevated))}.sort-order-cell__btn:disabled{color:var(--color-muted);cursor:default}.toolbar-menu{position:relative}.toolbar-menu__popover{position:absolute;top:calc(100% + .35rem);left:0;z-index:40;min-width:12.5rem;padding:.35rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow-elevated)}.toolbar-menu__popover--material-actions{width:max-content}.toolbar-menu__popover--material-actions .toolbar-menu__action{white-space:nowrap}.toolbar-menu__popover--material-actions .toolbar-menu__action svg{flex-shrink:0}.toolbar-menu__popover--end{left:auto;right:0}.toolbar-menu__separator{height:1px;margin:.3rem .35rem;background:var(--color-border)}.toolbar-menu__action{box-sizing:border-box;display:flex;align-items:center;gap:.5rem;width:100%;height:var(--control-h);min-height:var(--control-h);padding:0 .65rem;border:none;border-radius:var(--radius);background:transparent;color:var(--color-primary);cursor:pointer;text-align:left}.toolbar-menu__action:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.toolbar-menu__action:disabled{opacity:.45;cursor:default}.toolbar-menu__action:disabled:hover{background:transparent}.toolbar-menu__action.is-on{background:color-mix(in srgb,var(--color-accent) 16%,transparent)}.toolbar-menu__action--danger{color:var(--color-danger)}.toolbar-menu__action--danger:hover{background:color-mix(in srgb,var(--color-danger) 12%,transparent)}.dim-popover{z-index:80;min-width:18rem;max-width:24rem;max-height:min(28rem,70vh);overflow:auto}.dim-popover .textbox{width:100%}.dim-popover__section{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.55rem}.dim-popover__section:last-child{margin-bottom:0}.dim-popover__title{margin:.2rem .35rem .15rem;color:var(--color-muted);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.dim-popover__empty,.dim-popover__result{margin:.2rem .35rem;color:var(--color-muted);font-size:.8rem}.data-table__thumb{width:2.75rem}.table-avatar{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;object-fit:cover;background:color-mix(in srgb,var(--color-muted) 22%,transparent);color:var(--color-primary);font-size:.7rem;font-weight:600}.table-avatar--fallback{background:var(--primary);color:var(--primary-foreground)}.avatar-upload__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.avatar-upload__trigger{display:inline-flex;flex:0 0 auto;padding:0;border:none;background:transparent;cursor:pointer;border-radius:999px}.avatar-upload__trigger:hover .table-avatar{outline:2px solid var(--color-accent);outline-offset:2px}.avatar-upload__trigger:disabled{cursor:not-allowed;opacity:.6}.avatar-upload__trigger .table-avatar{width:3rem;height:3rem;font-size:.85rem}.image-field-row{display:flex;flex-direction:row;align-items:flex-end;gap:.75rem}.image-field-row__grow{flex:1;min-width:0}.modal-image-field{position:relative;flex:0 0 auto;align-self:flex-end;z-index:1}.modal-image-field:has(.image-popover){z-index:80}.image-popover{position:absolute;left:0;top:calc(100% + .4rem);z-index:80;display:flex;flex-direction:column;gap:.5rem;width:min(18rem,70vw);padding:.65rem;border:1px solid color-mix(in srgb,var(--color-muted) 55%,transparent);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:0 8px 24px color-mix(in srgb,var(--color-primary) 16%,transparent)}.image-popover__action{box-sizing:border-box;display:flex;align-items:center;gap:.5rem;width:100%;height:var(--control-h);min-height:var(--control-h);padding:0 .65rem;border:1px solid color-mix(in srgb,var(--color-muted) 55%,transparent);border-radius:var(--radius);background:var(--bg-elevated);color:var(--color-primary);cursor:pointer;text-align:left}.image-popover__action:hover{border-color:var(--color-accent);color:var(--color-accent)}.image-popover__action--danger{color:var(--color-danger);border-color:var(--color-danger)}.image-popover__link-row{display:flex;align-items:stretch;width:100%}.image-popover__link-row .textbox{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.image-popover__paste{flex:0 0 auto;border-top-left-radius:0;border-bottom-left-radius:0}.page__footer{flex:0 0 auto;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:calc(var(--control-h) + .75rem);padding-top:.65rem;border-top:1px solid color-mix(in srgb,var(--color-muted) 45%,transparent);background:var(--bg)}.page__footer-left,.page__footer-right{display:flex;align-items:center;gap:.45rem}.page__footer-right{margin-left:auto}.page__footer-counts{margin:0;font-size:.875rem;color:var(--color-muted)}.page__footer-counts-sep{margin:0 .4rem}.form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-settings{max-width:56rem}.segmented{display:flex;box-sizing:border-box;height:var(--control-h);min-height:var(--control-h);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;background:var(--bg-elevated)}.segmented__opt{position:relative;flex:1;display:flex;align-items:center;justify-content:center;margin:0;cursor:pointer;font-weight:600;color:var(--color-primary)}.segmented__opt+.segmented__opt{border-left:1px solid var(--color-border)}.segmented__opt input{position:absolute;opacity:0;pointer-events:none}.segmented__opt:has(input:checked),.segmented__opt[aria-pressed=true]{background:var(--primary);color:var(--primary-foreground)}.segmented__opt:has(input:disabled){cursor:default}button.segmented__opt{border:0;background:transparent;font:inherit;font-weight:600;min-width:0}button.segmented__opt+button.segmented__opt{border-left:1px solid var(--color-border)}button.segmented__opt[aria-pressed=true]{background:var(--primary)}button.segmented__opt:focus-visible{outline:2px solid var(--color-primary);outline-offset:-3px}.image-settings{display:flex;flex-direction:column;gap:1.25rem}.image-settings__title{margin:0;font-size:1rem;color:var(--color-primary)}.image-settings__desc{margin:.25rem 0 .65rem;font-size:.85rem;color:var(--color-muted)}.image-settings__slots{display:flex;flex-direction:column;gap:.75rem}.image-settings__slot{display:grid;grid-template-columns:7rem 7rem 7rem 7rem;gap:.65rem;align-items:end}.page__body.is-refreshing{opacity:.72}.login-page{min-height:100%;display:grid;place-items:center;padding:1.5rem}.login-card{width:min(100%,22rem);display:flex;flex-direction:column;gap:.85rem;padding:1.5rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow-elevated)}.login-card__mark{align-self:center;display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:var(--radius);background:var(--primary);color:var(--primary-foreground);font-weight:700}.login-card h1{margin:0;text-align:center;color:var(--color-primary)}.btn-primary{box-sizing:border-box;height:var(--control-h);min-height:var(--control-h);border:none;border-radius:var(--radius);background:var(--primary);color:var(--primary-foreground);font-weight:600;cursor:pointer}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.field>span,.switch__label{font-weight:500;color:var(--color-muted)}.form-separator{margin:.15rem 0;border:0;border-top:1px solid var(--color-border)}.qty-block{display:flex;flex-direction:column;gap:.85rem}.qty-block__title{margin:0;font-size:.85rem;font-weight:600;color:var(--color-muted)}.qty-type-row{display:flex;align-items:center;gap:.45rem}.qty-type-row>.textbox{box-sizing:border-box;flex:1;min-width:0;height:var(--control-h);min-height:var(--control-h)}.field__hint,.form-error{margin:0;font-size:.8rem}.form-error{color:var(--color-danger);white-space:pre-line}.field__password{display:flex;align-items:center;height:var(--control-h);min-height:var(--control-h);border:1px solid color-mix(in srgb,var(--color-muted) 55%,transparent);border-radius:var(--radius);background:var(--bg-elevated)}.field__password:focus-within{border-color:var(--color-primary)}.field__password input{flex:1;min-width:0;height:100%;border:none;background:transparent}.form-section{margin:0;padding:.75rem .85rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius);display:grid;gap:.75rem;min-width:0}.form-section legend{padding:0 .35rem;font-size:.8rem;font-weight:600;color:var(--color-muted)}.dim-end{display:grid;gap:.75rem;min-width:0}.field-legend{margin:0;font-size:.8rem;font-weight:600;color:var(--color-muted)}.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.85rem}.hub-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-elevated);color:inherit;text-decoration:none}.hub-card span{color:var(--color-muted);font-size:.85rem}.modal-tabs{display:flex;align-items:center;gap:.25rem;flex:0 0 auto;padding:0 .85rem;border-bottom:1px solid var(--color-border);background:var(--bg-elevated)}.modal-tabs__btn{box-sizing:border-box;height:var(--control-h);min-height:var(--control-h);padding:0 .85rem;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-muted);cursor:pointer}.modal-tabs__btn.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.compat-tree{display:flex;flex-direction:column;max-height:22rem;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius)}.compat-tree__row{box-sizing:border-box;display:flex;align-items:center;gap:.5rem;height:var(--control-h);min-height:var(--control-h);padding-right:.75rem}.compat-tree__row.is-covered{opacity:.55}.compat-tree__check{box-sizing:border-box;width:1rem;height:1rem;margin:0;flex:0 0 auto}.compat-hint{margin:.5rem 0 0;color:var(--color-muted);font-size:.85rem}.spec-table th:nth-child(2),.spec-table td:nth-child(2){width:11rem}.spec-table th:nth-child(4),.spec-table td:nth-child(4){width:6.5rem}.spec-table__unit-empty{color:var(--color-muted)}.spec-table__bool{display:flex;align-items:center;min-height:var(--control-h)}.sort-order-field{display:flex;align-items:center;gap:.4rem;color:var(--color-muted)}.sort-order-field .textbox{width:4.5rem}.switch{position:relative;display:inline-flex;align-items:center;gap:.45rem;height:var(--control-h)}.switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0}.switch__track{width:2.4rem;height:1.25rem;border-radius:999px;background:color-mix(in srgb,var(--color-muted) 45%,transparent);position:relative}.switch__track:after{content:"";position:absolute;top:.12rem;left:.12rem;width:1rem;height:1rem;border-radius:999px;background:var(--card);transition:transform .16s ease}.switch input:checked+.switch__track{background:var(--primary)}.switch input:checked+.switch__track:after{transform:translate(1.1rem)}.spinner{--spinner-c1: #006f9b;--spinner-c2: #3e3e40;--spinner-c3: #8f9092;--spinner-c4: #cacbce;position:relative;display:inline-grid;place-items:center;flex:0 0 auto}.spinner__logo{width:58%;height:58%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.spinner__ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--spinner-c1),var(--spinner-c2),var(--spinner-c3),var(--spinner-c4),var(--spinner-c1));-webkit-mask:radial-gradient(farthest-side,transparent 68%,#000 70%);mask:radial-gradient(farthest-side,transparent 68%,#000 70%);animation:spinner-clip .8s infinite linear alternate,spinner-flip 1.6s infinite linear}@media(prefers-reduced-motion:reduce){.spinner__ring{animation:none}}.loading-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:#f6f4f18c}.loading-overlay--inline{position:absolute;z-index:6}@keyframes spinner-clip{0%{clip-path:polygon(50% 50%,0 0,50% 0%,50% 0%,50% 0%,50% 0%,50% 0%)}12.5%{clip-path:polygon(50% 50%,0 0,50% 0%,100% 0%,100% 0%,100% 0%,100% 0%)}25%{clip-path:polygon(50% 50%,0 0,50% 0%,100% 0%,100% 100%,100% 100%,100% 100%)}50%{clip-path:polygon(50% 50%,0 0,50% 0%,100% 0%,100% 100%,50% 100%,0% 100%)}62.5%{clip-path:polygon(50% 50%,100% 0,100% 0%,100% 0%,100% 100%,50% 100%,0% 100%)}75%{clip-path:polygon(50% 50%,100% 100%,100% 100%,100% 100%,100% 100%,50% 100%,0% 100%)}to{clip-path:polygon(50% 50%,50% 100%,50% 100%,50% 100%,50% 100%,50% 100%,0% 100%)}}@keyframes spinner-flip{0%{transform:scaleY(1) rotate(0)}49.99%{transform:scaleY(1) rotate(135deg)}50%{transform:scaleY(-1) rotate(0)}to{transform:scaleY(-1) rotate(-135deg)}}@media(max-width:767.98px){.mobile-top-bar,.sidebar-backdrop{display:flex}.sidebar-backdrop{position:fixed;inset:0;z-index:30;border:0;background:#0f172a59}.sidebar{transform:translate(-100%);width:var(--sidebar-expanded)}.sidebar--mobile-open{transform:none}.app-shell__spacer{display:none}}.control-row:has(.icon-btn)>.textbox,.control-row:has(.num-stepper)>.textbox{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none;appearance:textfield}.control-row:has(.num-stepper)>.textbox::-webkit-outer-spin-button,.control-row:has(.num-stepper)>.textbox::-webkit-inner-spin-button{appearance:none;margin:0}.control-row>.icon-btn{flex:0 0 var(--control-h);border-top-left-radius:0;border-bottom-left-radius:0}.control-row>.icon-btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.control-row>.icon-btn+.icon-btn,.control-row>.num-stepper+.icon-btn,.control-row--poly-angle>.num-stepper+select.textbox{margin-left:-1px}.control-row--poly-angle>.num-stepper .num-stepper__btn:first-child,.control-row--poly-angle>.num-stepper .num-stepper__btn:last-child{border-radius:0}.control-row--poly-angle>select.textbox{flex:0 0 5.5rem;width:5.5rem;max-width:5.5rem;padding-left:.4rem;padding-right:.25rem;border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius);border-right:1px solid var(--color-border);appearance:auto}.control-row--price>select.textbox{flex:0 0 5.25rem;width:5.25rem;max-width:5.25rem;padding-left:.4rem;padding-right:.35rem;border-radius:0}.control-row--extrude>select.textbox,.control-row--spec>select.textbox{flex:0 1 11rem;width:11rem;max-width:48%;border-top-right-radius:0;border-bottom-right-radius:0}.control-row--extrude>select.textbox+.textbox,.control-row--extrude>select.textbox+.control-row,.control-row--spec>select.textbox+.textbox{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.control-row--extrude>select.textbox+.control-row>.textbox{border-top-left-radius:0;border-bottom-left-radius:0}.control-row--profit>select.textbox{flex:0 1 8.5rem;width:8.5rem;max-width:48%;border-top-right-radius:0;border-bottom-right-radius:0}.control-row--profit>select.textbox+.textbox{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.num-stepper{box-sizing:border-box;display:inline-flex;flex-direction:column;flex:0 0 calc(var(--control-h) / 2);width:calc(var(--control-h) / 2);height:var(--control-h);min-height:var(--control-h)}.num-stepper__btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:100%;height:calc(var(--control-h) / 2);padding:0;border:1px solid var(--color-border);background:var(--bg-elevated, #fff);color:var(--color-text);cursor:pointer}.num-stepper__btn:first-child{border-radius:var(--radius)}.num-stepper__btn:last-child{border-top:0;border-radius:var(--radius)}.control-row:has(.icon-btn)>.num-stepper .num-stepper__btn:first-child{border-top-right-radius:0}.control-row:has(.icon-btn)>.num-stepper .num-stepper__btn:last-child{border-bottom-right-radius:0}.num-stepper__btn:hover:not(:disabled){background:var(--bg-hover, var(--muted))}.num-stepper__btn:disabled{opacity:.45;cursor:not-allowed}.option-list{display:flex;flex-direction:column;gap:.45rem}.option-row{display:grid;grid-template-columns:minmax(6rem,1fr) calc(5ch + 2.75rem) 4.5rem auto var(--control-h);align-items:center;gap:.45rem}.option-row--multi{grid-template-columns:minmax(6rem,1fr) calc(5ch + 2.75rem) 4.5rem var(--control-h)}.modal:has(.rule-definition-form){width:min(96rem,100%)}.rule-definition-form{gap:.65rem}.rule-definition-form textarea.textbox{min-height:2.5rem}.rule-lines-field,.rule-lines{min-width:0}.rule-lines{display:grid;gap:.45rem}.rule-line-card{min-width:0;padding:.4rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-subtle)}.rule-line-header,.rule-line-row{display:grid;grid-template-columns:1.75rem minmax(8rem,1fr) 7.5rem minmax(8rem,1fr) minmax(14rem,2fr) 3.5rem var(--control-h);gap:.35rem}.rule-line-header{align-items:end;padding:0 .4rem;color:var(--color-muted);font-size:.75rem;font-weight:600;line-height:1.2}.rule-line-header span:nth-last-child(-n+3){text-align:center}.rule-line-row{align-items:center}.rule-line-row>.textbox,.rule-line-row__config>.textbox{min-width:0}.rule-line-row__number{display:grid;place-items:center;height:var(--control-h);color:var(--color-muted);font-size:.8rem}.rule-line-row__config{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(6.5rem,1fr);gap:.35rem;min-width:0}.rule-line-row__option-count{display:flex;align-items:center;height:var(--control-h);padding:0 .65rem;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-muted);font-size:.75rem;white-space:nowrap}.rule-line-row__flag{display:flex;align-items:center;gap:.3rem;height:var(--control-h);font-size:.78rem;white-space:nowrap}.rule-line-row__delete{display:grid;place-items:center;min-width:var(--control-h)}.rule-line-options{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.5rem;margin:.4rem 0 0 2.1rem;padding-top:.4rem;border-top:1px dashed var(--color-border);font-size:.78rem}.rule-line-options__items{display:flex;flex-wrap:wrap;gap:.35rem}.rule-line-option{display:grid;grid-template-columns:minmax(9rem,1fr) auto var(--control-h);align-items:center;gap:.35rem}.rule-line-option>label{white-space:nowrap}@media(max-width:78rem){.rule-lines{overflow-x:auto}.rule-line-header,.rule-line-card{min-width:76rem}}.product-rules-panel,.product-rules-tab{display:grid;gap:.75rem}.product-rules-panel__summary{padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.product-rule-table__cell{display:block;width:100%;min-height:1.8rem;padding:.25rem 0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.product-rule-table__cell:hover:not(:disabled){color:var(--color-accent);text-decoration:underline}.product-rule-table__cell:disabled{cursor:default}.product-rule-popover{position:fixed;z-index:90;display:grid;gap:.65rem;width:min(26rem,calc(100vw - 1rem));max-height:min(32rem,calc(100vh - 1rem));padding:.75rem;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow-elevated)}.product-rule-popover__header,.product-rule-popover__footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.product-rule-popover__footer{justify-content:flex-end;padding-top:.5rem;border-top:1px solid var(--color-border)}.product-rule-popover__checks{display:grid;gap:.35rem;max-height:12rem;overflow:auto}.product-rule-popover__checks label{display:flex;align-items:center;gap:.4rem}.option-row:not(.option-row--head)>*{box-sizing:border-box;height:var(--control-h);min-height:var(--control-h)}.option-row .textbox{min-width:0;width:100%}.option-row--head>span{font-weight:500;color:var(--color-muted);font-size:.9rem;line-height:1.2}.option-row .switch__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.field textarea.textbox{height:auto;min-height:4.5rem;padding:.5rem .75rem;resize:vertical}.recipe-pick{display:flex;flex-direction:column;max-height:22rem;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius)}.recipe-pick__row{box-sizing:border-box;display:flex;align-items:center;gap:.5rem;height:var(--control-h);min-height:var(--control-h);padding:0 .75rem;cursor:pointer}.recipe-pick__row:hover{background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.recipe-add-row{display:flex;align-items:center;gap:.5rem}.recipe-add-row .textbox{flex:1;min-width:0}.recipe-lines{display:flex;flex-direction:column;gap:.75rem}.recipe-lines.is-refreshing{opacity:.72}.recipe-line{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius)}.recipe-row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:.15rem}.recipe-line__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.formula-steps{display:flex;flex-direction:column;gap:.45rem}.formula-row{display:flex;align-items:center;gap:.4rem}.formula-row>*{box-sizing:border-box;height:var(--control-h);min-height:var(--control-h)}.formula-row .textbox{flex:1;min-width:0}.formula-row__op{display:inline-flex;align-items:center;flex:0 0 4.5rem;color:var(--color-muted);font-size:.85rem}.formula-row__op-select{flex:0 0 4.5rem;width:4.5rem}.recipe-run{display:flex;flex-direction:column;gap:.85rem}.recipe-run .data-table-wrap{max-height:min(22rem,50vh)}.feature-tree-panel{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.feature-tree{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-bottom:1px solid var(--color-border)}.feature-tree__root{flex:0 0 auto;padding:.55rem .85rem .35rem;font-weight:650;color:var(--color-primary)}.feature-tree .data-table-wrap{flex:1 1 auto;min-height:0}.feature-tree__name{padding-left:1.35rem}.feature-tree .data-table tbody tr.is-selected td{background:#e2eaf2}.cut-xyz{container-type:inline-size;container-name:cut-xyz;display:grid;gap:.35rem;padding:.45rem .65rem .15rem}.cut-xyz__grid{display:grid;grid-template-columns:1fr;gap:.5rem .45rem}@container cut-xyz (min-width: 21.5rem){.cut-xyz__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.cut-xyz__item{display:flex;flex-direction:column;gap:.25rem;min-width:0}.cut-xyz__label{color:var(--color-muted);font-size:.75rem;font-weight:600;letter-spacing:.02em}.cut-xyz__item[data-axis] .cut-xyz__label{color:var(--axis)}.cut-xyz__item[data-axis] .control-row>.textbox{border-color:color-mix(in srgb,var(--axis) 55%,var(--color-border))}.cut-xyz__item[data-axis] .num-stepper__btn{border-color:color-mix(in srgb,var(--axis) 40%,var(--color-border))}.cut-xyz__item[data-axis] .icon-btn{color:var(--axis);border-color:color-mix(in srgb,var(--axis) 45%,transparent)}.cut-axis-field{display:flex;align-items:stretch;width:100%;min-width:0;height:var(--control-h);min-height:var(--control-h);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-elevated);overflow:hidden}.cut-axis-field__anchor{box-sizing:border-box;height:100%;min-height:var(--control-h);min-width:3.75rem;padding:0 .3rem;border:none;border-right:1px solid var(--color-border);border-radius:0;background:var(--muted);font:inherit}.cut-axis-field__input{flex:1;min-width:0;width:auto;height:100%;border:none;border-radius:0}.cut-axis-field .num-stepper{flex:0 0 calc(var(--control-h) / 2)}.cut-axis-field .num-stepper__btn{border:none;border-left:1px solid var(--color-border);border-radius:0}.cut-axis-field .num-stepper__btn:last-child{border-top:1px solid var(--color-border)}.data-table-wrap .data-table tr.is-hidden td{color:var(--color-muted)}.room-modal{display:flex;flex-direction:column;gap:.75rem}.room-modal>.toolbar-btn{align-self:flex-start}.room-modal-edges{font-size:.85rem}.room-modal-edges .textbox{width:100%;min-width:0}.finish-swatch-grid{display:grid;grid-template-columns:repeat(8,var(--control-h));gap:.35rem}.finish-swatch{box-sizing:border-box;width:var(--control-h);height:var(--control-h);padding:0;border:1px solid color-mix(in srgb,var(--color-primary) 22%,transparent);border-radius:var(--radius);cursor:pointer}.finish-swatch.is-selected{outline:2px solid var(--color-primary);outline-offset:1px}.managed-color-row{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}.managed-color-row .finish-swatch{box-sizing:border-box;width:var(--control-h);height:var(--control-h);min-width:var(--control-h);min-height:var(--control-h);flex:0 0 var(--control-h);background-color:var(--swatch, var(--muted));background-image:linear-gradient(135deg,rgba(255,255,255,.38),transparent 42%,rgba(0,0,0,.18))}.managed-color-row .managed-color-more{display:inline-flex;align-items:center;justify-content:center;color:#3f3f3f;background-color:var(--muted);background-image:none}.managed-color-row .managed-color-more.is-selected{background-color:var(--swatch, var(--muted));background-image:linear-gradient(135deg,rgba(255,255,255,.38),transparent 42%,rgba(0,0,0,.18))}.managed-color-popover{position:fixed;z-index:80;box-sizing:border-box;display:grid;gap:.45rem;width:16rem;max-width:calc(100vw - 16px);padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow-elevated)}.managed-color-popover__palette{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.3rem;max-height:8.5rem;overflow:auto}.managed-color-popover__palette .finish-swatch{width:100%;height:auto;min-width:0;aspect-ratio:1}.material-swatch-grid{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.material-swatch{background:linear-gradient(135deg,rgba(255,255,255,.38),transparent 42%,rgba(0,0,0,.18)),var(--swatch, #b0b5ba)}.material-swatch--picker{background:conic-gradient(from 180deg,#f44,#fd0,#4c4,#0cf,#44f,#c0c,#f44)}.material-swatch--picker.is-selected{background:linear-gradient(135deg,rgba(255,255,255,.38),transparent 42%,rgba(0,0,0,.18)),var(--swatch, #b0b5ba)}.material-color-picker{position:relative}.material-color-popover{position:fixed;z-index:80;box-sizing:border-box;display:grid;gap:.45rem;width:14rem;max-width:calc(100vw - 16px);padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow-elevated)}.material-color-popover__pad{position:relative;width:100%;height:8rem;border:1px solid var(--color-border);border-radius:var(--radius);cursor:crosshair;touch-action:none}.material-color-popover__dot{position:absolute;width:.7rem;height:.7rem;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #0f172a59;transform:translate(-50%,-50%);pointer-events:none}.material-color-popover__hue{box-sizing:border-box;width:100%;height:var(--control-h);min-height:var(--control-h);margin:0;appearance:none;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:var(--radius)}.material-color-popover__hue::-webkit-slider-thumb{appearance:none;width:.85rem;height:var(--control-h);border:2px solid #fff;border-radius:var(--radius);background:transparent;box-shadow:0 0 0 1px #0f172a59;cursor:pointer}.material-color-popover__hex{width:100%}.orta-yuk-pool{flex:0 0 auto;display:flex;align-items:center;gap:.65rem;margin:0 0 .65rem;max-width:28rem}.orta-yuk-pool>span{flex:0 0 auto;white-space:nowrap}.orta-yuk-pool .textbox{flex:1;min-width:0}.orta-yuk-form{flex:1;min-height:0;display:grid;align-content:start;gap:.75rem;padding:.75rem .85rem 1rem;overflow:auto}.orta-yuk-form .control-row{width:100%;gap:.5rem}.orta-yuk-form .control-row .toolbar-btn{flex:1}.orta-yuk-form .control-row--ref{gap:0}.orta-yuk-form .control-row--ref>.textbox{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.orta-yuk-form .control-row--ref .toolbar-btn{flex:0 0 auto;width:auto;min-width:0;border-top-left-radius:0;border-bottom-left-radius:0}.orta-yuk-form__row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:var(--control-h)}.orta-yuk-form__pair{display:grid;grid-template-columns:minmax(0,1fr) 5.5rem;gap:.5rem;align-items:start}.orta-yuk-form__pair--hold{grid-template-columns:minmax(0,1fr) 8.25rem}.orta-yuk-form__pair--attach{grid-template-columns:7.25rem minmax(0,1fr)}.orta-yuk-form__pair--color{grid-template-columns:minmax(0,1fr) var(--control-h);align-items:center}.orta-yuk-form__pair--dims{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.orta-yuk-form__pair--dims>.field{min-width:0}.orta-yuk-form .cut-xyz__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.orta-yuk-form .cut-xyz__grid--with-align{grid-template-columns:1fr}.orta-yuk-form .cut-xyz{padding:0}.orta-yuk-form .field>.field>span:first-of-type{display:none}.orta-yuk-group-members{margin:0 0 .65rem;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem}.orta-yuk-group-member{display:flex;align-items:center;gap:.35rem;min-height:var(--control-h)}.orta-yuk-group-member__name{flex:1 1 auto;min-width:0;box-sizing:border-box;height:var(--control-h);padding:0 .65rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg);color:inherit;text-align:left;cursor:pointer}.orta-yuk-group-member__name:hover{background:var(--bg-elevated)}.orta-yuk-rule{display:grid;grid-template-columns:minmax(0,1fr) 4.5rem minmax(4.5rem,5.5rem) var(--control-h);gap:.4rem;align-items:center}.orta-yuk-rule .field{margin:0}.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}.orta-hold-row{display:flex;align-items:flex-start;gap:.85rem}.orta-hold{display:grid;gap:.35rem;flex:1;min-width:0}.orta-hold__label{font-size:.8rem;color:var(--color-muted)}.orta-hold-pad{display:grid;grid-template-columns:repeat(3,var(--control-h));grid-template-rows:repeat(3,var(--control-h));gap:.25rem}.orta-hold-pad__btn{box-sizing:border-box;width:var(--control-h);height:var(--control-h);min-height:var(--control-h);padding:0;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--card);cursor:pointer}.orta-hold-pad__btn:hover:not(:disabled){background:var(--muted)}.orta-hold-pad__btn:disabled{opacity:.45;cursor:not-allowed}.orta-hold--ref .orta-hold-pad__btn.is-on{background:#dbeafe;border-color:#2563eb}.orta-hold--self .orta-hold-pad__btn.is-on{background:#ffedd5;border-color:#c45c26}.orta-hold-mark{stroke-width:2;vector-effect:non-scaling-stroke}.orta-hold-mark--ref{stroke:#2563eb}.orta-hold-mark--self{stroke:#c45c26}.orta-hold-mark--joined{fill:none;stroke:#16a34a;stroke-width:2.5;vector-effect:non-scaling-stroke}.color-swatch{display:inline-block;width:var(--control-h);height:var(--control-h);border-radius:var(--radius);border:1px solid var(--color-border);vertical-align:middle}.color-swatch--lg{width:2.75rem;height:var(--control-h)}.color-fav-btn{box-sizing:border-box;width:var(--control-h);height:var(--control-h);min-height:var(--control-h);display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--radius);background:transparent;color:var(--color-muted);cursor:pointer}.color-fav-btn.is-on{color:#c9a227}.color-fav-btn:hover:not(:disabled){background:var(--muted)}.color-fav-btn:disabled{opacity:.45;cursor:default}.color-rgb-row,.color-picker-row{display:flex;align-items:center;gap:.5rem}.color-rgb-row .textbox{width:4.5rem}.field .color-picker-row input.color-picker{flex:0 0 var(--control-h);box-sizing:border-box;width:var(--control-h);height:var(--control-h);min-height:var(--control-h);padding:0;border:1px solid var(--color-border);border-radius:var(--radius);background:transparent;cursor:pointer}.material-drawing-avatar{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px dashed var(--color-border);border-radius:var(--radius);color:#64748b;background:var(--muted);vertical-align:middle}.material-drawing-avatar--saved{color:#c2410c;background:#fff7ed;border-style:solid}.material-drawing-avatar:hover{color:#ea580c;border-color:#ea580c}.material-drawing-avatar:focus-visible{outline:2px solid #ea580c;outline-offset:2px}.material-drawing-avatar svg{width:100%;height:100%}.material-drawing-avatar>.lucide{width:22px;height:22px}.room-modal__actions{margin-left:auto;justify-content:flex-end}.room-modal__button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;padding:0 14px;height:var(--control-h);font-size:inherit}.room-modal__close{background:var(--card)}.parameter-groups{display:grid;gap:1.75rem}.parameter-group h2{font-size:1.1rem;margin:0 0 .75rem}.hub-grid--fluid{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}.hub-card--with-icon{flex-direction:row;align-items:center;gap:.85rem;min-width:0}.hub-card__icon{flex:0 0 auto;color:var(--color-primary)}.hub-card__content{display:flex;flex-direction:column;gap:.25rem;min-width:0;overflow-wrap:anywhere}.quote-designer__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,620px);gap:1.25rem;align-items:start}.quote-designer__controls{display:grid;gap:1rem;min-width:0}.quote-designer__controls fieldset{display:grid;gap:.85rem;margin:0;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-elevated)}.quote-designer__controls legend{padding:0 .4rem;font-weight:700}.quote-logo-actions,.quote-logo-actions .control-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.quote-logo-actions .control-row{flex:1 1 22rem}.quote-logo-actions .textbox{min-width:12rem}.quote-designer__textarea{min-height:8rem;resize:vertical}.quote-condition{display:grid;grid-template-columns:minmax(7rem,.32fr) repeat(2,minmax(0,1fr));gap:.65rem;align-items:start;padding-top:.75rem;border-top:1px solid var(--color-border)}.quote-condition>strong{padding-top:2rem}.quote-condition .field{min-width:0}.quote-condition textarea{width:100%;min-height:5.5rem;resize:vertical}.quote-condition:first-of-type{padding-top:0;border-top:0}.quote-extra-row{display:grid;grid-template-columns:1fr max-content;gap:.6rem;align-items:start}.quote-extra-row textarea{min-height:4.5rem;resize:vertical}.quote-designer__preview-wrap{position:sticky;top:1rem;min-width:0}.quote-paper{position:relative;box-sizing:border-box;width:100%;aspect-ratio:210 / 297;overflow:hidden;padding:7.5% 6%;background:var(--card);box-shadow:0 5px 24px #0f172a29}.quote-paper__header{min-height:10%;border-bottom:4px solid;padding-bottom:2%}.quote-paper__customer{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;min-width:0;text-align:right}.quote-paper__customer strong{line-height:1.15}.quote-paper h2{margin:5% 0 2%}.quote-paper p{margin:0 0 2%}.quote-paper__authority{display:flex;flex-direction:column;align-items:flex-end;gap:1%;margin:4% 0;text-align:right}.quote-paper__authority>strong{display:none}.quote-paper table{width:100%;border-collapse:collapse;margin:4% 0;font-size:inherit}.quote-paper th,.quote-paper td{padding:2% 1%;border-bottom:1px solid #cbd5e1;text-align:left}.quote-paper th:last-child,.quote-paper td:last-child{text-align:right}.quote-paper__terms{margin-top:4%}.quote-paper__letterhead{position:absolute;left:6%;right:6%;bottom:3%;display:grid;grid-template-columns:1fr;min-height:7%;padding-top:1.5%;border-top:2px solid}.quote-paper__letterhead>div:first-child{display:flex;flex-direction:column;min-width:0;padding-right:2%}.quote-paper__positioned-logo{position:absolute;z-index:2;display:grid;place-items:start;overflow:hidden;color:#94a3b8;pointer-events:none}.quote-paper__positioned-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left top}@media(max-width:1100px){.quote-designer__layout{grid-template-columns:1fr}.quote-designer__preview-wrap{position:static;max-width:620px;margin-inline:auto}}@media(max-width:720px){.quote-condition{grid-template-columns:1fr}.quote-condition>strong{padding-top:0}}.quote-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;white-space:nowrap}.quote-edit-summary{display:grid;gap:.5rem}.quote-edit-summary__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:46px;padding:.7rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--bg-elevated);color:inherit;text-align:left;cursor:pointer}.quote-edit-summary__row:hover,.quote-edit-summary__row.is-active{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 7%,var(--bg-elevated))}.quote-edit-summary__row--static{cursor:default}.quote-edit-summary__row--static:hover{border-color:var(--color-border);background:var(--bg-elevated)}.quote-edit-summary__row:last-child{font-size:1.05rem}.quote-edit-amount{margin-top:1rem}.quote-output-preview,.quote-project-preview{position:relative;min-height:360px}.quote-output-preview{display:grid;gap:1rem;padding:.75rem;background:#e5e7eb;overflow:auto}.quote-output-preview img{display:block;width:100%;height:auto;background:var(--card);box-shadow:0 3px 16px #0f172a29}.quote-project-preview{height:min(70vh,760px)}.quote-project-preview>.geometry-editor{height:100%}.quote-line-editor{position:relative;min-height:96px;margin-top:18px;overflow:auto}.quote-line-editor .data-table{min-width:760px}.quote-line-editor__input{min-width:110px;width:130px;text-align:right}.quote-line-editor__input.is-invalid{border-color:var(--danger,#dc2626);box-shadow:0 0 0 1px var(--danger,#dc2626)}button:not(:disabled),[role=button]:not([aria-disabled=true]),input[type=button]:not(:disabled),input[type=submit]:not(:disabled){cursor:pointer}button:disabled,[role=button][aria-disabled=true]{cursor:not-allowed}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--sidebar-primary)}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--ring);outline-offset:2px}.textbox,.field input:not([type=checkbox]):not([type=radio]),.list-toolbar__search{border-color:var(--input);color:var(--foreground);background-color:var(--card)}.textbox:focus,.field input:focus,.list-toolbar__search:focus{border-color:var(--ring)}.textbox:disabled,.textbox:read-only{background-color:var(--muted)}.textbox::placeholder,input::placeholder,textarea::placeholder{color:var(--muted-foreground)}.btn-primary,.toolbar-btn.toolbar-btn--success,.toolbar-btn.toolbar-btn--active,.customer-room .customer-room__primary,.customer-home .customer-home__start{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.btn-primary:hover:not(:disabled),.toolbar-btn.toolbar-btn--success:hover:not(:disabled),.toolbar-btn.toolbar-btn--active:hover:not(:disabled),.customer-room .customer-room__primary:hover:not(:disabled),.customer-home .customer-home__start:hover{background:color-mix(in srgb,var(--primary) 88%,var(--background));color:var(--primary-foreground)}.icon-btn.is-on{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.toolbar-btn--soft-danger{color:var(--destructive);background:color-mix(in srgb,var(--destructive) 8%,var(--card));border-color:color-mix(in srgb,var(--destructive) 30%,var(--border))}.toolbar-btn--soft-danger:hover:not(:disabled){background:color-mix(in srgb,var(--destructive) 15%,var(--card))}.data-table th{background:var(--muted);color:var(--muted-foreground)}.data-table tbody tr:hover{background:var(--accent)}.data-table tbody tr.is-selected{background:color-mix(in srgb,var(--primary) 16%,var(--card))}.modal{border:1px solid var(--border);color:var(--card-foreground)}.modal__loading{background:color-mix(in srgb,var(--card) 70%,transparent)}.app-sidebar{border-color:var(--sidebar-border)}.drawing-view-modes{background:var(--card)}.drawing-view-modes button:hover,.drawing-view-modes button.is-active{background:var(--accent);color:var(--accent-foreground)}.drawing-view-modes button:focus-visible{outline-color:var(--ring)}.app-toast--success,.app-toast--success .icon-btn{background-color:var(--primary);color:var(--primary-foreground)}.app-toast--warning{background:var(--chart-1);color:#1c1917}
