/* Product-specific canvas workspace. No changes to frozen drawings or renderer. */
body.is-plan-studio{overflow:hidden}.is-plan-studio .workspace>header{height:52px}.is-plan-studio .project-bar{height:66px;padding:10px 22px;align-items:center}.is-plan-studio .project-bar h1{font-size:19px;margin:0}.is-plan-studio .project-bar .eyebrow{display:none}.is-plan-studio .project-select{display:flex;align-items:center;gap:10px;white-space:nowrap}.is-plan-studio .project-select select{min-width:260px;height:35px}.is-plan-studio .main-grid{padding:0 16px 16px;display:block}.is-plan-studio #content{padding:0;min-width:0}.is-plan-studio .sidebar{width:190px}.is-plan-studio .workspace{margin-left:190px}.is-plan-studio .sidebar .brand{font-size:23px}.is-plan-studio .sidebar nav button{font-size:13px;padding:10px 15px}.plan-studio{height:calc(100dvh - 134px);min-height:420px;display:flex;flex-direction:column;border:1px solid #d9e3ec;background:#fff;border-radius:9px;overflow:hidden;color:#243c50;box-shadow:0 5px 22px #16384905;font-size:13px}.plan-studio *{box-sizing:border-box}.plan-studio button{font-size:12px;line-height:18px;min-height:32px;padding:6px 10px;border-radius:5px;white-space:nowrap}.plan-studio button:disabled{opacity:.4;cursor:not-allowed}.plan-studio h2{font-size:15px;line-height:22px;margin:0 0 14px}.plan-studio h3{font-size:14px;line-height:22px;margin:14px 0}.plan-studio p{font-size:12px;line-height:20px}.sp-topbar{height:51px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #e3e9ef;gap:12px}.sp-topbar>div,.sp-actions{display:flex;align-items:center;gap:10px}.sp-topbar strong{font-size:14px;font-weight:600}.sp-scope{font-size:10px;background:#eaf3f7;color:#54819b;border-radius:4px;padding:2px 6px}.sp-state{font-size:11px;color:#778a99}.sp-body{flex:1;min-height:0;display:grid;grid-template-columns:224px minmax(280px,1fr) 238px}.sp-left,.sp-right{min-height:0;display:flex;flex-direction:column;background:#fff;overflow:hidden}.sp-left{border-right:1px solid #e4eaf0}.sp-right{border-left:1px solid #e4eaf0}.sp-steps{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:14px 12px;border-bottom:1px solid #e4eaf0}.sp-steps button{display:flex;align-items:center;gap:6px;border:1px solid transparent;color:#788b9b;background:#f6f8fa;text-align:left;padding:9px 7px;font-size:11px}.sp-steps button span{font-size:10px;color:#8fa5b5}.sp-steps button strong{font-weight:500}.sp-steps button.active{background:#e8f1f7;border-color:#c9dfed;color:#1e597d}.sp-steps button.active span{color:#2e78a4}.sp-step-content,.sp-inspector{overflow:auto;min-height:0;padding:18px 15px;scrollbar-width:thin;flex:1}.sp-step-content>button,.sp-inspector>button{width:100%;margin:0 0 10px}.sp-desc{color:#81909c;font-size:12px;line-height:21px;margin:0 0 15px}.sp-file-name{font-size:12px;overflow-wrap:anywhere;color:#456078;margin:14px 0;line-height:19px}.sp-meta{margin:14px 0 20px;display:grid;gap:13px}.sp-meta>div{display:flex;justify-content:space-between;gap:12px;line-height:20px}.sp-meta dt{font-size:11px;color:#8696a3}.sp-meta dd{font-size:12px;margin:0;text-align:right}.sp-note,.sp-warning,.sp-success{border:1px solid #e1eaf0;background:#f5f8fb;padding:12px;border-radius:6px;margin:14px 0;font-size:12px;line-height:20px}.sp-note b,.sp-note span{display:block}.sp-note b{font-size:12px;font-weight:500;margin-bottom:5px}.sp-note span{font-size:11px;line-height:19px;color:#7d8f9d}.sp-note button{margin-top:8px}.sp-warning{background:#fff8eb;color:#987341;border-color:#f1e2c2}.sp-warning p{margin:5px 0 0}.sp-success{background:#f0f7f3;color:#56826b;border-color:#d7e9df}.sp-support{border-top:1px solid #e7edf2;padding:13px 15px;background:#fafbfc;flex-shrink:0}.sp-support b{font-size:10px;font-weight:500;color:#6c8292;display:block;margin-bottom:4px}.sp-support span{font-size:10px;line-height:17px;display:block;color:#92a0aa}.sp-drawing{min-width:0;min-height:0;display:flex;flex-direction:column;background:#f7f9fb}.sp-canvas-top{flex-shrink:0;height:47px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid #e0e7ed;gap:10px;background:#fcfdfe}.sp-canvas-top>div{display:flex;gap:5px;align-items:center}.sp-candidate-tabs{min-width:0;overflow:auto}.sp-candidate-tabs>b{font-size:12px;font-weight:500;color:#7690a3}.sp-candidate-tabs button{border:0;background:transparent;color:#8495a2}.sp-candidate-tabs button.active{background:white;color:#275e83;box-shadow:0 1px 6px #2d597416}.sp-canvas{flex:1;min-height:0;position:relative;overflow:hidden;background-color:#f9fbfc;background-image:radial-gradient(#c4d3df 0.6px,transparent .7px);background-size:18px 18px}.sp-plan-svg{width:100%;height:100%;display:block;touch-action:none;user-select:none}.sp-room{cursor:pointer}.sp-room path{stroke:#99aab5;stroke-width:1}.sp-room.selected path{stroke:#1c78bd;stroke-width:2.5;fill:#d9eaf7}.sp-room text{fill:#3c5464;pointer-events:none;font-weight:500}.sp-room tspan{fill:#7c8d99;font-weight:400}.sp-furniture{fill:#bdad97;stroke:#9e8e77;stroke-width:.015;opacity:.8;pointer-events:none}.sp-source{fill:none;stroke:#647988;stroke-width:1.5;pointer-events:none}.sp-source.role-protected,.sp-source.role-wall,.sp-source.role-unavailable{fill:#3a5264;stroke:#354b5c}.sp-source.role-boundary{stroke:#304b5f;stroke-width:2.3}.sp-source.role-window{stroke:#289fba;stroke-width:4}.sp-source.role-door{stroke:#bb9255;stroke-width:4}.sp-door{fill:none;stroke:white;stroke-width:5;pointer-events:none}.sp-edge{stroke:#3c92cf;stroke-width:5;stroke-linecap:round;cursor:ew-resize;opacity:.8}.sp-edge:hover{stroke:#075a96;stroke-width:8}.sp-route{stroke:#3b9f96;stroke-width:1.5;stroke-dasharray:4 3;opacity:.65;pointer-events:none}.sp-zoom{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;padding:4px;background:#fffffff0;border:1px solid #dce6ed;border-radius:7px;box-shadow:0 3px 12px #2b53610b}.sp-zoom button{padding:4px 10px;min-height:28px;font-size:13px}.sp-zoom output{font-size:10px;color:#7b8d9a;min-width:36px;text-align:center}.sp-scale{position:absolute;top:13px;left:15px;font-size:10px;color:#91a2ae;pointer-events:none}.sp-canvas-bottom{height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-top:1px solid #e2e9ef;gap:8px;background:#fcfdfe;font-size:10px;color:#879aa8}.sp-legend{display:flex;align-items:center;gap:5px;white-space:nowrap}.sp-legend i{width:7px;height:7px;margin-left:8px;border-radius:1px}.sp-legend i:first-child{margin-left:0}.sp-legend .fixed{background:#344c5d}.sp-legend .room{background:#e7dcc9}.sp-legend .hall{background:#b7d9d3}.sp-legend .edge{background:#3c92cf}.sp-inspector-heading{height:47px;flex-shrink:0;border-bottom:1px solid #e4eaf0;padding:0 15px;display:flex;align-items:center;justify-content:space-between}.sp-inspector-heading h2{font-size:13px;margin:0}.sp-inspector-heading button{font-size:10px;padding:4px}.sp-check-title{display:flex;align-items:center;gap:8px;font-size:12px;color:#51816d}.sp-check-title>span{width:24px;height:24px;border-radius:50%;background:#e8f4ed;display:grid;place-items:center}.sp-check-title strong{font-weight:500}.sp-checks{list-style:none;padding:0;margin:15px 0 12px;color:#6c8292;display:grid;gap:9px;font-size:11px}.sp-checks li:before{content:'✓';margin-right:8px;color:#79a08b}.sp-inspector details{border-top:1px solid #e7edf2;margin-top:16px;padding-top:12px}.sp-inspector summary{cursor:pointer;font-size:11px;color:#71899b}.sp-inspector details p{font-size:11px;color:#8a7767}.sp-inspector textarea{margin-top:10px;min-height:80px}.sp-inspector small{font-size:10px;line-height:18px;color:#8d9ba5}.sp-room-badge{font-size:10px;letter-spacing:1px;color:#9aa9b3}.sp-area{font-size:30px;font-weight:400;letter-spacing:-.8px;color:#234d68;margin:8px 0 22px;font-variant-numeric:tabular-nums}.sp-area small{font-size:13px;letter-spacing:0}.sp-inspector .field{font-size:11px;margin-bottom:16px}.sp-inspector input:not([type=checkbox]){height:35px;padding:7px 10px;font-size:12px}.sp-checkbox{display:flex;align-items:center;gap:8px;font-size:12px;line-height:20px;margin:10px 0 16px}.sp-checkbox input{width:15px;height:15px}.sp-footer{flex-shrink:0;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid #dae4ec;box-shadow:0 -3px 15px #30546a04}.sp-status{min-width:0;font-size:10px;color:#8297a5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-status b{font-weight:500;color:#a07c43}.sp-error{color:#ba5850}.sp-footer-actions{display:flex;gap:6px}.sp-footer-actions button{font-size:11px}.sp-start{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.sp-start>span svg{width:60px;height:60px;fill:none;stroke:#aac0cf;stroke-width:.8}.sp-start h2{font-size:19px;font-weight:500;margin:23px 0 9px}.sp-start p{max-width:320px;text-align:center;color:#94a3ad;font-size:12px}.sp-start button{pointer-events:auto;margin-top:12px}.sp-brief-summary{display:grid;gap:12px;margin:14px 0}.sp-brief-summary>div{display:flex;justify-content:space-between;font-size:11px}.sp-brief-summary b{font-weight:500}.sp-brief-summary span{color:#8195a3}.sp-check-row{padding:9px 0;font-size:12px;color:#6e8b9f}.sp-check-row+button{margin-top:14px}.left-closed .sp-body{grid-template-columns:minmax(280px,1fr) 238px}.left-closed .sp-left{display:none}.right-closed .sp-body{grid-template-columns:224px minmax(280px,1fr)}.right-closed .sp-right{display:none}.left-closed.right-closed .sp-body,.focus-mode .sp-body{grid-template-columns:1fr}.focus-mode .sp-left,.focus-mode .sp-right{display:none}.is-plan-studio:has(.focus-mode) .sidebar{display:none}.is-plan-studio:has(.focus-mode) .workspace{margin-left:0}.sp-spinner{display:inline-block;width:10px;height:10px;border:2px solid #cadde7;border-top-color:#357faf;border-radius:50%;margin-right:7px;animation:sp-spin 1s linear infinite}@keyframes sp-spin{to{transform:rotate(360deg)}}
/* Forms use actual fields, not coordinate JSON in the everyday workflow. */
.sp-program-table table{table-layout:fixed}.sp-program-table th{text-align:left;font-weight:500;color:#7d929f}.sp-program-table td:first-child,.sp-program-table th:first-child{width:25%}.sp-program-table td:nth-child(2),.sp-program-table th:nth-child(2),.sp-program-table td:nth-child(3),.sp-program-table th:nth-child(3){width:13%}.sp-program-table td input:not([type=checkbox]),.sp-program-table td select{width:100%;max-width:none}.sp-program-table input[type=checkbox]{min-width:0;width:16px!important;height:16px!important;padding:0;vertical-align:middle}.sp-program-table td:nth-child(5),.sp-program-table th:nth-child(5){width:10%}.sp-program-table td:nth-child(6),.sp-program-table th:nth-child(6){width:7%}
.sp-original-download{display:block;font-size:12px;margin-top:16px;color:#4280a6}.sp-object-list{max-height:300px;overflow:auto}.sp-object-list>label{display:grid;grid-template-columns:1fr 1fr;gap:15px;border-bottom:1px solid #e5ecf1;padding:9px 0;align-items:center;font-size:12px}.sp-object-list small{display:block;color:#91a1ad;font-size:10px;margin-top:4px}.sp-object-list select{font-size:12px}.sp-task-target{font-size:10px!important;color:#7d96a7!important;overflow-wrap:anywhere;border-top:1px solid #e7edf2;padding-top:10px;margin-top:12px}
.sp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.sp-modal-summary{font-size:12px;background:#f1f6f9;padding:12px;color:#668193;margin:12px 0 18px}.sp-layer-picks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;max-height:260px;overflow:auto}.sp-layer-picks label{display:flex;align-items:center;gap:8px;font-size:12px}.sp-layer-picks input{width:15px;height:15px}.sp-layer-picks small{color:#8da0ae;margin-left:auto}.sp-pending-list{max-height:300px;overflow:auto;border:1px solid #e4eaf0;padding:12px}.sp-pending-list>div{padding:12px;border-bottom:1px solid #e6edf2}.sp-pending-list b,.sp-pending-list small{display:block;font-size:12px}.sp-pending-list small{color:#94a2ad;margin:5px 0}.sp-example{background:#f0f5f8;padding:12px;border-radius:5px;font-size:13px;line-height:25px}.sp-program-table{overflow-x:auto}.sp-program-table table{width:100%;font-size:12px}.sp-program-table td,.sp-program-table th{padding:8px 5px}.sp-program-table input,.sp-program-table select{font-size:12px;padding:7px;min-width:55px}.sp-program-table td:first-child{min-width:140px}.sp-program-table td:nth-child(2),.sp-program-table td:nth-child(3){width:85px}.sp-program-table td:nth-child(6) input{width:15px}.sp-relation{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;margin-bottom:10px}.sp-relation select{font-size:12px}.sp-wide-dialog{width:1100px!important;max-width:94vw}.sp-compare{display:grid;grid-template-columns:1fr 1fr;gap:20px}.sp-compare svg{height:310px;background:#f7fafc;border:1px solid #e1e9ef;border-radius:6px}.sp-compare p{font-size:12px;line-height:20px}.sp-compare table{font-size:12px;width:100%}.sp-compare td{padding:7px 10px}.sp-version-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e6edf2;padding:15px 0}.sp-version-list b{font-size:14px;font-weight:500}.sp-version-list p{font-size:12px;color:#8c9eab;margin:5px 0}.sp-export-summary{padding:14px;background:#f4f8fa;border-radius:6px}.sp-export-summary b,.sp-export-summary span{display:block}.sp-export-summary span{font-size:12px;color:#899ba9;margin-top:5px}.sp-downloads{display:flex;gap:15px;flex-wrap:wrap;margin:18px 0;font-size:13px}.sp-module-link{background:#edf5fa;border:1px solid #d4e6f1;border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;margin-bottom:18px}.sp-module-link>div{display:flex;gap:12px;align-items:center}.sp-module-link svg{width:26px;height:26px;fill:none;stroke:#3c7ba2;stroke-width:1}.sp-module-link b,.sp-module-link small{display:block}.sp-module-link b{font-size:14px;font-weight:500}.sp-module-link small{font-size:12px;color:#7b94a5;margin-top:5px}.sp-review-plan{background:#fff;border:1px solid #e0e8ee;padding:20px;border-radius:8px;margin-bottom:20px}.sp-review-plan h2{font-size:16px}.sp-review-plan p{font-size:12px;color:#91a1ac}.sp-review-canvas{height:330px;max-width:700px;margin:10px auto}.sp-review-plan button{font-size:12px}
@media(min-width:1800px){.sp-body{grid-template-columns:258px minmax(400px,1fr) 280px}.left-closed .sp-body{grid-template-columns:minmax(400px,1fr) 280px}.right-closed .sp-body{grid-template-columns:258px minmax(400px,1fr)}.sp-step-content,.sp-inspector{padding:22px}.sp-support{padding:15px 22px}.plan-studio{font-size:14px}.sp-canvas-top,.sp-inspector-heading{height:50px}}
@media(max-width:1200px){.sp-body{grid-template-columns:194px minmax(240px,1fr) 206px}.is-plan-studio .sidebar{width:160px}.is-plan-studio .workspace{margin-left:160px}.sp-topbar{padding:0 10px}.sp-state{display:none}.sp-canvas-bottom>span{display:none}.sp-footer-actions{gap:3px}.sp-footer-actions button{padding:6px 7px}.sp-status{max-width:180px}}
@media(prefers-reduced-motion:reduce){.sp-spinner{animation:none}}
