@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-700-normal-Qrb0O0WB.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/poppins-latin-800-normal-Bd8-pIP1.woff2) format("woff2")}:root{color-scheme:light;font-family:Poppins,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f1e8;color:#17201d;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;margin:0}body{overflow:hidden;background:#f4f1e8}button,input,select{font:inherit;letter-spacing:0}button{cursor:pointer}.app-shell{position:relative;display:grid;grid-template-rows:74px minmax(0,1fr);width:100%;height:100%}.mobile-gate{display:none}.topbar{display:grid;grid-template-columns:auto minmax(180px,420px) minmax(360px,1fr);gap:18px;align-items:center;padding:14px 18px;border-bottom:1px solid #d8d1c2;background:#fbf8ef;z-index:5}.brand-lockup{display:flex;align-items:center;gap:14px;min-width:250px}.brand-logo{display:block;width:88px;height:40px;object-fit:contain;object-position:left center;flex:0 0 88px}.brand-lockup strong,.brand-lockup span{display:block;white-space:nowrap}.brand-lockup strong{font-size:15px}.brand-lockup div>span{color:#687069;font-size:12px}.project-name{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0}.project-name span,.field-row>span,.swatch-row>span{color:#5c645e;font-size:12px;font-weight:700;text-transform:uppercase}.project-name input,.field-row input,.field-row select,.project-select select{width:100%;min-width:0;height:38px;border:1px solid #cfc6b3;border-radius:7px;background:#fffdf7;color:#17201d;padding:0 11px;outline:none}.project-name input:focus,.field-row input:focus,.field-row select:focus,.project-select select:focus{border-color:#c99a2e;box-shadow:0 0 0 3px #c99a2e2e}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.icon-button,.side-tabs button,.segmented button,.swatch-row button,.tool-button,.danger-button{border:1px solid #cfc6b3;border-radius:7px;background:#fffdf7;color:#17201d}.icon-button{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center}.icon-button:hover,.tool-button:hover,.project-select:hover,.side-tabs button:hover,.segmented button:hover{border-color:#9a8051;background:#f4efe3}.project-select{display:grid;grid-template-columns:18px minmax(120px,220px);align-items:center;gap:7px;height:38px;min-width:0;border:1px solid #cfc6b3;border-radius:7px;background:#fffdf7;padding-left:10px}.project-select select{height:36px;border:0;background:transparent;padding-left:0}.status-pill{display:inline-flex;align-items:center;justify-content:center;gap:7px;max-width:220px;min-height:38px;border-radius:999px;border:1px solid #cfc6b3;background:#f8f4ea;color:#59615b;padding:0 12px;font-size:13px;white-space:nowrap}.status-pill span{overflow:hidden;text-overflow:ellipsis}.status-pill.online{border-color:#7ca48e;color:#214f4b;background:#edf5ed}.status-pill.offline{border-color:#c68d84;color:#8c312b;background:#fff0ed}.workspace{display:grid;grid-template-columns:minmax(280px,340px) minmax(420px,1fr) minmax(420px,1.05fr);min-height:0}.inspector-pane,.plan-pane,.scene-pane{min-width:0;min-height:0}.inspector-pane{overflow:auto;border-right:1px solid #d8d1c2;background:#fbf8ef}.plan-pane{overflow:hidden;background:#f4f1e8}.scene-pane{overflow:hidden;border-left:1px solid #cdd4cb;background:#eef1ec}.inspector{display:grid;gap:0;padding-bottom:26px}.control-section{display:grid;gap:13px;padding:18px;border-bottom:1px solid #ddd5c5}.section-title{display:flex;align-items:center;gap:8px;margin:0 0 2px;color:#17201d;font-size:14px;line-height:1.2}.field-row{display:grid;grid-template-columns:minmax(78px,.7fr) minmax(0,1.3fr);align-items:center;gap:10px;min-width:0}.number-input{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center;min-width:0}.number-input input{border-top-right-radius:0;border-bottom-right-radius:0}.number-input small{display:grid;height:38px;place-items:center;border:1px solid #cfc6b3;border-left:0;border-radius:0 7px 7px 0;background:#f0ebdf;color:#687069;font-size:11px;font-weight:700}.dual-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dual-fields .field-row{grid-template-columns:1fr;gap:5px}.metric-strip{display:grid;grid-template-columns:1fr 1fr;gap:9px}.metric-strip div{border:1px solid #d2c8b5;border-radius:8px;background:#f7f2e7;padding:10px}.metric-strip small,.opening-item small{display:block;color:#687069;font-size:11px}.metric-strip strong{display:block;margin-top:2px;font-size:17px}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px}.segmented button{height:34px;min-width:0;padding:0 8px;font-weight:700}.segmented button.active,.side-tabs button.active{border-color:#214f4b;background:#214f4b;color:#f8f3e8}.swatch-row{display:grid;grid-template-columns:78px 1fr;align-items:center;gap:10px}.swatch-row>div{display:flex;flex-wrap:wrap;gap:8px}.swatch-row button{display:grid;width:34px;height:34px;place-items:center;padding:0}.swatch-row button.active{border-color:#214f4b;box-shadow:0 0 0 2px #214f4b}.swatch-row button span{width:23px;height:23px;border:2px solid;border-radius:50%}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.tool-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;min-width:0;padding:0 10px;font-weight:700}.danger-button{width:100%;border-color:#c68d84;color:#8c312b;background:#fff8f5}.opening-list{display:grid;grid-template-columns:1fr;gap:7px;max-height:190px;overflow:auto;padding-right:2px}.opening-item{display:grid;gap:2px;width:100%;min-width:0;border:1px solid #d2c8b5;border-radius:7px;background:#fffdf7;color:#17201d;padding:9px 10px;text-align:left}.opening-item.selected{border-color:#c99a2e;background:#fff8e8}.opening-editor{display:grid;gap:11px;border-top:1px solid #ddd5c5;padding-top:13px}.plan-editor{display:grid;grid-template-rows:78px minmax(0,1fr);width:100%;height:100%}.pane-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px 10px}.pane-header h1{max-width:min(52vw,560px);margin:0;overflow:hidden;color:#17201d;font-size:22px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.pane-header span{display:block;margin-top:4px;color:#687069;font-size:13px}.side-tabs{display:grid;grid-template-columns:repeat(4,34px);gap:6px}.side-tabs button{width:34px;height:34px;font-weight:800}.floorplan{display:block;width:100%;height:100%;touch-action:none}.dimension-line line{stroke:#7a756b;stroke-width:22;stroke-dasharray:90 70}.dimension-line text{fill:#474d49;font-size:300px;font-weight:800;paint-order:stroke;stroke:#f4f1e8;stroke-width:40px;text-anchor:middle}.drag-handle{fill:#c99a2e;stroke:#fff7e8;stroke-width:70;cursor:grab}.drag-handle.active{fill:#214f4b;cursor:grabbing}.scene-wrap{width:100%;height:100%}.scene-loading{display:grid;width:100%;height:100%;place-items:center;color:#47524d;background:#eef1ec;font-weight:700}.scene-load-panel{display:grid;width:100%;height:100%;place-items:center;background:linear-gradient(90deg,rgba(33,79,75,.08) 1px,transparent 1px),linear-gradient(rgba(33,79,75,.08) 1px,transparent 1px),#eef1ec;background-size:34px 34px}.scene-load-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:184px;height:44px;border:1px solid #214f4b;border-radius:7px;background:#214f4b;color:#f8f3e8;box-shadow:0 14px 28px #214f4b2e;font-weight:800}.scene-load-button:hover{background:#183d39}.scene-error{display:grid;width:100%;height:100%;place-items:center;align-content:center;gap:8px;padding:24px;color:#8c312b;background:#fff8f5;text-align:center}.scene-error strong,.scene-error span{max-width:420px}.scene-error span{color:#6c4843;font-size:13px}.scene-wrap canvas{display:block;width:100%;height:100%}.db-banner{position:absolute;right:18px;bottom:18px;display:inline-flex;align-items:center;gap:8px;max-width:min(420px,calc(100vw - 36px));border:1px solid #c68d84;border-radius:8px;background:#fff8f5;color:#8c312b;padding:11px 13px;box-shadow:0 10px 28px #40362529;font-size:14px;z-index:10}@media(max-width:1180px){body{overflow:auto}.app-shell{height:auto;min-height:100%;grid-template-rows:auto auto}.topbar{grid-template-columns:1fr}.topbar-actions{justify-content:flex-start;flex-wrap:wrap}.workspace{grid-template-columns:minmax(300px,360px) minmax(0,1fr);grid-template-rows:minmax(520px,62vh) minmax(520px,62vh)}.inspector-pane{grid-row:1 / 3}.scene-pane{border-left:0;border-top:1px solid #cdd4cb}}@media(max-width:820px){body{overflow:hidden}.app-shell{display:block;min-height:100%;height:100%}.mobile-gate{display:grid;width:100%;min-height:100%;place-items:center;align-content:center;gap:22px;padding:28px;background:#fbf8ef;text-align:center}.mobile-gate img{display:block;width:min(210px,62vw);height:auto}.mobile-gate h1{max-width:340px;margin:0;color:#17201d;font-size:26px;line-height:1.2}.topbar,.workspace,.db-banner{display:none}}@media(max-width:520px){.mobile-gate h1{font-size:23px}}
