@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";.category-list{gap:8px;display:grid}.category-card{text-align:left;color:#25332d;background:#fff;border:1px solid #e8ebe5;border-radius:9px;align-items:center;gap:11px;width:100%;padding:11px;display:flex}.category-card:hover:not(:disabled){background:#f6f9f5;border-color:#9ab5a5}.category-card.active{background:#f0f6f0;border-color:#669784}.category-card:disabled{opacity:.5;cursor:default}.category-icon{color:#5c8970;border:1px solid #d9e0d9;border-radius:7px;flex-shrink:0;place-items:center;width:35px;height:35px;font-size:21px;display:grid}.category-copy{min-width:0}.category-copy strong{font-size:12px;display:block}.category-copy small{color:#8c978f;margin-top:3px;font-size:10px;display:block}.category-arrow{color:#8da195;margin-left:auto;font-size:18px}.catalog-dialog{color:#25332d;background:#fff;border:1px solid #dce5da;border-radius:14px;width:min(760px,100vw - 32px);max-height:min(78vh,760px);padding:0;box-shadow:0 24px 80px #18271c55}.catalog-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14231bcc}.catalog-dialog-header{border-bottom:1px solid #edf0eb;justify-content:space-between;gap:20px;padding:23px 26px 14px;display:flex}.catalog-dialog-header h2{margin:5px 0 4px;font-family:Manrope,sans-serif;font-size:23px}.catalog-dialog-header p{color:#86928a;margin:0;font-size:11px}.catalog-dialog-close{color:#425b49;background:#f1f4ef;border:0;border-radius:7px;align-self:flex-start;width:32px;height:32px;font-size:22px}.catalog-dialog-filters{grid-template-columns:minmax(0,1fr) 190px;gap:10px;padding:18px 26px 10px;display:grid}.catalog-dialog-filters .search{margin:0}.catalog-dialog-results{color:#809087;padding:0 26px 10px;font-size:11px}.catalog-dialog-products{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:9px;max-height:48vh;padding:0 26px 26px;display:grid;overflow:auto}.catalog-dialog-products .product-card{min-height:68px}.catalog-dialog-products .product-copy small{display:block}.catalog-dialog-empty{color:#7c897e;grid-column:1/-1;margin:8px 0;font-size:12px}@media (width<=620px){.catalog-dialog-filters{grid-template-columns:1fr}.catalog-dialog-products{grid-template-columns:1fr;max-height:50vh}}.catalog-dialog-filters.object-dialog-filters{grid-template-columns:1fr}.catalog-dialog-error{color:#a5473e;margin:0;padding:0 26px 10px;font-size:12px}.catalog-update{color:#315943;background:#f0f7f1;border:1px solid #8db39c;border-radius:7px;width:100%;margin:-4px 0 14px;padding:9px;font-size:11px;font-weight:700}.catalog-dialog-hint{color:#876343;margin:0;padding:0 26px 12px;font-size:12px}.catalog-dialog-products .swatch{background-position:50%;background-size:cover}.plan-dialog{color:#25332d;background:#fff;border:1px solid #dce5da;border-radius:14px;width:min(1080px,100vw - 28px);max-height:min(90vh,900px);padding:0;box-shadow:0 24px 80px #18271c55}.plan-dialog::backdrop{background:#14231bcc}.plan-header{border-bottom:1px solid #e6ebe5;justify-content:space-between;padding:20px 24px 14px;display:flex}.plan-header h2{margin:5px 0;font:700 23px Manrope,sans-serif}.plan-header p{color:#829087;margin:0;font-size:11px}.plan-header>button{background:#eef2ed;border:0;border-radius:6px;align-self:flex-start;width:32px;height:32px;font-size:22px}.plan-body{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);min-height:0;max-height:70vh;display:grid}.plan-canvas-wrap{border-right:1px solid #e6ebe5;min-width:0;padding:16px 22px 12px}.plan-tools{flex-wrap:wrap;gap:5px;margin-bottom:12px;display:flex}.plan-tools button,.plan-actions button,.plan-footer button{color:#3c5b47;background:#fff;border:1px solid #dce6da;border-radius:6px;padding:7px 10px;font-size:11px;font-weight:700}.plan-tools button.active,.plan-footer button.primary{color:#fff;background:#1e3e32;border-color:#1e3e32}.plan-scale{color:#718474;align-items:center;gap:5px;margin-left:auto;font-size:10px;display:flex}.plan-scale select{color:#3c5b47;background:#fff;border:1px solid #dce6da;border-radius:5px;padding:5px;font-size:11px}.plan-canvas{cursor:crosshair;touch-action:none;border:1px solid #dce6da;border-radius:8px;width:100%;height:min(52vh,550px);display:block}.plan-help{color:#7a897e;min-height:30px;margin:10px 0 0;font-size:11px;line-height:1.4}.plan-side{padding:16px 20px;overflow:auto}.plan-side section{border-top:1px solid #e8eee7;margin-top:16px;padding-top:14px}.plan-side h3{margin:0 0 10px;font-size:12px}.plan-height{color:#66786a;font-size:11px;display:block}.plan-height input,.plan-vertices input{color:#25332d;border:1px solid #dce6da;border-radius:5px;width:100%;height:32px;margin-top:5px;padding:0 7px;font-size:12px;display:block}.plan-actions{flex-wrap:wrap;gap:5px;margin-bottom:12px;display:flex}.plan-actions button:disabled{opacity:.4}.plan-vertices{gap:6px;max-height:220px;display:grid;overflow:auto}.plan-vertices>div{grid-template-columns:22px 1fr 1fr;align-items:center;gap:7px;display:grid}.plan-vertices>div>span{color:#6c806f;font-size:11px}.plan-vertices label{color:#748477;font-size:10px}.plan-side small{color:#87958a;font-size:10px}.plan-route{align-items:center;gap:7px;padding:6px 0;font-size:10px;display:flex}.plan-route i{border-radius:50%;flex:none;width:9px;height:9px}.plan-route span{flex:1}.plan-route button{color:#7b8b7d;background:0 0;border:0;font-size:17px}.plan-error{color:#a03d35;font-size:11px}.plan-footer{border-top:1px solid #e6ebe5;justify-content:flex-end;gap:8px;padding:14px 24px;display:flex}@media (width<=720px){.plan-body{display:block;overflow:auto}.plan-canvas-wrap{border-right:0}.plan-canvas{height:40vh}.plan-side{max-height:35vh}}.plan-cad{border-top:0!important;margin-top:0!important;padding-top:0!important}.plan-file{color:#28533b;cursor:pointer;background:#edf5ee;border:1px solid #bdd3c1;border-radius:6px;margin:0 0 8px;padding:9px 12px;font-size:11px;font-weight:700;display:block}.plan-file input{opacity:0;width:1px;height:1px;position:absolute}.plan-cad>small{line-height:1.4;display:block}.plan-cad-preview{background:#f8faf7;border:1px solid #dce6da;border-radius:7px;gap:9px;margin-top:12px;padding:12px;display:grid}.plan-cad-preview label{color:#66786a;gap:4px;font-size:10px;display:grid}.plan-cad-preview select{color:#25332d;background:#fff;border:1px solid #dce6da;border-radius:5px;width:100%;padding:7px;font-size:11px}.plan-cad-preview button{color:#fff;background:#1e3e32;border:0;border-radius:5px;padding:8px;font-size:11px;font-weight:700}.plan-import-notice{color:#285d41;margin:10px 0;font-size:11px;line-height:1.4}.plan-cad-preview button.plan-trace{color:#28533b;background:#e8f2ea;border:1px solid #9fbda7}.plan-cad-preview button:disabled{opacity:.45;cursor:not-allowed}.plan-house>small{margin-bottom:10px;line-height:1.45;display:block}.plan-house-list{gap:5px;max-height:240px;display:grid;overflow:auto}.plan-house-row{border:1px solid #e3ebe2;border-radius:6px;grid-template-columns:45px minmax(0,1fr) 58px;align-items:center;gap:6px;padding:5px;display:grid}.plan-house-row label{color:#386045;align-items:center;gap:3px;font-size:11px;font-weight:700;display:flex}.plan-house-row label input{accent-color:#287a50}.plan-house-row>input{color:#25332d;border:1px solid #dce6da;border-radius:4px;width:100%;min-width:0;padding:5px;font-size:11px}.plan-house-row button,.plan-save-room,.plan-add-room{color:#2c5b3e;background:#f4f8f3;border:1px solid #bbd1bf;border-radius:5px;padding:6px;font-size:10px;font-weight:700}.plan-save-room,.plan-add-room{width:100%;margin-top:8px;display:block}.plan-save-room{color:#fff;background:#2e6746}.plan-footer button.primary+button.primary{color:#1e3e32;background:#fff}.plan-house-row{grid-template-columns:85px minmax(0,1fr) 58px}.plan-unit-warning{font-weight:700;color:#9b612a!important}.project-open-dialog{color:#25332d;background:#fff;border:1px solid #dce5da;border-radius:12px;width:min(560px,100vw - 28px);max-height:80vh;padding:0;box-shadow:0 24px 80px #18271c55}.project-open-dialog::backdrop{background:#14231bcc}.project-open-header{border-bottom:1px solid #e6ebe5;justify-content:space-between;align-items:flex-start;padding:22px 24px 16px;display:flex}.project-open-header h2{margin:5px 0 0;font:700 22px Manrope,sans-serif}.project-open-header>button{background:#eef2ed;border:0;border-radius:6px;width:32px;height:32px;font-size:22px}.project-open-list{gap:8px;max-height:55vh;padding:16px 24px;display:grid;overflow:auto}.project-open-row{border:1px solid #e4ebe3;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:13px;display:flex}.project-open-row strong{font-size:13px;display:block}.project-open-row small{color:#829087;margin-top:5px;font-size:10px;display:block}.project-open-row button{color:#fff;background:#1e3e32;border:0;border-radius:6px;padding:8px 13px;font-size:11px;font-weight:700}.project-open-footer{border-top:1px solid #e6ebe5;justify-content:flex-end;padding:13px 24px;display:flex}.project-open-footer button{color:#3c5b47;background:#fff;border:1px solid #dce6da;border-radius:6px;padding:7px 10px;font-size:11px;font-weight:700}.project-new-dialog{color:#25332d;background:#fff;border:1px solid #dce5da;border-radius:12px;width:min(460px,100vw - 28px);padding:0;box-shadow:0 24px 80px #18271c55}.project-new-dialog::backdrop{background:#14231bcc}.project-new-body{gap:8px;padding:22px 24px;display:grid}.project-new-body label{color:#607568;font-size:11px;font-weight:700}.project-new-body input{color:#25332d;border:1px solid #cbdccc;border-radius:6px;width:100%;height:42px;padding:0 12px;font-size:14px;font-weight:700}.project-new-body input:focus{outline-offset:1px;outline:2px solid #88b799}.project-new-body small{color:#87958a;font-size:10px}.project-open-footer button.project-new-create{color:#fff;background:#1e3e32;border-color:#1e3e32}.project-open-footer button.project-new-create:disabled{opacity:.45;cursor:not-allowed}:root{color:#222a28;font-synthesis:none;background:#f5f4f0;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}.app{flex-direction:column;height:100vh;min-height:680px;display:flex}.topbar{background:#fff;border-bottom:1px solid #e5e7e2;flex-shrink:0;align-items:center;gap:36px;height:76px;padding:0 24px;display:flex}.brand{flex-shrink:0;align-items:center;gap:11px;width:252px;display:flex}.brand-mark{color:#d8e8c9;background:#182d29;border-radius:9px;place-items:center;width:35px;height:35px;font-family:Manrope,sans-serif;font-size:21px;font-weight:800;display:grid}.brand strong{letter-spacing:.14em;font-family:Manrope,sans-serif;font-size:13px;font-weight:800;display:block}.brand small{letter-spacing:.19em;color:#8b9790;font-size:9px;font-weight:700}.project-name{align-items:center;gap:9px;min-width:0;display:flex}.eyebrow,.section-title{letter-spacing:.14em;color:#849088;font-size:10px;font-weight:800}.project-name input{color:#1d2925;background:0 0;border:0;outline:none;width:170px;min-width:90px;font-size:14px;font-weight:700}.project-name small{color:#87928b;white-space:nowrap;font-size:11px}.save-dot{background:#e9ad65;border-radius:50%;width:6px;height:6px}.save-dot.saved{background:#5aa878}.top-actions{align-items:center;gap:7px;margin-left:auto;display:flex}.top-actions button,.view-controls button{color:#39443f;background:#fff;border:1px solid #e6e9e4;border-radius:7px;padding:9px 12px;font-size:12px;font-weight:700}.top-actions button:hover,.view-controls button:hover{background:#f1f5f0}.top-actions button:disabled{opacity:.35;cursor:default}.top-actions .primary{color:#fff;background:#183b31;border-color:#183b31}.separator{border-left:1px solid #e5e8e3;height:20px;margin:0 3px}.workspace{flex:1;grid-template-columns:280px minmax(380px,1fr) 305px;min-height:0;display:grid}.sidebar{background:#fff;padding:26px 20px 30px;overflow:auto}.sidebar.left{border-right:1px solid #e5e7e2}.sidebar.right{border-left:1px solid #e5e7e2}.section-title{border-bottom:1px solid #e9ebe7;justify-content:space-between;padding-bottom:13px;display:flex}.sidebar h2{letter-spacing:-.04em;margin:20px 0 5px;font-family:Manrope,sans-serif;font-size:21px}.muted{color:#909993;margin:0 0 17px;font-size:12px;line-height:1.5}.template-list{gap:8px;display:grid}.template-card{text-align:left;color:#25332d;background:#fff;border:1px solid #e8ebe5;border-radius:9px;align-items:center;gap:11px;width:100%;padding:11px;display:flex}.template-card.active{background:#f0f6f0;border-color:#669784;box-shadow:inset 3px 0 #5b937a}.template-card:hover,.product-card:hover{border-color:#9ab5a5}.room-icon{color:#6b927c;border:1px solid #d9e0d9;border-radius:6px;place-items:center;width:33px;height:33px;font-size:18px;display:grid}.template-card strong,.product-card strong{font-size:12px;font-weight:700;display:block}.template-card small,.product-card small{color:#8c978f;margin-top:4px;font-size:10px;display:block}.arrow{color:#8da195;margin-left:auto}.catalog-title{margin:31px 0 14px}.search,.filter{color:#34443b;background:#fff;border:1px solid #e2e7e0;border-radius:7px;outline:none;width:100%;height:36px;padding:0 11px;font-size:11px}.search{margin-bottom:7px}.search:focus,.filter:focus{border-color:#6b9a83}.product-list{gap:7px;margin-top:13px;display:grid}.product-card{text-align:left;color:#24342b;background:#fff;border:1px solid #e9ebe7;border-radius:8px;align-items:center;gap:10px;width:100%;padding:7px;display:flex}.product-card.active{background:#f1f6f0;border-color:#6a9a80}.product-card:disabled{opacity:.55;cursor:default}.swatch{border-radius:5px;flex-shrink:0;width:43px;height:43px;box-shadow:inset 0 0 0 1px #0000000d}.product-copy{min-width:0}.product-copy small{line-height:1.3}.product-check{color:#60916d;margin-left:auto;font-size:16px}.viewport-wrap{background:#e9e8e4;min-width:0;position:relative;overflow:hidden}.viewport{position:absolute;inset:0}.viewer-label{letter-spacing:.1em;color:#456853;background:#fffffff0;border-radius:7px;padding:10px 13px;font-size:10px;font-weight:800;position:absolute;top:21px;left:24px;box-shadow:0 3px 18px #1d2b2220}.pulse{background:#76af77;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.viewer-dim{color:#94a197;letter-spacing:0}.view-controls{white-space:nowrap;background:#ffffffeb;border-radius:9px;gap:4px;padding:5px;display:flex;position:absolute;bottom:48px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #23312624}.view-controls button{background:0 0;border-color:#0000;padding:9px 10px}.view-controls button.active{color:#fff;background:#1e3e32}.viewport-help{text-align:center;color:#7c8980;font-size:10px;position:absolute;bottom:17px;left:0;right:0}.property-block{border-top:1px solid #e7eae4;margin-top:20px;padding-top:18px}.property-block h3{margin:0 0 15px;font-family:Manrope,sans-serif;font-size:12px}.dimension-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.dimension-grid label>span{color:#7f8b81;font-size:10px}.dimension-grid label div{margin-top:6px;position:relative}.dimension-grid input{color:#2e3b32;border:1px solid #dfe5dd;border-radius:6px;width:100%;height:34px;padding:0 18px 0 7px;font-size:12px;font-weight:700}.dimension-grid em{color:#9ba79d;font-size:10px;font-style:normal;position:absolute;top:9px;right:7px}.metric-row{color:#7c897e;justify-content:space-between;align-items:center;gap:8px;padding:7px 0;font-size:11px;display:flex}.metric-row strong{color:#2b392f;text-align:right}.field{color:#778479;margin:11px 0;font-size:11px;font-weight:600;display:block}.field select{color:#304034;background:#fff;border:1px solid #dfe5dd;border-radius:6px;width:100%;height:34px;margin-top:6px;padding:0 9px;font-size:11px;display:block}.field>span{float:right;color:#2b3d31;font-weight:700}.field input[type=range]{accent-color:#4a8567;width:100%;margin:10px 0 0}.color-field{justify-content:space-between;align-items:center;display:flex}.color-field input{background:#fff;border:1px solid #e0e5de;border-radius:5px;width:42px;height:28px}.quantity-line{border:1px solid #e7ebe5;border-radius:7px;gap:4px;margin:8px 0;padding:10px;display:grid}.quantity-line strong{font-size:11px}.quantity-line span{color:#728075;font-size:10px}.disclaimer{color:#9aa49a;margin-top:13px;font-size:10px;line-height:1.4;display:block}.toast{color:#fff;background:#19382c;border-radius:7px;padding:12px 18px;font-size:12px;animation:3s forwards toast;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #0003}@keyframes toast{0%,75%{opacity:1}to{opacity:0}}@media (width<=1100px){.workspace{grid-template-columns:230px minmax(360px,1fr) 270px}.brand{width:210px}.topbar{gap:18px}.project-name small{display:none}}@media (width<=850px){.app{height:auto;min-height:100vh}.topbar{flex-wrap:wrap;height:auto;padding:12px}.workspace{flex-wrap:wrap;display:flex}.sidebar.left{order:2;width:45%}.sidebar.right{order:3;width:55%}.viewport-wrap{order:1;width:100%;height:520px}.brand{width:auto}.project-name{margin-left:auto}.top-actions{justify-content:flex-end;width:100%}}.opening-actions{gap:7px;display:flex}.opening-actions button{color:#315b42;background:#f2f6f1;border:1px solid #cbded0;border-radius:6px;flex:1;padding:8px;font-size:11px;font-weight:700}.opening-card{border:1px solid #e2e9e1;border-radius:7px;margin-top:9px;padding:9px}.opening-heading{justify-content:space-between;align-items:center;font-size:11px;display:flex}.opening-heading button{color:#7b8980;background:0 0;border:0;font-size:19px}.opening-fields{grid-template-columns:1fr 1fr;gap:7px;margin-top:7px;display:grid}.opening-fields label{color:#7b877e;font-size:10px}.opening-fields input{color:#2a3a2e;border:1px solid #dfe6dd;border-radius:5px;width:100%;height:30px;margin-top:4px;padding:0 6px;font-size:11px;display:block}.view-controls{white-space:normal;flex-wrap:wrap;justify-content:center;max-width:calc(100% - 24px)}.view-controls button{white-space:nowrap}.brand{gap:8px}.brand-logo{object-fit:contain;flex-shrink:0;width:50px;height:60px;display:block}.brand strong{letter-spacing:.12em;font-size:14px}.brand small{letter-spacing:.12em}.object-list{gap:7px;display:grid}.object-card{text-align:left;color:#293a30;background:#fff;border:1px solid #e5ebe5;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px;display:flex}.object-card:hover{background:#f7faf6;border-color:#8fb09b}.object-card strong{font-size:12px;display:block}.object-card small{color:#8b988d;margin-top:3px;font-size:10px;display:block}.object-swatch{border-radius:6px;flex:none;width:36px;height:36px;box-shadow:inset 0 0 0 1px #00000012}.object-add{color:#5c916e;margin-left:auto;font-size:18px}.object-properties-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.object-properties-heading h3{margin:0}.object-heading-actions{gap:5px;display:flex}.object-properties-heading button{color:#46634e;background:#f5f8f4;border:1px solid #d9e4da;border-radius:6px;padding:5px 8px;font-size:10px}.object-tools{gap:6px;margin:10px 0;display:flex}.object-tools button{color:#46634e;background:#fff;border:1px solid #d9e4da;border-radius:6px;flex:1;padding:7px;font-size:11px}.object-tools button.active{color:#fff;background:#1e3e32;border-color:#1e3e32}.object-fields{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px;display:grid}.object-fields label{color:#7b877e;font-size:10px}.object-fields input{color:#2a3a2e;border:1px solid #dfe6dd;border-radius:5px;width:100%;height:32px;margin-top:5px;padding:0 5px;font-size:11px;display:block}.object-hint{color:#8c998e;margin-top:11px;font-size:10px;line-height:1.4;display:block}.catalog-dialog-products .object-card{min-height:96px}.object-photo{object-fit:cover;background:#edf0eb;border-radius:6px;flex:none;width:96px;height:76px}.object-detail-photo{object-fit:cover;background:#edf0eb;border-radius:8px;width:100%;height:150px;margin:10px 0 12px;display:block}.object-card>span:nth-child(2){min-width:0}.utility-legend{color:#39443f;pointer-events:none;background:#fffffff0;border-radius:7px;flex-wrap:wrap;gap:10px;max-width:calc(100% - 48px);padding:8px 11px;font-size:11px;font-weight:700;display:flex;position:absolute;top:70px;left:24px;box-shadow:0 3px 18px #1d2b2220}.utility-legend span{align-items:center;gap:5px;display:inline-flex}.utility-legend i{border-radius:50%;width:9px;height:9px;display:inline-block}.utility-legend .water{background:#2386c4}.utility-legend .electric{background:#db9b21}.utility-legend .drain{background:#9a6ac0}@media (width<=1100px){.view-controls{max-width:calc(100% - 16px);overflow-x:auto}}
