.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:absolute;right:0;bottom:calc(100% + .4rem);z-index:50;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:.4rem;background:var(--bg-elevated, #fff);box-shadow:0 12px 30px #0000002e;white-space:nowrap}.delete-confirm__message{margin:0;color:var(--color-primary, #111827);font-size:.85rem}.room-planner{color:#243b35;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:6px;padding:8px;min-width:0;width:100%;color:#243b35;background:#fff}.room-planner__tools input{width:100px}.room-planner button{border:1px solid #c3d1c9;border-radius:7px;padding:9px 12px;background:#fff;color:#243b35;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:12px;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:#fff;border:1px solid #c6d4cd;border-radius:10px;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:6px}.room-plan-popover button{padding:6px 10px;border:1px solid #bbc9c1;background:#f5f9f6;border-radius:6px;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}.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:8px;background:#fff;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:6px;color:#4b453e;background:transparent;cursor:pointer}.lab-modeling-tool button:hover:not([aria-disabled=true]){background:#fff0e1;color:#a8480a}.lab-modeling-tool button[aria-pressed=true]{border-color:#ef9b52;background:#ffe4ca;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:5px;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:#65564a}.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:#8a8077;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:#65564a}.lab-snap-angle{display:block;margin:12px;padding:3px 7px;border-radius:4px;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:5px;margin-bottom:3px;min-width:0}.lab-tree-row.is-selected{background:#ffe6cf}.lab-tree-row:hover{background:#fff0e3}.lab-object-tree button{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:#51463b;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:4px}.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:#76695e;border-radius:4px}.lab-object-tree .lab-tree-object-visibility:hover:not(:disabled){background:#eee5db}.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:#76695e}.lab-tool-settings fieldset{margin:12px 0;border:1px solid #d9d1c8;border-radius:6px;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 #d9d1c8;border-radius:5px;background-color:#fff;color:#40382f;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 #d9d1c8;border-radius:5px;padding:6px 10px;cursor:pointer;background:#fff;color:#554332}.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:5px;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-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:.4rem;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:.4rem;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:5px;background:#fffaf4;color:#755c45;cursor:pointer}.lab-panel-divider button:hover{background:#ffe4ca;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%}.geometry-v2-error{position:absolute;z-index:2;top:.75rem;left:.75rem;right:.75rem;padding:.75rem .9rem;border-radius:.5rem;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:.4rem;background:#f7f4ef;color:var(--fg);cursor:pointer}.lab-cam-toolbar button:hover,.lab-cam-toolbar button.is-active{background:#ece6dc}.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:#f3f3f3;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 #d9d1c8;border-radius:8px;background:#fff;box-shadow:0 5px 20px #0003;color:#40382f}.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 #d9d1c8;border-radius:4px}.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 #d9d1c8;border-radius:4px;background:#fff;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:4px;background:transparent;color:inherit;font:inherit}.lab-object-tree .lab-tree-name:focus{outline:none;border-color:#f38c30;background:#fff}.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:4px}.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:#76695e;border-radius:4px}.lab-object-tree .lab-tree-feature-visibility:hover:not(:disabled){background:#eee5db}.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:#ffe6cf;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:10px;background:#c9c3bc;cursor:pointer}.lab-pattern-switch input:before{content:"";display:block;width:12px;height:12px;border-radius:50%;background:#fff;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:4px}.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:4px;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:7px;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:6px}.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:2px}.lab-light-color::-moz-color-swatch{border:0;border-radius:2px}.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:#fff;border-radius:8px;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:5px}.lab-assembly-row.is-selected{background:#ffe7cf}.lab-assembly-row:hover{background:#fff0e3}.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:#51463b;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 #d9d1c8;border-radius:5px;background:#fff;color:#40382f;font:inherit}.lab-assembly fieldset{margin:12px 0 0;padding:10px;min-width:0;border:1px solid var(--color-border);border-radius:6px}.lab-assembly legend{font-size:12px;padding:0 4px}.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:2px;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:5px;background:#fff0e3;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:4px;color:#76695e}.lab-assembly-row .lab-object-copy:hover:not(:disabled),.lab-assembly-row .lab-object-visibility:hover:not(:disabled){background:#eee5db}.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 #d9d1c8;border-radius:0 4px 4px 0;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:#65564a;cursor:pointer}.lab-number-stepper-buttons button+button{border-top:1px solid #e5ded5}.lab-number-stepper-buttons button:hover:not(:disabled){background:#ffe6cf;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 #d9d1c8;border-radius:5px;background:#fff;color:#65564a;cursor:pointer}.lab-mirror-controls button[aria-pressed=true]{background:#ffe4ca;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 #d9d1c8;border-radius:5px;background:#fff;padding:7px 8px;font:inherit;color:#40382f}.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>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:#51463b;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:6px}.cabinet-settings__row{margin-top:8px;border:1px solid #ded6cd;border-radius:6px;background:#fff}.cabinet-settings__row>summary{padding:9px 10px;cursor:pointer;color:#51463b;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:#51463b;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:6px;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:#51463b}.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}.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:#fff}.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:7px;cursor:pointer}.cabinet-settings .lab-action-secondary{border:1px solid #d8d0c7;background:#fff;color:#65564a}.cabinet-settings .lab-action-primary{border:1px solid #15803d;background:#15803d;color:#fff}.cabinet-settings .lab-action-primary:disabled{opacity:.45;cursor:not-allowed}@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:.4rem .4rem 0 0}.lab-cam-toolbar__zoom button:last-child{border-top:0;border-radius:0 0 .4rem .4rem}.geometry-preview-loading{position:absolute;inset:0;z-index:50;pointer-events:auto}.geometry-preview-loading .loading-overlay{position:absolute;inset:0}.app-toast{display:flex;align-items:flex-start;gap:.65rem;width:min(28rem,calc(100vw - 2rem));padding:.75rem .85rem;border-radius:.4rem;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:.35rem;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:#fff;background:var(--color-success, #2b9372);border-color:var(--color-success, #2b9372)}.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:#fff;background:var(--color-primary);border-color:var(--color-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}.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}.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{--font-sans: "Manrope", sans-serif;--bg: #f6f4f1;--bg-elevated: #ffffff;--fg: #1f2933;--color-primary: #1f3a4d;--color-accent: #c45c26;--color-muted: #8b939c;--color-border: #e4ded6;--color-success: #2f8f6b;--color-danger: #c23b3b;--radius: .625rem;--shadow-elevated: 0 1px 2px rgb(15 23 42 / 6%), 0 4px 12px rgb(15 23 42 / 4%);--sidebar-collapsed: 4rem;--sidebar-expanded: 16rem;--sidebar-icon-size: 1.25rem;--sidebar-label-size: .875rem;--sidebar-text: #1f2933;--sidebar-active: #c45c26;--sidebar-bg: #ffffff;--sidebar-hover-bg: #f3efe9;--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:.35rem;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{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.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:.35rem;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:#e8e8e8;color:#6b6b6b}.toolbar-icon-btn--reset:hover{background:#dedede}.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:.35rem;border-bottom-left-radius:.35rem}.toolbar-icon-group>.toolbar-icon-btn:last-child{border-top-right-radius:.35rem;border-bottom-right-radius:.35rem;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:.35rem;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(--color-primary);color:#fff;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:.4rem;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:.3rem;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:#e8e8e8;color:var(--color-primary);font-size:.72rem;font-weight:700;line-height:1;cursor:pointer}.pose-expr__btn:last-child{border-top-right-radius:.35rem;border-bottom-right-radius:.35rem}.pose-expr__btn:hover:not(:disabled){background:#dedede}.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:.35rem;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:#f3f3f3}.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:#f3f3f3}.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:.35rem;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)}.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))}.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:#e8e8e8;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:.35rem;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:#e8e8e8;color:var(--color-primary);font:inherit;font-weight:600;font-size:.8rem;cursor:pointer}.phone-field__paste:hover{background:#dedede}.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:.4rem;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:.15rem;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:.4rem;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:.3rem;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(--color-primary);color:#fff}.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:.4rem;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:.35rem;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(--color-primary);color:#fff}.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(--color-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:.55rem;background:var(--color-primary);color:#fff;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(--color-primary);color:#fff;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:.35rem;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:#fff;transition:transform .16s ease}.switch input:checked+.switch__track{background:var(--color-success)}.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}}.scope-menu{position:relative}.scope-menu__panel{position:absolute;right:0;top:calc(100% + .35rem);z-index:40;display:flex;flex-direction:column;gap:.45rem;width:min(18rem,80vw);padding:.65rem;border:1px solid var(--color-border);border-radius:.4rem;background:var(--bg-elevated);box-shadow:0 8px 24px color-mix(in srgb,var(--color-primary) 16%,transparent)}.scope-menu__actions{display:flex;align-items:center;gap:.45rem}.scope-menu__actions .toolbar-btn{flex:1;min-width:0}.scope-menu__item{box-sizing:border-box;display:flex;align-items:center;width:100%;height:var(--control-h);min-height:var(--control-h);padding:0 .65rem;border:1px solid transparent;border-radius:.35rem;background:transparent;color:var(--color-primary);text-align:left;cursor:pointer}.scope-menu__panel--compact{width:10rem;padding:.35rem;gap:.15rem}.scope-menu__item:hover,.scope-menu__item.is-active{background:color-mix(in srgb,var(--color-accent) 12%,transparent)}.scope-menu__item:disabled{opacity:.45;cursor:not-allowed}.scope-menu__item--nested{padding-left:1.4rem;color:var(--color-muted)}.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:.3rem;border-bottom-right-radius:.3rem;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:0 .3rem 0 0}.num-stepper__btn:last-child{border-top:0;border-radius:0 0 .3rem .3rem}.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, #f3f3f3)}.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)}.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:.35rem;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:#f3f3f3;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:.3rem;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, #ececec);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:#e8e8e8;background-image:none}.managed-color-row .managed-color-more.is-selected{background-color:var(--swatch, #e8e8e8);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:.4rem;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:.4rem;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:.3rem;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:.3rem}.material-color-popover__hue::-webkit-slider-thumb{appearance:none;width:.85rem;height:var(--control-h);border:2px solid #fff;border-radius:.2rem;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:.3rem;background:#fff;cursor:pointer}.orta-hold-pad__btn:hover:not(:disabled){background:#f4f4f4}.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:.4rem;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:.4rem;background:transparent;color:var(--color-muted);cursor:pointer}.color-fav-btn.is-on{color:#c9a227}.color-fav-btn:hover:not(:disabled){background:#f0ece6}.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:.4rem;background:transparent;cursor:pointer}.instant-title{position:fixed;z-index:120;box-sizing:border-box;max-width:min(18rem,calc(100vw - 16px));padding:.28rem .5rem;border:1px solid var(--color-border);border-radius:.3rem;background:var(--bg-elevated);color:var(--fg);font-family:var(--font-sans);font-size:.75rem;line-height:1.3;box-shadow:var(--shadow-elevated);pointer-events:none}.material-drawing-avatar{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px dashed var(--color-border);border-radius:7px;color:#64748b;background:#f8fafc;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:#fff}.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}
