:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}:root{--accent:#6200ee;--accent-border:#8a2be2}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;box-sizing:border-box;border-inline:none;flex-direction:column;width:100vw;max-width:100%;height:100vh;min-height:100vh;margin:0;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.login-container{box-sizing:border-box;background-color:#f5f5f5;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-window{background:#fff;border-radius:12px;width:min(860px,100%);min-height:430px;display:flex;overflow:hidden;box-shadow:0 4px 6px #0000001a}.login-image-panel{background-color:#ebe8ef;flex:50%;min-width:0}.login-image-panel img{object-fit:cover;width:100%;height:100%;display:block}.login-form{box-sizing:border-box;text-align:left;flex:50%;align-self:center;padding:3rem}.login-form h2{text-align:center;color:#333;margin-bottom:1.5rem}.input-group{margin-bottom:1rem}.input-group label{color:#555;margin-bottom:.5rem;font-weight:700;display:block}.input-group input{box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:.5rem}.error-message{color:#d32f2f;text-align:center;margin-bottom:1rem}.login-button{color:#fff;cursor:pointer;background-color:#6200ee;border:none;border-radius:4px;width:100%;padding:.75rem;font-size:1rem;transition:background-color .3s}.login-button:hover{background-color:#3700b3}@media (width<=640px){.login-container{padding:1rem}.login-window{flex-direction:column;min-height:auto}.login-image-panel{flex-basis:auto;height:220px}.login-form{width:100%;padding:2rem}}.design-edit-toolbar{background:#f8fafc;border-bottom:1px solid #d4dce3;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 12px;font-size:12px;display:flex}.design-edit-toolbar button,.design-edit-toolbar select,.design-edit-toolbar input{font:inherit;color:#263c50;background:#fff;border:1px solid #bdcbd7;border-radius:4px;padding:4px 7px}.design-edit-toolbar button:disabled,.design-edit-toolbar select:disabled{opacity:.45}.design-edit-toolbar details{position:relative}.design-edit-toolbar summary{cursor:pointer;padding:4px}.design-edit-options{z-index:20;background:#fff;border:1px solid #bdcbd7;border-radius:6px;flex-wrap:wrap;gap:8px;width:310px;padding:12px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 4px 18px #0003}.design-edit-options label{align-items:center;gap:6px;display:flex}.design-edit-options input{width:65px}.design-edit-options select,.design-edit-options small{width:100%}.design-edit-toolbar .room-layout-authoring{flex-basis:100%}.design-edit-group{border-right:1px solid #d4dce3;align-items:center;gap:4px;padding-right:7px;display:flex}.design-edit-group-label{color:#647486;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.design-edit-selection-count{color:#52687a;white-space:nowrap;font-size:11px;font-weight:600}.room-layout-authoring{background:#fff;border:1px solid #bdcbd7;border-radius:6px;grid-template-columns:auto minmax(150px,1fr) auto;align-items:center;gap:6px 10px;width:min(720px,100%);padding:7px 9px;display:grid}.room-layout-authoring label{align-items:center;gap:6px;display:flex}.room-layout-authoring-heading{gap:1px;display:grid}.room-layout-authoring-heading span{color:#7a4e00;text-transform:uppercase;font-size:10px;font-weight:700}.room-layout-authoring label input{width:min(220px,22vw)}.room-layout-authoring-counts{color:#52687a;white-space:nowrap}.room-layout-authoring-note{color:#647486;grid-column:1/3;margin:0;font-size:10px;line-height:1.35}.room-layout-authoring-preview{color:#52687a;flex-direction:column;grid-row:span 2;align-items:center;width:90px;display:flex}.room-layout-authoring-preview svg{width:86px;height:64px}.room-layout-authoring-actions{flex-wrap:wrap;grid-column:1/3;gap:5px;display:flex}@media (width<=900px){.room-layout-authoring{grid-template-columns:1fr auto}.room-layout-authoring-actions{grid-column:1/-1}.room-layout-authoring-counts{white-space:normal}}.design-floor-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.design-floor-selector{color:#52687a;align-items:center;gap:5px;font-weight:600;display:flex}.design-floor-context{border-left:1px solid #d4dce3;min-width:120px;padding:0 8px;line-height:1.2;display:grid}.design-floor-context strong{color:#263c50;font-size:12px}.design-floor-context small{color:#647486;font-size:10px}.design-floor-controls select,.design-floor-controls button,.design-floor-editor input{font:inherit;color:#26343d;background:#fff;border:1px solid #c5cbd0;border-radius:4px;padding:5px 8px}.design-floor-controls summary{cursor:pointer;padding:5px}.design-floor-controls details{position:relative}.design-floor-editor{z-index:20;background:#fff;border:1px solid #c5cbd0;border-radius:5px;gap:8px;width:230px;padding:12px;display:grid;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #0002}.design-floor-editor label{gap:4px;display:grid}.design-floor-editor input{box-sizing:border-box;width:100%;min-width:0}.design-floor-editor small{color:#56636c}.design-floor-editor button:disabled{opacity:.5}.design-floor-toolbar{flex-wrap:wrap;align-items:center;max-width:calc(100% - 24px);font-size:12px}.design-vertical-controls{position:relative}.design-vertical-controls summary{cursor:pointer;padding:5px}.design-vertical-controls form{z-index:20;background:#fff;border:1px solid #c5cbd0;border-radius:5px;gap:8px;width:230px;padding:12px;display:grid;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #0002}.design-vertical-controls label{gap:4px;display:grid}.design-vertical-controls input,.design-vertical-controls button{box-sizing:border-box;width:100%;min-width:0;font:inherit;color:#26343d;background:#fff;border:1px solid #c5cbd0;border-radius:4px;padding:5px 8px}.design-vertical-controls p{color:#a32626;margin:0}.ribbon-button{color:#27313d;min-width:68px;height:47px;font:inherit;cursor:pointer;box-sizing:border-box;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 8px;display:inline-flex}.ribbon-button:hover:not(:disabled){background:#e8f0f8;border-color:#b9c8d8}.ribbon-button:active:not(:disabled){background:#d8e6f3;border-color:#8fa8c0}.ribbon-button:focus-visible{outline-offset:1px;outline:2px solid #2563a6}.ribbon-button:disabled{color:#8a929b;cursor:not-allowed;opacity:.65}.ribbon-button-icon{flex:none}.ribbon-button-label{white-space:nowrap;font-size:11px;line-height:1.15}.ribbon-bar{box-sizing:border-box;color:#27313d;background:#f2f4f6;border-bottom:1px solid #bcc5ce;flex:none;align-items:center;gap:12px;min-width:0;padding:3px 8px 2px;display:flex;overflow:auto hidden}.ribbon-command-group{border-right:1px solid #c8ced5;flex-direction:column;flex:none;align-items:stretch;padding-right:8px;display:flex}.ribbon-command-row{align-items:center;gap:1px;display:flex}.ribbon-group-caption{color:#5d6874;text-align:center;height:13px;font-size:10px;line-height:13px}.ribbon-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ribbon-feedback{white-space:nowrap;text-overflow:ellipsis;border-radius:3px;flex:none;max-width:min(420px,45vw);padding:5px 9px;font-size:12px;line-height:1.3;overflow:hidden}.ribbon-feedback-success{color:#235c31;background:#e5f3e8}.ribbon-feedback-info{color:#244f7a;background:#e4eef9}.ribbon-feedback-error{color:#8a2929;background:#f9e5e5}.global-header{background-color:var(--bg);color:var(--text-h);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;box-shadow:0 2px 4px #0000001a}.header-left h1{margin:0;font-size:1.5rem}.account-area{align-items:center;gap:.75rem;display:flex}.account-label{font-weight:500}.logout-button{background-color:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:500;transition:background-color .3s}.logout-button:hover{background-color:#8a2be2}.stage-navigation{background-color:var(--bg);border-bottom:1px solid var(--border);padding:1rem;display:flex}.tab-button{color:var(--text);border:1px solid var(--border);cursor:pointer;background-color:#0000;border-radius:4px;flex:1;margin-right:.5rem;padding:.75rem 1.5rem;font-weight:500;transition:all .3s}.tab-button:not(.active){color:#3f3748;background-color:#f1eef4;border-color:#c8c1cf;box-shadow:0 1px 3px #1e142824}.tab-button:not(.active):hover{border-color:var(--accent-border);background-color:#e8e2ed;box-shadow:0 2px 5px #1e14282e}.tab-button.active{background-color:var(--accent);color:#fff;border-color:var(--accent)}.tool-panel{background-color:var(--bg);box-sizing:border-box;min-width:0;height:100%;padding:1rem;overflow:hidden auto}.tool-panel h3{color:var(--text-h);margin-top:0;margin-bottom:1rem;font-size:1.2rem;font-weight:500}.tool-grid{grid-template-columns:minmax(0,1fr);gap:6px;min-width:0;display:grid}.tool-panel-design{padding:.75rem}.tool-grid-design{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-panel-design .tool-button{min-height:68px;padding-inline:6px}.tool-tooltip{z-index:1000;color:#202124;box-sizing:border-box;pointer-events:none;background-color:#fffffffa;border:1px solid #00000029;border-radius:6px;width:270px;max-width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:12px;position:fixed;overflow-y:auto;box-shadow:0 6px 18px #0000002e}.tool-tooltip__title{margin-bottom:5px;font-size:13px;font-weight:600;line-height:1.3}.tool-tooltip__description{color:#454a50;font-size:12px;line-height:1.45}.tool-tooltip__footer{color:#687078;border-top:1px solid #0000001a;margin-top:10px;padding-top:8px;font-size:11px;line-height:1.35}.tool-button{width:100%;min-height:72px;color:var(--text);border:1px solid var(--border);box-sizing:border-box;font:inherit;cursor:pointer;background-color:#fff;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px 10px;transition:background-color .12s,border-color .12s,box-shadow .12s,transform 80ms;display:flex}.tool-button:hover:not(:disabled){background-color:#f5f8fb;border-color:#9eabb8}.tool-button:focus-visible{outline-offset:2px;outline:2px solid #0d6efd}.tool-button:active:not(:disabled){background-color:#e8eef5;transform:translateY(1px)}.tool-button.active{color:#0b4f9c;background-color:#eaf3ff;border-color:#4a90e2;box-shadow:inset 3px 0 #0d6efd}.tool-button:disabled{color:#8a9097;cursor:not-allowed;opacity:.7;background-color:#f3f4f5}.tool-button__icon{flex:none;width:28px;height:28px}.tool-button__label{text-align:center;white-space:normal;overflow-wrap:anywhere;width:100%;font-size:11px;font-weight:500;line-height:1.2}.canvas-area{background-color:var(--bg);box-sizing:border-box;flex:auto;justify-content:center;align-items:center;min-width:360px;padding:1rem;display:flex;position:relative;overflow:hidden}.canvas-area:before{content:"";pointer-events:none;background-image:linear-gradient(#8080801a 1px,#0000 1px),linear-gradient(90deg,#8080801a 1px,#0000 1px);background-size:20px 20px;position:absolute;inset:0}.canvas-toolbar{z-index:10;background-color:#fffffff0;border:1px solid #0000001f;border-radius:7px;gap:8px;padding:4px;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 2px 8px #0000001f}.canvas-toolbar-button{color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;background-color:#0000;border:1px solid #0000;border-radius:4px;padding:4px 8px;font-size:12px;line-height:1.4}.canvas-toolbar-button:hover{background-color:#0d6efd14;border-color:#0d6efd33}.canvas-toolbar-button:focus-visible{outline-offset:1px;outline:2px solid #0d6efd}.canvas-toolbar-button:disabled{color:color-mix(in srgb, var(--text) 45%, transparent);cursor:default}.design-view-toggle{border:1px solid var(--border);border-radius:5px;gap:2px;display:flex}.design-view-toggle [aria-pressed=true]{background-color:#0d6efd1f;border-color:#0d6efd40;font-weight:600}.design-3d-floor-mode{color:#52687a;white-space:nowrap;align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}.design-3d-floor-mode select{border:1px solid var(--border);color:var(--text);font:inherit;background:#fff;border-radius:4px;padding:3px 5px}.canvas-zoom-controls{border-left:1px solid var(--border);align-items:center;gap:2px;padding-left:5px;display:flex}.canvas-zoom-button{min-width:25px;padding-inline:5px;font-size:15px;line-height:1.1}.canvas-zoom-percent{min-width:38px;color:var(--text);font-variant-numeric:tabular-nums;text-align:center;font-size:11px}.canvas-placeholder{text-align:center;z-index:1;box-sizing:border-box;background-color:#fff;border-radius:8px;max-width:60%;padding:1.5rem;position:relative;overflow:hidden;box-shadow:0 2px 4px #0000001a}.canvas-placeholder-site{width:min(86%,960px);max-width:calc(100% - 1rem);height:min(78%,720px);min-height:240px;max-height:calc(100% - 5rem);padding:1rem}.canvas-placeholder-manual-draft{text-align:left;width:min(92%,1120px);height:min(84%,780px);padding:.75rem;display:flex}.canvas-placeholder-drawing-surface{width:100%;max-width:100%;height:100%;min-height:0;max-height:100%;box-shadow:none;overscroll-behavior:contain;background-color:#0000;border:0;border-radius:0;padding:0}.canvas-placeholder-drawing-surface:focus{outline:none}.canvas-drawing-surface-pan-ready,.canvas-drawing-surface-pan-ready svg,.canvas-drawing-surface-pan-ready svg *{cursor:grab!important}.canvas-drawing-surface-panning,.canvas-drawing-surface-panning svg,.canvas-drawing-surface-panning svg *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.canvas-placeholder h3{color:var(--text-h);margin-top:0}.canvas-placeholder p{color:var(--text);line-height:1.5}.canvas-edit-view-notice{color:#647486;text-align:center;place-items:center;width:100%;height:100%;min-height:240px;display:grid}.planning-target-canvas-legend{background:color-mix(in srgb, var(--bg) 76%, transparent);color:var(--text-h);pointer-events:none;border-radius:3px;padding:4px 7px;font-size:11px;position:absolute;bottom:12px;right:12px}.modular-grid-canvas-legend{background:color-mix(in srgb, var(--bg) 76%, transparent);color:var(--text-h);pointer-events:none;border-radius:3px;padding:4px 7px;font-size:11px}.manual-draft-canvas{background:0 0;border:0;border-radius:0;width:100%;height:100%;min-height:240px;position:relative;overflow:hidden}.manual-draft-svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;min-height:240px;display:block}.manual-draft-svg-active{cursor:crosshair}.manual-draft-confirmed-boundary,.manual-draft-polygon,.manual-draft-polyline,.manual-draft-hover-segment{vector-effect:non-scaling-stroke}.manual-draft-confirmed-boundary{fill:#5b697814;stroke:#8794a2;stroke-width:1.5px;stroke-dasharray:4 4}.manual-draft-polygon{fill:#0d6efd1a;stroke:#0d6efd;stroke-width:2px;stroke-linejoin:round}.manual-draft-polyline{fill:none;stroke:#0d6efd;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.manual-draft-hover-segment{stroke:#3f7fc4;stroke-width:1.5px;stroke-dasharray:5 4;pointer-events:none}.manual-draft-live-measurement{fill:#163f68;letter-spacing:.015em;paint-order:stroke fill;pointer-events:none;stroke:#fffffff5;stroke-linejoin:round;stroke-width:3px;text-anchor:middle;vector-effect:non-scaling-stroke;font-family:Cascadia Mono,Segoe UI Mono,monospace;font-weight:700}.manual-draft-live-measurement-closing{fill:#9b4b08}.manual-draft-vertex{fill:#fff;stroke:#0b5ed7;stroke-width:.2px;vector-effect:non-scaling-stroke;pointer-events:none}.manual-draft-closing-target{fill:#0d6efd33;stroke-width:.3px}.manual-draft-length{fill:#283b50;paint-order:stroke;pointer-events:none;stroke:#fff;stroke-width:.12em;text-anchor:middle;font-weight:600}.manual-draft-canvas-hint{color:#526273;pointer-events:none;background:#ffffffe6;border-radius:4px;margin:0;padding:5px 7px;font-size:11px;line-height:1.3;position:absolute;bottom:8px;left:10px}.planning-buildable-envelope-overlay,.planning-buildable-envelope-overlay *,.planning-buildable-envelope-note{pointer-events:none}.planning-buildable-envelope-fill{fill:var(--accent-bg);stroke:none}.planning-buildable-envelope-outline{fill:none;stroke:var(--accent-border);stroke-width:1.25px;stroke-linejoin:round}.planning-buildable-envelope-note{fill:var(--text-h);stroke:var(--bg);stroke-width:.12em;stroke-linejoin:round;paint-order:stroke fill;font-family:inherit;font-weight:600}.planning-control-setback-overlay,.planning-control-setback-overlay *{pointer-events:none}.planning-control-setback-line{stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:7 5;stroke-linecap:round;opacity:.9}.planning-control-setback-label{fill:var(--text-h);stroke:var(--bg);stroke-width:.14em;stroke-linejoin:round;paint-order:stroke fill;font-family:inherit;font-weight:500}.site-boundary-preview{width:100%;min-width:0;height:100%;min-height:0;display:block}.site-boundary-fill{fill:#4689be2e;stroke:none}.site-boundary-outline{fill:none;stroke:#2f6f9f;stroke-width:2px;stroke-linejoin:round}.planning-target-envelope-overlay,.planning-target-envelope-overlay *{pointer-events:none}.planning-target-envelope-fill{fill:#35a66f38;stroke:none}.planning-target-envelope-outline{fill:none;stroke:#197246;stroke-width:1.6px;stroke-dasharray:5 3;stroke-linejoin:round}.planning-target-envelope-matching .planning-target-envelope-outline{stroke-width:1px;stroke-dasharray:3 4;opacity:.8}.modular-grid-overlay,.modular-grid-overlay *{pointer-events:none}.modular-grid-line{stroke:#345c78;stroke-width:.7px;opacity:.7}.modular-grid-line-major{stroke:#1f4967;stroke-width:1.1px;opacity:.95}.modular-grid-footprint-fill{fill:#d58a244d}.modular-grid-footprint-outline{fill:none;stroke:#9b5d0d;stroke-width:2px;stroke-linejoin:round}.modular-grid-dimension-label{fill:#69410d;stroke:var(--bg);stroke-width:.1em;paint-order:stroke fill;dominant-baseline:central;font-family:inherit;font-weight:700}.boundary-edit-canvas{background:0 0;border:0;border-radius:0;width:100%;height:100%;min-height:240px;overflow:hidden}.boundary-edit-canvas-unavailable{color:#647486;background:0 0;place-items:center;width:100%;height:100%;min-height:240px;display:grid}.boundary-edit-svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;min-height:240px;display:block}.boundary-edit-svg-dragging{cursor:grabbing}.boundary-edit-background{fill:#0000}.boundary-edit-polygon,.boundary-edit-edge{vector-effect:non-scaling-stroke}.boundary-edit-polygon{fill:#0d6efd1a;stroke:#6283a8;stroke-width:1.25px;stroke-linejoin:round;pointer-events:none}.boundary-edit-edge{stroke:#0d6efd;stroke-width:2px;stroke-linecap:round;pointer-events:none}.boundary-edit-edge-selected{stroke:#d66a00;stroke-width:3px}.boundary-edit-dimension,.boundary-edit-preview-metrics,.boundary-edit-invalid-message{paint-order:stroke fill;pointer-events:none;stroke:#fffffff5;stroke-linejoin:round;stroke-width:3px;vector-effect:non-scaling-stroke;font-family:Cascadia Mono,Segoe UI Mono,monospace;font-weight:700}.boundary-edit-dimension{fill:#283b50;text-anchor:middle}.boundary-edit-preview-metrics{fill:#244d78}.boundary-edit-preview-metrics text{vector-effect:non-scaling-stroke}.boundary-edit-invalid-message{fill:#9b2f2f}.boundary-edit-vertex-grip,.boundary-edit-edge-grip{pointer-events:none;vector-effect:non-scaling-stroke}.boundary-edit-vertex-grip{fill:#fff;stroke:#0b5ed7;stroke-width:2px}.boundary-edit-vertex-grip-selected{fill:#ffddb7;stroke:#d66a00;stroke-width:3px}.boundary-edit-edge-grip{fill:#dceaff;stroke:#0b5ed7;stroke-width:2px}.boundary-edit-edge-grip-selected{fill:#ffbd75;stroke:#d66a00;stroke-width:3px}.boundary-edit-vertex-hit-area,.boundary-edit-edge-hit-area{fill:#0000;stroke:#0000}.boundary-edit-vertex-hit-area{cursor:move}.boundary-edit-edge-hit-area{cursor:grab}.boundary-edit-edge-hit-area:active{cursor:grabbing}.boundary-line-selection-edge-overlay{stroke-width:4px;stroke-linecap:round;pointer-events:none}.boundary-line-selection-edge-front{stroke:#d13c4f}.boundary-line-selection-edge-rear{stroke:#2374c6;stroke-dasharray:10 5}.boundary-line-selection-edge-left{stroke:#21865b;stroke-dasharray:3 4;stroke-width:5px}.boundary-line-selection-edge-right{stroke:#7a4db3;stroke-dasharray:12 4 3 4}.boundary-line-selection-edge-secondary-frontage{stroke:#c26a13;stroke-dasharray:7 3;stroke-width:6px}.boundary-line-selection-canvas{background:0 0;border:0;border-radius:0;width:100%;height:100%;min-height:240px;position:relative;overflow:hidden}.boundary-line-selection-canvas-unavailable{color:#647486;background:0 0;place-items:center;width:100%;height:100%;min-height:240px;display:grid}.boundary-line-selection-svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;min-height:240px;display:block}.boundary-line-selection-svg-picking,.boundary-line-selection-svg-picking .boundary-line-selection-edge-hit-target{cursor:none}.boundary-line-selection-background{fill:#0000}.boundary-line-selection-polygon,.boundary-line-selection-edge-base,.boundary-line-selection-edge-overlay,.boundary-line-selection-edge-halo,.boundary-line-selection-edge-hit-target{vector-effect:non-scaling-stroke}.boundary-line-selection-polygon{fill:#3c597814;stroke:none;pointer-events:none}.boundary-line-selection-edge-base{stroke:#718093;stroke-width:2px;stroke-linecap:round;pointer-events:none}.boundary-line-selection-edge-halo{stroke-linecap:round;pointer-events:none}.boundary-line-selection-edge-halo-hovered{stroke:#009bd280;stroke-width:10px}.boundary-line-selection-edge-halo-focused{stroke:#ffb82e99;stroke-width:12px}.boundary-line-selection-edge-halo-hovered.boundary-line-selection-edge-halo-focused{stroke:#009bd29e;stroke-width:13px}.boundary-line-selection-labels{fill:var(--text-h);pointer-events:none;text-anchor:middle;font-family:Cascadia Mono,Segoe UI Mono,monospace;font-weight:600}.boundary-line-selection-edge-hit-target{fill:none;stroke:#0000;stroke-width:16px;pointer-events:stroke;cursor:default}.boundary-line-selection-edge-hit-target:focus{outline:none}.boundary-line-selection-pick-cursor{z-index:3;pointer-events:none;border:2px solid #172536;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffffffe0}.boundary-line-selection-pick-cursor:before,.boundary-line-selection-pick-cursor:after{content:"";background:#172536;position:absolute}.boundary-line-selection-pick-cursor:before{height:1px;top:50%;left:3px;right:3px}.boundary-line-selection-pick-cursor:after{width:1px;top:3px;bottom:3px;left:50%}.canvas-drawing-surface-pan-ready .boundary-line-selection-pick-cursor,.canvas-drawing-surface-panning .boundary-line-selection-pick-cursor{display:none}.design-canvas{touch-action:none;outline:none;width:100%;min-width:0;height:100%;min-height:0;display:block}.design-reference-overlays{pointer-events:none;opacity:.82}.design-canvas-placing{cursor:crosshair}.design-module{fill:#2e80b2ad;stroke:#174f76;stroke-width:1.5px;cursor:move;transition:fill .12s}.design-module:hover{fill:#2474a8c7}.design-module-selected{fill:#0d6efdb8;stroke:#073e88;stroke-width:2.5px}.design-module-envelope-warning{stroke:#d88700;stroke-dasharray:5 3}.design-module-invalid{fill:#cc2d2da8;stroke:#a20d0d}.design-module-post{fill:#123b58;stroke:#fff;stroke-width:.8px}.design-module-post-selected{fill:#062e69}.design-module-post-invalid{fill:#7f0a0a}.design-module-post-preview{fill:#0d5096c7}.design-module-label{fill:#fff;letter-spacing:normal;paint-order:stroke;stroke:#14374eb3;stroke-width:.045em;font-family:inherit;font-weight:500}.design-module-preview{fill:#0d6efd40;stroke:#0d6efd;stroke-width:1.5px;stroke-dasharray:5 3}.design-module-preview-warning{stroke:#d88700}.design-module-preview-invalid{fill:#cc2d2d4d;stroke:#bd1e1e}.design-wall .wall-plan-body{stroke-width:.025px}.design-wall-external .wall-plan-body{fill:#163f5c;stroke:#0b2b40}.design-wall-internal .wall-plan-body{fill:#647486;stroke:#334757}.design-wall-selected .wall-plan-body{fill:#0d6efd;stroke:#073e88;filter:drop-shadow(0 0 2px #0d6efdb3)}.design-wall-invalid .wall-plan-body{fill:#bd1e1e;stroke:#7f0a0a}.wall-plan-door-leaf,.wall-plan-door-swing,.wall-plan-window-line{fill:none;stroke:#163f5c;stroke-width:1.2px}.design-wall-hit{fill:none;stroke:#0000;stroke-width:18px;cursor:pointer}.design-wall-face-available{fill:none;stroke:#21a366;stroke-width:7px;stroke-linecap:round;opacity:.72}.design-wall-preview .wall-plan-body{fill:#21a366a8;stroke:#137044;stroke-width:.035px;stroke-dasharray:.12 .06}.design-wall-preview-invalid .wall-plan-body{fill:#bd1e1e9e;stroke:#7f0a0a}.design-fixture .fixture-plan-footprint{fill:#f2f7faf0;stroke:#334757;stroke-width:1.4px}.design-fixture .fixture-plan-detail{fill:none;stroke:#334757;stroke-width:1.15px}.design-fixture-selected .fixture-plan-footprint{fill:#cfe6fff5;stroke:#0d6efd;stroke-width:2.5px;filter:drop-shadow(0 0 2px #0d6efd8c)}.design-fixture-selected .fixture-plan-detail{stroke:#073e88}.design-fixture-invalid .fixture-plan-footprint{fill:#bd1e1e6b;stroke:#7f0a0a}.design-fixture-invalid .fixture-plan-detail{stroke:#7f0a0a}.design-fixture-hit{fill:#0000;stroke:none;cursor:move}.design-fixture-preview{pointer-events:none}.design-fixture-preview .fixture-plan-footprint{fill:#21a36647;stroke:#137044;stroke-width:1.5px;stroke-dasharray:5 3}.design-fixture-preview .fixture-plan-detail{fill:none;stroke:#137044;stroke-width:1.15px}.design-fixture-preview-invalid .fixture-plan-footprint{fill:#bd1e1e4d;stroke:#7f0a0a}.design-fixture-preview-invalid .fixture-plan-detail{stroke:#7f0a0a}.design-module-rotate-control{cursor:pointer;outline:none}.design-module-rotate-control circle{fill:#fff;stroke:#0d6efd;stroke-width:2px;filter:drop-shadow(0 1px 2px #0000003d)}.design-module-rotate-control text{fill:#0d6efd;pointer-events:none;font-weight:700}.design-module-rotate-control:hover circle,.design-module-rotate-control:focus-visible circle{fill:#eaf4ff;stroke:#073e88}.design-canvas-feedback{fill:#7a2630;paint-order:stroke;stroke:#fff;stroke-width:.12em;font-weight:650}.design-canvas-unavailable{color:#647486;place-items:center;width:100%;height:100%;display:grid}.design-opening-hit{stroke:#0000;stroke-width:12px;cursor:pointer}.design-opening-hit.design-opening-selected{stroke:#1b7ac459}.design-module.design-selection-primary{stroke:#031f4d;stroke-width:3.25px}.design-wall.design-selection-primary .wall-plan-body{stroke:#031f4d;stroke-width:.045px}.design-fixture.design-selection-primary .fixture-plan-footprint{stroke:#031f4d;stroke-width:3.25px}.design-opening-hit.design-selection-primary{stroke:#031f4d94}.design-workspace-status{z-index:9;color:#52687a;pointer-events:none;background:#fffffff0;border:1px solid #1c34482e;border-radius:7px;align-items:center;gap:5px 10px;max-width:calc(100% - 24px);padding:6px 8px;font-size:11px;line-height:1.35;display:flex;position:absolute;top:12px;left:12px;box-shadow:0 2px 8px #142a3c1f}.design-workspace-status>span+span{border-left:1px solid #d5dee5;padding-left:10px}.design-workspace-status-mode,.design-workspace-status-placement{color:#174f76;font-weight:700}.design-workspace-status-placement{color:#7a4e00}.design-workspace-status button{pointer-events:auto;color:#334757;font:inherit;cursor:pointer;background:#fff;border:1px solid #b9c8d3;border-radius:4px;padding:3px 7px;font-weight:650}.design-workspace-status button:hover,.design-workspace-status button:focus-visible{background:#f2f8fd;border-color:#6aa7d6}.design-workspace-status .design-workspace-status-invalid{color:#a12626;border-color:#d99b9b}@media (width<=900px){.design-workspace-status{flex-wrap:wrap}}.properties-panel{box-sizing:border-box;background-color:#f8f9fa;flex-direction:column;width:100%;min-width:0;height:100%;padding:16px;font-size:13px;display:flex;overflow:hidden auto}.properties-panel-header{color:#333;text-align:left;background-color:#e9ecef;border-bottom:1px solid #dee2e6;flex-shrink:0;padding:12px 16px;font-weight:700}.properties-panel-content{box-sizing:border-box;flex-grow:1;min-width:0;padding:16px;overflow:hidden auto}.properties-panel>h3{text-align:left;margin:0 0 16px;font-size:16px;line-height:1.25}.site-summary-section{min-width:0}.site-summary-section h4{text-align:left;margin:18px 0 12px;font-size:14px;line-height:1.25}.design-module-properties h4{text-align:left;margin:18px 0 12px;font-size:14px}.design-property-action{width:100%;color:var(--text-h);font:inherit;cursor:pointer;background:#fff;border:1px solid #9fb4c4;border-radius:5px;margin-top:7px;padding:8px}.design-property-action:hover{background:#edf5fb}.design-property-delete{color:#a0202e;border-color:#d7a0a6}.design-property-delete:hover{background:#fff0f1}.design-property-action:disabled{opacity:.5;cursor:default;background:var(--bg)}.design-properties-empty{color:#647486;text-align:left;margin:14px 0 0;line-height:1.45}.design-properties-selection-summary{color:#52687a;text-align:left;background:#fff;border:1px solid #d6e0e7;border-radius:6px;gap:4px;margin-top:14px;padding:10px;line-height:1.4;display:grid}.design-properties-selection-summary strong{color:#263c50}.design-properties-selection-summary span{overflow-wrap:anywhere;font-size:11px}.design-properties-selection-summary p{margin:0}.property-item{box-sizing:border-box;grid-template-columns:minmax(105px,42%) minmax(0,1fr);align-items:start;column-gap:12px;width:100%;min-width:0;margin-bottom:11px;display:grid}.property-item label{white-space:normal;text-align:left;min-width:0;line-height:1.25}.property-item span{overflow-wrap:anywhere;word-break:break-word;text-align:right;min-width:0;line-height:1.25}.active-tool-panel{background-color:#f5f5f5;flex-direction:column;width:100%;min-width:0;height:100%;display:flex;overflow:hidden}.active-tool-panel-header{background-color:#e9ecef;border-bottom:1px solid #ddd;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.active-tool-panel-header h3{color:#333;text-align:left;margin:0;font-size:16px}.close-button{cursor:pointer;color:#666;background:0 0;border:none;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:24px;display:flex}.close-button:hover{color:#333}.active-tool-panel-content{box-sizing:border-box;flex-grow:1;width:100%;min-width:0;padding:16px;overflow:hidden auto}.resize-handle{z-index:2;cursor:col-resize;touch-action:none;box-sizing:border-box;background-color:#d8dde3;border-inline:1px solid #c4cad1;outline:none;flex:0 0 6px;width:6px;height:100%;transition:background-color .12s,border-color .12s;position:relative}.resize-handle:before{content:"";position:absolute;inset:0 -3px}.resize-handle-grip{opacity:0;background-color:#8a939d;border-radius:1px;width:2px;height:28px;transition:opacity .12s,background-color .12s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.resize-handle:hover,.resize-handle:focus-visible,.resize-handle.dragging{background-color:#b9d7f5;border-color:#4d90d5}.resize-handle:hover .resize-handle-grip,.resize-handle:focus-visible .resize-handle-grip,.resize-handle.dragging .resize-handle-grip{opacity:1;background-color:#276ba8}.resize-handle:focus-visible{box-shadow:inset 0 0 0 1px #165d9c}.main-platform{flex-direction:column;height:100vh;display:flex;overflow:hidden}.platform-content{flex-direction:column;flex-grow:1;display:flex;overflow:hidden}.main-content-area{flex-grow:1;min-width:0;min-height:0;display:flex;overflow:hidden}.docked-panel{box-sizing:border-box;flex-grow:0;flex-shrink:0;min-width:0;height:100%;overflow:hidden}.main-content-area>.canvas-area{flex:auto;min-width:360px}.main-platform-reporting{height:auto;min-height:100vh;overflow:visible}.main-platform-reporting .platform-content,.main-platform-reporting .main-content-area{overflow:visible}.main-platform-reporting .docked-panel,.main-platform-reporting .resize-handle{align-self:stretch;height:auto}.boundary-line-selection-panel{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:6px;flex-direction:column;gap:11px;padding:14px;font-size:13px;display:flex}.boundary-line-selection-panel h3,.boundary-line-selection-panel h4,.boundary-line-selection-panel p,.boundary-line-selection-panel dl,.boundary-line-selection-panel dd{margin:0}.boundary-line-selection-panel h3{border-bottom:1px solid var(--border);color:var(--text-h);padding-bottom:7px;font-size:14px}.boundary-line-selection-intro,.boundary-line-selection-notice,.boundary-line-selection-category p,.boundary-line-selection-picking p{line-height:1.4}.boundary-line-selection-notice,.boundary-line-selection-validation{border-radius:4px;padding:8px 9px;font-size:12px}.boundary-line-selection-notice{color:#4f5d6b;background:#eef2f6}.boundary-line-selection-validation{color:#8a2929;background:#fff0f0}.boundary-line-selection-summary{background:#f5f7f9;border-radius:5px;flex-direction:column;gap:8px;padding:10px;display:flex}.boundary-line-selection-summary h4,.boundary-line-selection-category h4{color:var(--text-h);font-size:13px}.boundary-line-selection-summary dl{gap:6px;display:grid}.boundary-line-selection-summary dl>div{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.boundary-line-selection-summary dt{min-width:0;color:var(--text-h);align-items:center;gap:7px;display:flex}.boundary-line-selection-summary dd{color:#52606d;text-align:right;white-space:nowrap}.boundary-line-selection-category-indicator{align-items:center;width:40px;min-width:40px;height:10px;display:inline-flex}.boundary-line-selection-category-indicator svg{width:100%;height:100%;display:block;overflow:visible}.boundary-line-selection-categories{gap:8px;display:grid}.boundary-line-selection-category{background:#fafbfc;border:1px solid #d7dee6;border-radius:5px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:10px;display:grid}.boundary-line-selection-category-active{background:#eef6ff;border-color:#5b8fc7}.boundary-line-selection-category-title{align-items:center;gap:7px;display:flex}.boundary-line-selection-category-details>p{color:#687481;margin-top:3px;font-size:11px}.boundary-line-selection-metric{color:#52606d;font-size:12px}.boundary-line-selection-category>button{grid-area:1/2/span 2}.boundary-line-selection-picking{color:#315b83;background:#eef6ff;border:1px solid #8ab1d8;border-radius:5px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.boundary-line-selection-actions{flex-wrap:wrap;gap:8px;display:flex}.boundary-line-selection-panel button{min-height:32px;color:var(--text-h);font:inherit;cursor:pointer;background:#f8fafc;border:1px solid #aab5c0;border-radius:4px;padding:6px 10px}.boundary-line-selection-panel button:hover:not(:disabled){background:#edf2f7;border-color:#708399}.boundary-line-selection-panel button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.boundary-line-selection-panel button:disabled{cursor:not-allowed;opacity:.55}.boundary-line-selection-start,.boundary-line-selection-apply{align-self:flex-start;color:#fff!important;background:#218c5a!important;border-color:#197246!important;font-weight:600!important}@media (width<=460px){.boundary-line-selection-category{grid-template-columns:minmax(0,1fr)}.boundary-line-selection-category>button{grid-area:auto/1;justify-self:start}.boundary-line-selection-picking{flex-direction:column;align-items:flex-start}}.import-site-content{flex-direction:column;gap:16px;display:flex}.import-site-panel{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:6px;flex-direction:column;gap:14px;padding:14px;font-size:13px;display:flex}.import-site-summary,.import-site-note{margin:0;line-height:1.45}.import-site-section{border:1px solid var(--border);background:var(--surface,#fff);border-radius:6px;flex-direction:column;gap:9px;padding:12px;display:flex}.import-site-section h3,.import-site-section p{margin:0}.import-site-section h3{color:var(--text-h);font-size:13px}.import-site-section label,.import-site-inline,.import-site-source-row,.import-site-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.import-site-file{flex-direction:column;align-items:stretch!important}.import-site-source-row{justify-content:space-between}.import-site-source-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.import-site-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.import-site-grid label{grid-template-columns:auto minmax(0,1fr) auto;display:grid}.import-site-section input[type=number],.import-site-section select{border:1px solid var(--border);border-radius:4px;min-width:0;padding:5px 6px}.import-site-section button.active{border-color:var(--accent,#0d6efd);color:#0b5ed7;background:#0d6efd1a}.import-site-error{color:#a32121!important}.imported-site-underlay-layer{pointer-events:none}.imported-site-calibration-line{stroke:var(--accent,#0d6efd);stroke-dasharray:5 3;vector-effect:non-scaling-stroke}.imported-site-calibration-point{fill:#fff;stroke:var(--accent,#0d6efd);stroke-width:2px;vector-effect:non-scaling-stroke}.imported-site-calibration-label{fill:var(--text-h,#20354a);paint-order:stroke;stroke:#ffffffe6;stroke-width:3px;vector-effect:non-scaling-stroke;font-family:Cascadia Mono,Segoe UI Mono,monospace;font-weight:700}.import-site-summary{color:var(--text-h);font-weight:600}.import-site-capabilities{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.import-site-capabilities li{background:#f3f5f7;border-radius:4px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.import-site-status{color:#687481;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.import-site-note{border-top:1px solid var(--border);color:#586572;padding-top:11px;font-size:12px}.planning-buildable-envelope-summary{border:1px solid var(--border);background:var(--accent-bg);text-align:left;border-radius:5px;padding:11px}.planning-buildable-envelope-summary header{border-bottom:1px solid var(--accent-border);flex-direction:column;align-items:flex-start;gap:3px;margin-bottom:9px;padding-bottom:7px;display:flex}.planning-buildable-envelope-summary h3,.planning-buildable-envelope-summary header p,.planning-buildable-envelope-status p{margin:0}.planning-buildable-envelope-summary h3{color:var(--text-h);font-size:13px;line-height:1.3}.planning-buildable-envelope-summary header p{color:var(--text-h);white-space:nowrap;font-size:12px;font-weight:600}.planning-buildable-envelope-summary dl{flex-direction:column;gap:6px;margin:0;display:flex}.planning-buildable-envelope-summary dl>div{grid-template-columns:minmax(0,1fr) minmax(136px,42%);align-items:baseline;gap:10px;display:grid}.planning-buildable-envelope-summary dt{color:#43505d;line-height:1.35}.planning-buildable-envelope-summary dd{color:var(--text-h);font-variant-numeric:tabular-nums;text-align:left;white-space:nowrap;margin:0;font-weight:600}.planning-buildable-envelope-status{border-top:1px solid var(--accent-border);margin-top:9px;padding-top:8px;line-height:1.4}.planning-buildable-envelope-status p{font-weight:600}.planning-buildable-envelope-status small{margin-top:4px;font-size:11px;line-height:1.4;display:block}.planning-buildable-envelope-status-positive{color:#197246}.planning-buildable-envelope-status-neutral{color:#526170}.planning-buildable-envelope-status-warning{color:#8a2929}@media (width<=400px){.planning-buildable-envelope-summary dl>div{grid-template-columns:minmax(0,1fr);gap:1px}.planning-buildable-envelope-summary dd{text-align:left}}.planning-capacity-summary{border:1px solid var(--border);background:var(--bg);text-align:left;border-radius:5px;padding:11px}.planning-capacity-summary header{border-bottom:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:3px;margin-bottom:9px;padding-bottom:7px;display:flex}.planning-capacity-summary h3,.planning-capacity-summary header p,.planning-capacity-disclaimer{margin:0}.planning-capacity-summary h3{color:var(--text-h);font-size:13px;line-height:1.3}.planning-capacity-summary header p{color:#526170;white-space:nowrap;font-size:11px;font-weight:600}.planning-capacity-summary dl{flex-direction:column;gap:7px;margin:0;display:flex}.planning-capacity-summary dl>div{grid-template-columns:minmax(0,1fr) minmax(136px,42%);align-items:end;gap:10px;display:grid}.planning-capacity-summary dt{color:#43505d;flex-direction:column;min-width:0;line-height:1.3;display:flex}.planning-capacity-summary dt small{color:#71808f;font-size:10px;font-weight:500}.planning-capacity-summary dd{color:var(--text-h);font-variant-numeric:tabular-nums;text-align:left;white-space:nowrap;margin:0;font-weight:600}.planning-capacity-calculated-row dd{font-weight:700}.planning-capacity-unavailable{color:#647382;white-space:normal;font-size:11px;font-weight:500}.planning-capacity-assessment{text-align:left;white-space:normal;max-width:170px;font-size:11px;line-height:1.35;display:inline-block}.planning-capacity-assessment-meets{color:#197246}.planning-capacity-assessment-below{color:#8a2929}.planning-capacity-assessment-not-assessed{color:#647382}.planning-capacity-disclaimer{border-top:1px solid var(--border);color:#526170;margin-top:10px;padding-top:8px;font-size:11px;line-height:1.45}@media (width<=400px){.planning-capacity-summary dl>div{grid-template-columns:minmax(0,1fr);gap:2px}.planning-capacity-summary dd{text-align:left}.planning-capacity-assessment{text-align:left;max-width:none}}.planning-control-panel{color:var(--text);text-align:left;flex-direction:column;align-items:stretch;gap:14px;font-size:13px;display:flex}.planning-control-framework-row{grid-template-columns:minmax(0,1fr) 34px;align-items:end;gap:8px;display:grid}.planning-control-field{flex-direction:column;gap:6px;min-width:0;display:flex}.planning-control-field label{color:var(--text-h);font-weight:600;line-height:1.3}.planning-control-field select,.planning-control-field input{width:100%;min-width:0;min-height:34px;color:var(--text-h);box-sizing:border-box;font:inherit;text-align:left;background:#fff;border:1px solid #a9b5c2;border-radius:4px;padding:6px 8px}.planning-control-field select:disabled{cursor:not-allowed;color:#77818c;background:#eef1f4}.planning-control-add-framework{color:#264c73;cursor:pointer;background:#fff;border:1px solid #74869a;border-radius:4px;width:34px;height:34px;padding:0;font-size:21px;line-height:1}.planning-control-add-framework:hover:not(:disabled){background:#f0f6ff;border-color:#0d6efd}.planning-control-add-framework:disabled{cursor:not-allowed;opacity:.5}.planning-control-custom-form{background:#f7faff;border:1px solid #cbd6e1;border-radius:5px;flex-direction:column;gap:11px;padding:12px;display:flex}.planning-control-feedback,.planning-control-empty-state{border-radius:4px;margin:0;padding:9px 10px;line-height:1.4}.planning-control-feedback{color:#8a2929;background:#f9e5e5}.planning-control-empty-state{color:#4f5d6b;background:#eef2f6}.planning-control-form-actions{justify-content:flex-start;gap:8px;display:flex}.planning-control-form-actions button{color:var(--text-h);font:inherit;cursor:pointer;background:#fff;border:1px solid #8b9bad;border-radius:4px;padding:6px 11px}.planning-control-form-actions button[type=submit]{color:#fff;background:#0d6efd;border-color:#0b5ed7}.planning-control-form-actions button:disabled{cursor:not-allowed;opacity:.55}.planning-control-selection-heading{border-left:3px solid var(--accent);background:#f3f7fb;flex-direction:column;gap:3px;padding:10px 11px;line-height:1.35;display:flex}.planning-control-selection-heading strong{color:var(--text-h)}.planning-control-selection-heading span{color:#526170}.planning-control-edit-button{color:#fff;font:inherit;cursor:pointer;background:#0d6efd;border:1px solid #0b5ed7;border-radius:4px;align-self:flex-start;padding:7px 12px;font-weight:600}.planning-control-edit-button:disabled{cursor:not-allowed;opacity:.55}.planning-control-groups{flex-direction:column;gap:12px;display:flex}.planning-control-group{border:1px solid var(--border);background:#fff;border-radius:5px;padding:11px}.planning-control-group h3{border-bottom:1px solid var(--border);color:var(--text-h);margin:0 0 8px;padding-bottom:7px;font-size:13px;line-height:1.3}.planning-control-group dl{flex-direction:column;gap:7px;margin:0;display:flex}.planning-control-group dl>div{grid-template-columns:minmax(0,1fr) minmax(136px,42%);align-items:start;gap:12px;display:grid}.planning-control-group dt{color:#43505d;min-width:0;line-height:1.35}.planning-control-definition-label,.planning-control-edit-row label{flex-direction:column;gap:2px;display:flex}.planning-control-description{color:#71808f;font-size:10px;font-weight:500;line-height:1.35}.planning-control-group dd{color:var(--text-h);font-variant-numeric:tabular-nums;text-align:left;white-space:nowrap;margin:0;font-weight:600}.planning-control-group .planning-control-edit-row{align-items:start}.planning-control-edit-row dt{padding-top:7px}.planning-control-edit-row label{cursor:pointer}.planning-control-group .planning-control-edit-value{white-space:normal;flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}.planning-control-input-wrap{grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:6px;display:grid}.planning-control-input-wrap input{width:100%;min-width:0;min-height:32px;color:var(--text-h);box-sizing:border-box;font:inherit;font-variant-numeric:tabular-nums;text-align:left;border:1px solid #a9b5c2;border-radius:4px;padding:5px 7px}.planning-control-input-wrap input[aria-invalid=true]{background:#fff8f8;border-color:#b73a3a}.planning-control-input-wrap span{color:#526170;text-align:left;font-weight:500}.planning-control-field-error{color:#9b2f2f;text-align:left;margin:0;font-size:11px;font-weight:500;line-height:1.35}.planning-control-edit-footer{background:#f7faff;border:1px solid #cbd6e1;border-radius:5px;flex-direction:column;gap:9px;padding:11px;display:flex}.planning-control-edit-validation{color:#8a2929;background:#f9e5e5;border-radius:4px;margin:0;padding:8px 9px;line-height:1.4}.planning-control-edit-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex}.planning-control-edit-actions button{color:var(--text-h);font:inherit;cursor:pointer;background:#fff;border:1px solid #8b9bad;border-radius:4px;padding:6px 10px}.planning-control-edit-actions .planning-control-apply-button{color:#fff;background:#218c59;border-color:#197246;font-weight:600}.planning-control-edit-actions button:disabled{cursor:not-allowed;opacity:.55}.planning-control-panel select:focus-visible,.planning-control-panel input:focus-visible,.planning-control-panel button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=400px){.planning-control-group dl>div{grid-template-columns:minmax(0,1fr);gap:2px}.planning-control-group dd{text-align:left}.planning-control-edit-row dt{padding-top:0}.planning-control-group .planning-control-edit-value{min-width:0}}.space-needs-summary{border:1px solid var(--border);background:var(--bg);border-radius:5px;padding:11px}.space-needs-summary h3{border-bottom:1px solid var(--border);color:var(--text-h);margin:0 0 9px;padding-bottom:7px;font-size:13px;line-height:1.3}.space-needs-summary dl{flex-direction:column;gap:7px;margin:0;display:flex}.space-needs-summary dl>div{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:10px;display:grid}.space-needs-summary dt{color:#43505d;line-height:1.35}.space-needs-summary dd{color:var(--text-h);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;margin:0;font-weight:700}.space-needs-summary>p{border-top:1px solid var(--border);color:#526170;margin:10px 0 0;padding-top:8px;font-size:11px;line-height:1.45}.space-needs-panel{min-width:0;color:var(--text);text-align:left;flex-direction:column;gap:14px;font-size:13px;display:flex}.space-needs-introduction h2,.space-needs-introduction p{margin:0}.space-needs-introduction h2{color:var(--text-h);font-size:18px;line-height:1.3}.space-needs-introduction p{color:#526170;margin-top:4px;line-height:1.45}.space-needs-add-controls{border:1px solid var(--border);background:#f7faff;border-radius:5px;flex-direction:column;gap:7px;padding:11px;display:flex}.space-needs-add-controls>label{color:var(--text-h);font-weight:600}.space-needs-add-controls>div{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.space-needs-panel select,.space-needs-panel input,.space-needs-panel textarea,.space-needs-panel button{font:inherit}.space-needs-panel select,.space-needs-panel input,.space-needs-panel textarea{width:100%;min-width:0;color:var(--text-h);box-sizing:border-box;background:#fff;border:1px solid #a9b5c2;border-radius:4px;padding:6px 8px}.space-needs-panel select,.space-needs-panel input{min-height:34px}.space-needs-panel textarea{resize:vertical;line-height:1.4}.space-needs-panel input[aria-invalid=true]{background:#fff8f8;border-color:#b73a3a}.space-needs-panel button{color:var(--text-h);cursor:pointer;background:#fff;border:1px solid #8b9bad;border-radius:4px;padding:6px 9px}.space-needs-add-controls>div button,.space-needs-apply{color:#fff;background:#0d6efd;border-color:#0b5ed7;font-weight:600}.space-needs-add-custom{color:#264c73;align-self:flex-start}.space-needs-empty-state{color:#4f5d6b;text-align:center;background:#eef2f6;border-radius:4px;margin:0;padding:12px}.space-needs-list{flex-direction:column;gap:11px;margin:0;padding:0;list-style:none;display:flex}.space-needs-card{border:1px solid var(--border);background:var(--bg);border-radius:5px;padding:11px}.space-needs-card>header{border-bottom:1px solid var(--border);justify-content:space-between;gap:9px;margin-bottom:10px;padding-bottom:8px;display:flex}.space-needs-card>header h3,.space-needs-card>header p{margin:0}.space-needs-card>header h3{color:var(--text-h);font-size:14px;line-height:1.3}.space-needs-card>header p{color:#647382;margin-top:2px;font-size:11px;line-height:1.35}.space-needs-card>header>span{background:var(--accent-bg);width:23px;height:23px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:700;display:inline-grid}.space-needs-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.space-needs-field{flex-direction:column;gap:4px;min-width:0;display:flex}.space-needs-field-wide{grid-column:1/-1}.space-needs-field label{color:#43505d;font-weight:600;line-height:1.3}.space-needs-area-input{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.space-needs-area-input span{color:#526170;font-weight:600}.space-needs-field-error{color:#9b2f2f;margin:0;font-size:11px;line-height:1.35}.space-needs-card-actions{border-top:1px solid var(--border);flex-direction:column;gap:7px;margin-top:11px;padding-top:9px;display:flex}.space-needs-card-actions>div{flex-wrap:wrap;gap:6px;display:flex}.space-needs-card-actions>div:last-child{justify-content:flex-end}.space-needs-card-actions button{padding:5px 7px;font-size:11px}.space-needs-card-actions .space-needs-remove{color:#8a2929;border-color:#ba7777}.space-needs-panel button:disabled{cursor:not-allowed;opacity:.5}.space-needs-panel select:focus-visible,.space-needs-panel input:focus-visible,.space-needs-panel textarea:focus-visible,.space-needs-panel button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=400px){.space-needs-fields{grid-template-columns:minmax(0,1fr)}.space-needs-field-wide{grid-column:auto}.space-needs-summary dl>div{grid-template-columns:minmax(0,1fr);gap:2px}.space-needs-summary dd{text-align:left}}.planning-target-summary{background:#f4f8fb;border:1px solid #b8c9d8;border-radius:5px;padding:11px}.planning-target-summary h3,.planning-target-summary p{margin:0 0 7px}.planning-target-summary h3{color:var(--text-h);font-size:13px}.planning-target-summary p{color:#526170;font-weight:600}.planning-target-summary dl{flex-direction:column;gap:6px;margin:0;display:flex}.planning-target-summary dl>div{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.planning-target-summary dt{color:#526170}.planning-target-summary dd{color:var(--text-h);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.planning-target-capacity{background:#f4f8fb;border:1px solid #b8c9d8;border-radius:5px;padding:11px}.planning-target-capacity h3{color:var(--text-h);margin:0 0 7px;font-size:13px}.planning-target-capacity-head{color:#687785;grid-template-columns:1fr 1fr;gap:8px;margin-left:44%;font-size:10px;font-weight:700;display:grid}.planning-target-capacity dl{flex-direction:column;gap:6px;margin:5px 0 0;display:flex}.planning-target-capacity dl>div{grid-template-columns:minmax(0,1.5fr) 1fr 1fr;gap:8px;display:grid}.planning-target-capacity dt{color:#526170}.planning-target-capacity dd{color:var(--text-h);font-variant-numeric:tabular-nums;text-align:right;margin:0;font-weight:600}.planning-targets-panel{color:var(--text);text-align:left;flex-direction:column;gap:10px;font-size:13px;display:flex}.planning-targets-intro,.planning-targets-empty,.planning-target-match-status,.planning-target-invalid-status{border-radius:4px;margin:0;padding:9px 10px;line-height:1.4}.planning-targets-intro,.planning-target-match-status{color:#405765;background:#eef5f7}.planning-targets-empty{color:#4f5d6b;background:#eef2f6}.planning-target-invalid-status,.planning-target-error{color:#942f2f;background:#fff2f2}.planning-targets-source{border-left:3px solid var(--accent);background:#f3f7fb;flex-direction:column;gap:3px;padding:10px 11px;line-height:1.35;display:flex}.planning-targets-source strong{color:var(--text-h)}.planning-targets-source span{color:#526170}.planning-target-group{border:1px solid var(--border);background:#fff;border-radius:5px;padding:10px}.planning-target-group>h3{border-bottom:1px solid var(--border);color:var(--text-h);margin:0 0 9px;padding-bottom:7px;font-size:13px}.planning-target-row{border-bottom:1px solid #edf0f3;grid-template-columns:1fr 1fr;gap:7px 9px;padding:8px 0;display:grid}.planning-target-row:last-child{border-bottom:0}.planning-target-row h4{color:var(--text-h);grid-column:1/-1;margin:0;font-size:12px}.planning-target-requirement{background:#f0f2f4;border-radius:4px;flex-direction:column;gap:3px;min-width:0;padding:7px;display:flex}.planning-target-requirement>label,.planning-target-preference>label{color:#526170;margin-bottom:4px;font-size:10px;font-weight:700;display:block}.planning-target-state{color:#687785;font-size:10px}.planning-target-preference{min-width:0}.planning-target-input-wrap{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;display:grid}.planning-target-input-wrap input,.planning-target-preference>input{box-sizing:border-box;width:100%;min-width:0;min-height:32px;font:inherit;border:1px solid #9cabb9;border-radius:4px;padding:5px 6px}.planning-target-input-wrap input:disabled{color:#53616e;opacity:1;background:#e5e8eb;border-color:#c5ccd3}.planning-target-input-wrap input[aria-invalid=true]{background:#fff8f8;border-color:#b73a3a}.planning-target-input-wrap span{color:#526170;font-size:11px}.planning-target-state{margin-top:3px;display:block}.planning-target-reset{color:#175f9b;font:inherit;cursor:pointer;background:0 0;border:0;margin-top:4px;padding:0;font-size:10px;text-decoration:underline}.planning-target-error{margin:4px 0 0;font-size:10px;line-height:1.35}.planning-target-edit-control,.planning-target-reset-all{color:var(--text-h);font:inherit;cursor:pointer;background:#fff;border:1px solid #7d8fa1;border-radius:4px;align-self:flex-start;padding:6px 9px}.planning-target-reset-all:disabled{opacity:.5;cursor:not-allowed}@media (width<=400px){.planning-target-row{grid-template-columns:1fr}}.site-form{flex-direction:column;gap:16px;font-size:13px;display:flex}.site-form-section{border:1px solid var(--border);background:#fff;border-radius:6px;flex-direction:column;gap:11px;padding:14px;display:flex}.site-form-section h3{border-bottom:1px solid var(--border);color:var(--text-h);margin:0 0 2px;padding-bottom:7px;font-size:14px;line-height:1.25}.site-form-field{grid-template-columns:minmax(125px,42%) minmax(0,1fr);align-items:center;gap:12px;display:grid}.site-form-field label{color:var(--text-h);font-weight:500;line-height:1.25}.site-form-field input{border:1px solid var(--border);width:100%;min-width:0;min-height:32px;color:var(--text);font:inherit;box-sizing:border-box;background:#fff;border-radius:4px;padding:7px 8px}.site-form-field input:focus-visible,.site-form-checkbox input:focus-visible,.site-form button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.site-form-checkbox{color:var(--text-h);cursor:pointer;align-self:flex-start;align-items:center;gap:7px;display:inline-flex}.site-form-checkbox input{margin:0}.site-form-placeholder,.site-form-validation{border-radius:4px;margin:0;padding:8px 9px;font-size:12px;line-height:1.4}.site-form-placeholder{color:#4f5d6b;background:#eef2f6}.site-form-manual,.site-form-exact-entry{flex-direction:column;gap:10px;display:flex}.site-form-boundary-edit-controls{background:#f3f8ff;border:1px solid #9ebce0;border-radius:5px;flex-direction:column;gap:9px;padding:11px;display:flex}.site-form-boundary-edit-controls>p{color:#365a82;margin:0;font-size:12px;line-height:1.4}.site-form-boundary-edit-controls>.site-form-validation{color:#8a2929}.site-form-edit-apply{color:#fff;font:inherit;cursor:pointer;background:#218c5a;border:1px solid #197246;border-radius:4px;align-self:flex-start;padding:7px 12px;font-size:12px;font-weight:600}.site-form-edit-apply:hover:not(:disabled){background:#197246}.site-form-edit-apply:disabled{cursor:not-allowed;opacity:.55}.site-form-exact-entry{background:#f8fafc;border:1px solid #d7dee7;border-radius:5px;padding:10px}.site-form-actions{flex-wrap:wrap;gap:7px;display:flex}.site-form-actions button,.site-form-exact-entry button{color:var(--text-h);font:inherit;cursor:pointer;background:#fff;border:1px solid #9caaba;border-radius:4px;padding:6px 9px;font-size:12px}.site-form-actions button:hover:not(:disabled),.site-form-exact-entry button:hover:not(:disabled){background:#f0f6ff;border-color:#0d6efd}.site-form-actions button:disabled,.site-form-exact-entry button:disabled{cursor:not-allowed;opacity:.5}.site-form-notice,.site-form-status{border-radius:4px;margin:0;padding:8px 9px;font-size:12px;line-height:1.4}.site-form-notice{color:#735c0f;background:#fff3cd}.site-form-status{color:#365a82;background:#eef5ff}.site-form-validation{color:#8a2929;background:#f9e5e5}.site-form-apply{color:#fff;font:inherit;cursor:pointer;background:#0d6efd;border:1px solid #0b5ed7;border-radius:4px;align-self:flex-start;padding:7px 12px;font-size:12px;font-weight:600}.site-form-apply:hover:not(:disabled){background:#0b5ed7}.site-form-apply:active:not(:disabled){background:#0a53be}.site-form-apply:focus-visible{outline-offset:2px;outline:2px solid #0d6efd}.site-form-apply:disabled{cursor:not-allowed;opacity:.55}.modular-grid-summary{background:#f4f8fb;border:1px solid #aebfd0;border-radius:5px;padding:11px}.modular-grid-summary h3{color:var(--text-h);margin:0 0 8px;font-size:13px}.modular-grid-summary dl{flex-direction:column;gap:6px;margin:0;display:flex}.modular-grid-summary dl>div{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.modular-grid-summary dt{color:#526170}.modular-grid-summary dd{color:var(--text-h);font-variant-numeric:tabular-nums;text-align:right;margin:0;font-weight:600}.modular-grid-panel{color:var(--text);flex-direction:column;gap:10px;font-size:13px;display:flex}.modular-grid-panel>label{color:var(--text-h);font-weight:600}.modular-grid-panel select{min-height:34px;font:inherit;background:#fff;border:1px solid #a9b5c2;border-radius:4px;padding:6px 8px}.modular-grid-intro,.modular-grid-status,.modular-grid-guidance{border-radius:4px;margin:0;padding:9px 10px;line-height:1.4}.modular-grid-intro,.modular-grid-guidance{color:#405765;background:#eef5f7}.modular-grid-status{color:#4f5d6b;background:#eef2f6}.modular-grid-source,.modular-grid-controls{border:1px solid var(--border);background:#fff;border-radius:5px;padding:10px}.modular-grid-source h3,.modular-grid-controls h3{color:var(--text-h);margin:0 0 8px;font-size:13px}.modular-grid-source dl{flex-direction:column;gap:5px;margin:0;display:flex}.modular-grid-source dl>div{grid-template-columns:1fr auto;gap:8px;display:grid}.modular-grid-source dd{margin:0;font-weight:600}.modular-grid-controls>p{margin:0 0 9px}.modular-grid-dimensions,.modular-grid-position-fields{grid-template-columns:1fr 1fr;gap:9px;display:grid}.modular-grid-dimension-field label,.modular-grid-position-field label,.modular-grid-orientation-field label{color:#526170;margin-bottom:4px;font-weight:600;display:block}.modular-grid-dimension-field>div,.modular-grid-position-field>div,.modular-grid-orientation-field>div{grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:5px;display:grid}.modular-grid-dimension-field input,.modular-grid-position-field input,.modular-grid-orientation-field input,.modular-grid-orientation-field select{box-sizing:border-box;width:100%;min-width:0;min-height:32px;font:inherit;border:1px solid #9cabb9;border-radius:4px;padding:5px 6px}.modular-grid-dimension-field input[aria-invalid=true],.modular-grid-position-field input[aria-invalid=true],.modular-grid-orientation-field input[aria-invalid=true],.modular-grid-orientation-field select[aria-invalid=true]{background:#fff8f8;border-color:#b73a3a}.modular-grid-dimension-field small,.modular-grid-position-guidance{color:#687785;margin-top:3px;font-size:10px;line-height:1.35;display:block}.modular-grid-dimension-field p,.modular-grid-position-field p,.modular-grid-orientation-field p{color:#942f2f;margin:3px 0 0;font-size:10px}.modular-grid-orientation-field+.modular-grid-orientation-field{margin-top:9px}.modular-grid-orientation-summary{border-top:1px solid #d5dde5;gap:4px;margin:10px 0 0;padding-top:8px;display:grid}.modular-grid-orientation-summary>div{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.modular-grid-orientation-summary dd{color:var(--text-h);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.modular-grid-controls button{color:var(--text-h);font:inherit;cursor:pointer;background:#fff;border:1px solid #71869a;border-radius:4px;margin-top:9px;padding:6px 9px}@media (width<=400px){.modular-grid-dimensions,.modular-grid-position-fields{grid-template-columns:1fr}}.planning-report-panel{gap:1rem;font-size:.83rem;display:grid}.report-panel-status{border:1px solid var(--border);background:var(--social-bg);border-left:4px solid #64748b;border-radius:6px;gap:.2rem;padding:.75rem;display:grid}.report-panel-status span{color:var(--text);font-size:.72rem}.report-panel-status strong{color:var(--text-h)}.report-status-ready{border-left-color:#047857}.report-status-ready-with-warnings{border-left-color:#b45309}.report-status-incomplete{border-left-color:#b91c1c}.planning-report-panel dl{gap:.55rem;margin:0;display:grid}.planning-report-panel dl div{justify-content:space-between;gap:.8rem;display:flex}.planning-report-panel dt{color:var(--text)}.planning-report-panel dd{color:var(--text-h);text-align:right;margin:0}.report-print-button{background:var(--accent);color:#fff;width:100%;font:inherit;cursor:pointer;border:0;border-radius:5px;justify-content:center;align-items:center;gap:.45rem;padding:.65rem .8rem;font-weight:650;display:inline-flex}.report-print-button:focus-visible,.report-source-links button:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.report-source-links{gap:.35rem;display:grid}.report-source-links span{color:var(--text-h);margin-bottom:.2rem;font-weight:650}.report-source-links button{border:1px solid var(--border);color:var(--text-h);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:4px;padding:.45rem .55rem}.report-source-links button:hover{background:var(--accent-bg)}.report-panel-disclaimer{color:var(--text);font-size:.73rem;line-height:1.45}.planning-report-diagram{break-inside:avoid;margin:0}.planning-report-diagram svg{pointer-events:none;width:100%;height:min(34vh,320px);min-height:210px;display:block;overflow:visible}.report-diagram-site,.report-diagram-requirement,.report-diagram-preferred,.report-diagram-grid,.report-diagram-frontage{vector-effect:non-scaling-stroke}.report-diagram-site{fill:#4b55630d;stroke:#4b5563;stroke-width:1.5px}.report-diagram-requirement{fill:#2563eb17;stroke:#2563eb;stroke-width:1.5px;stroke-dasharray:6 3}.report-diagram-preferred{fill:#7c3aed1a;stroke:#7c3aed;stroke-width:1.5px;stroke-dasharray:3 2}.report-diagram-grid{fill:#05966924;stroke:#047857;stroke-width:1.8px}.report-diagram-frontage{stroke:#c2410c;stroke-width:4px;stroke-linecap:round}.planning-report-diagram figcaption{color:var(--text);flex-wrap:wrap;gap:.35rem .8rem;margin-top:.6rem;font-size:.72rem;display:flex}.planning-report-diagram figcaption span{align-items:center;gap:.35rem;display:inline-flex}.planning-report-diagram figcaption i{box-sizing:border-box;border:2px solid;width:1rem;height:.45rem}.legend-site{border-color:#4b5563!important}.legend-requirement{border-style:dashed!important;border-color:#2563eb!important}.legend-preferred{border-style:dotted!important;border-color:#7c3aed!important}.legend-grid{background:#05966924;border-color:#047857!important}.legend-frontage{border-width:2px 0 0!important;border-color:#c2410c!important;height:0!important}.planning-report-diagram-unavailable{color:var(--text);text-align:center;border:1px dashed var(--border);padding:2rem}.planning-report-workspace{background-color:var(--bg);text-align:left;box-sizing:border-box;background-image:linear-gradient(#80808014 1px,#0000 1px),linear-gradient(90deg,#80808014 1px,#0000 1px);background-size:20px 20px;flex:auto;min-width:360px;padding:1.25rem;overflow:visible}.planning-report-document{width:min(100%,1120px);color:var(--text);gap:1rem;margin:0 auto;font-size:.82rem;display:grid}.planning-report-header,.report-section,.planning-report-footer{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 96%, var(--text) 4%);border-radius:9px;padding:1.15rem;box-shadow:0 2px 8px #0000000f}.planning-report-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.8rem 1.5rem;display:grid}.report-kicker{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:750}.planning-report-header h1{margin:.15rem 0 0;font-size:1.8rem;line-height:1.1}.report-project-name{color:var(--text-h);margin-top:.35rem;font-size:1rem}.report-document-status{color:#475569;border:1px solid;border-radius:999px;padding:.35rem .55rem;font-size:.72rem;font-weight:700}.report-document-status.report-status-ready{color:#047857}.report-document-status.report-status-ready-with-warnings{color:#a16207}.report-document-status.report-status-incomplete{color:#b91c1c}.report-header-details{border-top:1px solid var(--border);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1.5rem;margin:.2rem 0 0;padding-top:.8rem;display:grid}.report-header-details div,.report-metric-list div,.report-floor-summary dl div{justify-content:space-between;gap:.8rem;display:flex}.planning-report-document dt{color:var(--text)}.planning-report-document dd{color:var(--text-h);text-align:right;margin:0;font-weight:600}.report-section h2{margin:0 0 .6rem;font-size:1.15rem}.report-section h3{color:var(--text-h);margin:0 0 .65rem;font-size:.9rem}.report-section-intro,.report-note{color:var(--text);line-height:1.5}.report-note{border-left:3px solid var(--border);margin-top:.75rem;padding-left:.65rem;font-size:.75rem}.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.9rem;display:grid}.report-summary-metric,.report-floor-summary,.report-floor-card{border:1px solid var(--border);background:var(--bg);border-radius:7px;padding:.85rem}.report-summary-metric{grid-column:1/-1;justify-content:space-between;display:flex}.report-summary-metric strong{color:var(--text-h);font-size:1rem}.report-floor-summary dl,.report-metric-list{gap:.4rem;margin:0;display:grid}.report-floor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.report-table-scroll{max-width:100%;margin-top:.8rem;overflow-x:auto}.planning-report-document table{border-collapse:collapse;width:100%;min-width:680px;color:var(--text-h);font-size:.75rem}.planning-report-document caption{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.planning-report-document th,.planning-report-document td{border-bottom:1px solid var(--border);vertical-align:top;text-align:left;padding:.52rem .6rem}.planning-report-document thead th{color:var(--text);letter-spacing:.02em;text-transform:uppercase;font-size:.68rem}.planning-report-document tbody th{font-weight:650}.planning-report-document tbody th span{color:var(--text);font-size:.62rem;font-weight:500;display:block}.report-empty{border:1px dashed var(--border);color:var(--text);margin-top:.75rem;padding:.8rem}.report-warning-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.report-warning-list li{border:1px solid var(--border);border-left:4px solid #64748b;border-radius:5px;grid-template-columns:5.8rem 1fr;gap:.8rem;padding:.7rem;display:grid}.report-warning-list li>span{color:var(--text-h);text-transform:uppercase;font-size:.7rem;font-weight:750}.report-warning-list strong{color:var(--text-h)}.report-warning-list p{margin-top:.2rem;line-height:1.45}.report-warning-list .report-warning-review{border-left-color:#b45309}.report-warning-list .report-warning-warning{border-left-color:#b91c1c}.planning-report-footer{font-size:.72rem;line-height:1.45}.planning-report-footer strong{color:var(--text-h)}.planning-report-footer p{margin-top:.25rem}@media (width<=1100px){.report-summary-grid,.report-floor-grid{grid-template-columns:1fr}}@page{size:A4 portrait;margin:14mm 12mm 16mm}@media print{body:has(.planning-report-document){-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#000!important;background:#fff!important}body:has(.planning-report-document) #root{width:auto!important;height:auto!important;min-height:0!important;display:block!important;overflow:visible!important}body:has(.planning-report-document) .main-platform{width:auto!important;height:auto!important;min-height:0!important;display:block!important;overflow:visible!important}body:has(.planning-report-document) .platform-content{width:auto!important;height:auto!important;min-height:0!important;display:block!important;overflow:visible!important}body:has(.planning-report-document) .main-content-area{width:auto!important;height:auto!important;min-height:0!important;display:block!important;overflow:visible!important}body:has(.planning-report-document) .global-header{display:none!important}body:has(.planning-report-document) .ribbon-bar{display:none!important}body:has(.planning-report-document) .stage-navigation{display:none!important}body:has(.planning-report-document) .tools-dock{display:none!important}body:has(.planning-report-document) .active-tool-dock{display:none!important}body:has(.planning-report-document) .properties-dock{display:none!important}body:has(.planning-report-document) .resize-handle{display:none!important}body:has(.planning-report-document) button{display:none!important}.planning-report-workspace{width:auto;min-width:0;padding:0;display:block;overflow:visible;background:#fff!important}.planning-report-document{color:#111;width:auto;max-width:none;margin:0;font-size:9pt;display:block}.planning-report-header,.report-section,.planning-report-footer{box-shadow:none;border-color:#a8a8a8;border-radius:0;margin:0 0 5mm;padding:4mm;background:#fff!important}.planning-report-header{break-inside:avoid}.report-section h2,.report-section h3{break-after:avoid}.report-summary-metric,.report-floor-summary,.report-floor-card{border-color:#b7b7b7;background:#fff!important}.report-summary-grid,.report-floor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-table-scroll{overflow:visible}.planning-report-document table{min-width:0;font-size:7.5pt}.planning-report-document tr,.planning-report-document th,.planning-report-document td,.report-warning-list li,.report-floor-card,.report-floor-summary{break-inside:avoid}.planning-report-document th,.planning-report-document td{border-color:#c7c7c7;padding:2mm}.report-diagrams-section{break-before:page}.planning-report-diagram svg{height:75mm;min-height:0}.report-diagram-site{fill:#f4f4f4;stroke:#333}.report-diagram-requirement{fill:#eaf0fb;stroke:#2458a6}.report-diagram-preferred{fill:#f1ebf8;stroke:#6b3b8f}.report-diagram-grid{fill:#e5f3ed;stroke:#27664d}.report-warning-list li{border-color:#999}.planning-report-footer{break-inside:avoid}}.module-library-folder-content{min-width:0}.module-library-folder-content h4{color:var(--text-h);margin:0 0 5px;font-size:13px;line-height:1.3}.module-library-instructions,.module-library-notice{color:#647486;margin:0 0 .65rem;font-size:11px;line-height:1.35}.module-library-notice{color:#745b14;background:#fff8df;border:1px solid #e4c46a;border-radius:5px;padding:7px}.module-library-placement-status{color:#315c7b;background:#edf7ff;border:1px solid #83b4dc;border-radius:5px;gap:2px;margin:0 0 9px;padding:8px;font-size:11px;line-height:1.35;display:grid}.module-library-placement-status strong{color:#174f76;font-size:12px}.module-library-empty{color:#647486;text-align:center;border:1px dashed #bdc8d1;border-radius:5px;margin:8px 0;padding:10px 7px;font-size:11px}.module-library-list{gap:8px;display:grid}.module-library-group{gap:6px;min-width:0;display:grid}.module-library-folder-content .module-library-group-heading{color:#334757;letter-spacing:.02em;border-bottom:1px solid #d9e2e8;margin:0;padding:0 2px 3px;font-size:12px;font-weight:700}.module-library-group-list{gap:6px;display:grid}.module-library-item{border:1px solid var(--border);width:100%;min-width:0;color:var(--text-h);font:inherit;text-align:left;background:#fff;border-radius:5px;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;padding:9px;display:grid}.module-library-wall-item{gap:8px;padding:7px}button.module-library-item{cursor:pointer}button.module-library-item:hover:not(:disabled){background:#f2f8fd;border-color:#6aa7d6}.module-library-item-selected{background:#eaf4ff;border-color:#0d6efd;box-shadow:inset 3px 0 #0d6efd}.module-library-item:disabled{opacity:.55;cursor:not-allowed}.module-library-item-catalogue{background:#fafbfd}.module-library-item-copy{gap:2px;min-width:0;display:grid}.module-library-item-copy strong{overflow-wrap:anywhere;font-size:13px;font-weight:600;line-height:1.25}.module-library-item-copy small{color:#647486;font-size:11px;line-height:1.35}.module-library-preview{background:#eef4f8;border:1px solid #c7d3dc;border-radius:3px;place-items:center;width:72px;height:54px;display:grid;overflow:hidden}.module-library-preview img{object-fit:contain;width:100%;height:100%}.module-library-preview svg{width:100%;height:100%;display:block}.module-library-preview-placeholder{box-sizing:border-box;display:block}.module-plan-footprint{fill:#4689be24;stroke:#397aa7;stroke-width:1.5px}.module-plan-post{fill:#174f76;stroke:#fff;stroke-width:.5px}.module-wall-plan .wall-plan-body{stroke-width:.7px}.module-wall-plan-external .wall-plan-body{fill:#163f5c;stroke:#0b2b40}.module-wall-plan-internal .wall-plan-body{fill:#647486;stroke:#425b6d}.module-wall-plan .wall-plan-door-leaf,.module-wall-plan .wall-plan-door-swing,.module-wall-plan .wall-plan-window-line{fill:none;stroke:#163f5c;stroke-width:1px}.room-layout-plan-footprint{fill:#4689be1a;stroke:#8a9aa7;stroke-width:.75px}.room-layout-plan-wall .wall-plan-body{stroke-width:.6px}.module-fixture-plan .fixture-plan-footprint{fill:#f8fbfd;stroke:#355f7a;stroke-width:1px}.module-fixture-plan .fixture-plan-detail{fill:none;stroke:#355f7a;stroke-width:.9px}.module-fixture-plan .fixture-plan-drain{fill:#355f7a}.module-library-placement-controls{gap:8px;margin-top:10px;display:grid}.module-library-rotation{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:5px;justify-content:space-between;align-items:center;gap:10px;padding:8px;font-size:12px;display:flex}.module-library-rotation strong{color:var(--text-h)}.module-library-rotation button,.module-library-cancel{border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:5px;padding:6px 9px;font-size:11px}.module-library-rotation button:hover,.module-library-cancel:hover{background:#f2f8fd;border-color:#6aa7d6}.module-library-cancel{width:100%}.module-library-file-actions,.module-library-user-actions{flex-wrap:wrap;align-items:end;gap:6px;display:flex}.module-library-file-actions{margin-bottom:8px}.module-library-file-actions button,.module-library-user-actions button{border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;background:#fff;border-radius:5px;padding:6px 9px;font-size:11px}.module-library-file-actions button:hover,.module-library-user-actions button:hover{background:#f2f8fd;border-color:#6aa7d6}.module-library-file-input{display:none}.module-library-user-item{gap:6px;display:grid}.module-library-user-actions label{color:#647486;flex:130px;gap:2px;min-width:0;font-size:11px;display:grid}.module-library-user-actions input{box-sizing:border-box;border:1px solid var(--border);width:100%;min-width:0;font:inherit;color:var(--text-h);border-radius:4px;padding:5px 6px}.design-integrity-panel{gap:.9rem;display:grid}.design-integrity-intro{color:#647486;margin:0;font-size:.78rem;line-height:1.45}.design-integrity-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.design-integrity-count{color:#4a5568;background:#f7f9fc;border:1px solid #d8dee8;border-radius:.55rem;gap:.15rem;padding:.7rem .8rem;font-size:.76rem;display:grid}.design-integrity-count strong{color:#172033;font-size:1.15rem}.design-integrity-count-error strong{color:#b42318}.design-integrity-count-warning strong{color:#9a6700}.design-integrity-empty{color:#17643a;background:#effaf3;border:1px solid #a7d7bd;border-radius:.55rem;gap:.2rem;margin:0;padding:.85rem;font-size:.84rem;display:grid}.design-integrity-empty strong{color:#17643a}.design-integrity-empty span{font-size:.76rem}.design-integrity-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.design-integrity-issue{background:#fff;border:1px solid #d8dee8;border-left-width:3px;border-radius:.5rem;gap:.4rem;padding:.7rem .75rem;display:grid}.design-integrity-issue-error{border-left-color:#d92d20}.design-integrity-issue-warning{border-left-color:#dc9700}.design-integrity-issue-info{border-left-color:#3974c6}.design-integrity-issue-heading{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.design-integrity-severity{color:#4a5568;letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:700}.design-integrity-entity{color:#667085;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.design-integrity-issue p{color:#273449;margin:0;font-size:.8rem;line-height:1.4}.design-integrity-issue button{color:#273449;cursor:pointer;font:inherit;background:#f7f9fc;border:1px solid #bcc7d6;border-radius:.35rem;justify-self:start;padding:.28rem .55rem;font-size:.74rem;font-weight:600}.design-integrity-issue button:hover{background:#edf2f8;border-color:#7b8da6}.design-integrity-issue button:focus-visible{outline-offset:2px;outline:2px solid #3974c6}
