@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";.workflow-bar{color:#58744b;background:#fff;border:1px solid #dfe7d9;border-radius:9px;flex-shrink:0;margin:0 0 18px;padding:15px 16px}.workflow-status{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:13px;display:flex}.workflow-step-chip{color:#97a28d;background:#f4f6ef;border:1px solid #e8ede0;border-radius:5px;padding:5px 8px;font-size:10px}.workflow-step-chip.done{color:#658652;background:#edf5e6;border-color:#dfead4}.workflow-revision{color:#a0ac94;margin-left:auto;font-size:10px}.workflow-layout-actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.workflow-layout-actions strong{color:#607f50;font-size:12px;font-weight:500}.workflow-layout-actions p{color:#9bab8c;max-width:550px;margin:6px 0 0;font-size:10px;line-height:1.8}.workflow-buttons{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:7px;display:flex}.workflow-buttons button{height:31px;padding:0 10px;font-size:10px}.workflow-input-paths{opacity:.65;grid-template-columns:1fr 1fr;gap:13px;margin-top:15px;display:grid}.workflow-input-paths.ready{opacity:1}.workflow-input-paths>div{background:#f8faf4;border:1px solid #e7edde;border-radius:6px;flex-wrap:wrap;align-items:center;gap:9px;min-width:0;padding:13px 12px;display:flex}.workflow-path-icon{color:#97aa81;background:#eef3e5;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:31px;height:31px;display:flex}.workflow-input-paths>div>div{flex:1;min-width:140px}.workflow-input-paths strong{color:#7c9669;font-size:11px;font-weight:500}.workflow-input-paths p{color:#aab79b;margin:5px 0 0;font-size:9px;line-height:1.8}.workflow-input-paths button{height:28px;padding:0 9px;font-size:9px}.workflow-input-paths .text-button{padding:0 4px}.workflow-locked{color:#b1bc9f;align-items:center;gap:5px;margin-top:12px;font-size:9px;display:flex}.workflow-server-error{color:#bc946d;background:#fff4e9;border:1px solid #f1dec9;border-radius:6px;flex-shrink:0;margin-bottom:14px;padding:12px 15px;font-size:11px;line-height:1.8}.workflow-server-error button{color:#a7835d;margin-left:12px;font-size:10px;text-decoration:underline}.workflow-empty-space{text-align:center;color:#97aa88;flex-direction:column;justify-content:center;align-items:center;gap:14px;height:100%;padding:35px;display:flex}.workflow-empty-space h2{color:#779267;margin:0;font-size:21px;font-weight:500}.workflow-empty-space p{color:#a1af94;max-width:450px;margin:0 0 5px;font-size:11px;line-height:1.9}.workflow-overlay-toggle{color:#91a480;align-items:center;gap:5px;margin-right:7px;font-size:9px;display:flex}.workflow-overlay-toggle input{accent-color:#7f9e68}.rack-level-filter{color:#93a77f;justify-content:space-between;align-items:center;margin:0 0 11px;font-size:10px;display:flex}.rack-level-filter select{color:#94a880;background:#fafcf6;border:1px solid #e0e9d4;border-radius:4px;padding:5px 7px;font-size:10px}.input-with-unit input:disabled{opacity:.75;cursor:default}.layout-confirmation{width:570px}.workflow-confirm-facts{background:#f8faf3;border:1px solid #e7eedd;border-radius:7px;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 22px;padding:15px;display:grid}.workflow-confirm-facts>div{flex-direction:column;gap:6px;display:flex}.workflow-confirm-facts dt{color:#a3b095;font-size:10px}.workflow-confirm-facts dd{color:#849c6d;margin:0;font-family:DM Sans,Pretendard,sans-serif;font-size:16px}.workflow-ack{flex-direction:column;gap:12px;margin-top:7px;padding:15px 0;display:flex}.workflow-ack label{color:#8d9f7c;align-items:flex-start;gap:8px;font-size:11px;line-height:1.8;display:flex}.workflow-ack input{accent-color:#8eaa74;flex-shrink:0;margin-top:4px}.workflow-import-modal{width:800px}.workflow-import-file{color:#98ad83;background:#f5f8ed;border:1px solid #e5edd9;border-radius:6px;align-items:center;gap:9px;margin:0 0 18px;padding:10px 12px;font-size:11px;display:flex}.workflow-import-file strong{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:400}.workflow-import-file .status{font-size:9px}.workflow-import-controls{border:0;margin:0;padding:0}.workflow-source-select{align-items:flex-end;gap:13px;margin-bottom:18px;display:flex}.workflow-source-select>label{color:#95a97f;flex-direction:column;gap:7px;min-width:0;font-size:10px;display:flex}.workflow-source-select>label:first-child{flex:1}.workflow-source-select select,.workflow-source-select input{color:#8ba274;background:#fcfef8;border:1px solid #dfe8d3;border-radius:5px;height:33px;padding:8px 9px;font-size:11px}.workflow-source-select input{width:85px}.workflow-source-select button{height:33px;font-size:10px}.workflow-policy{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:17px;display:flex}.workflow-policy label{color:#94a880;align-items:center;gap:7px;font-size:10px;line-height:1.8;display:flex}.workflow-policy input{accent-color:#8ca473}.workflow-policy select{color:#91a57c;background:#fafcf5;border:1px solid #e0e8d4;border-radius:4px;padding:5px;font-size:10px}.workflow-note{color:#b19f75;background:#fcf8eb;border:1px solid #efe7d1;border-radius:5px;margin:8px 0;padding:9px 11px;font-size:10px;line-height:1.8}.workflow-source-preview{margin-top:18px}.workflow-source-preview>strong{color:#99ad83;font-size:10px;font-weight:500}.workflow-source-preview>div{scrollbar-width:thin;border:1px solid #e7eedc;border-radius:5px;max-height:155px;margin-top:9px;overflow:auto}.workflow-source-preview th{color:#9dad8c;white-space:nowrap;background:#f7faf2;padding:8px 10px;font-size:9px;font-weight:400}.workflow-source-preview td{white-space:nowrap;color:#9eae8c;border-top:1px solid #eef2e5;padding:8px 10px;font-size:10px}.workflow-validate{color:#859f6b;background:#f9fcf4;width:100%;height:35px;margin:18px 0 2px;font-size:11px}.workflow-preview-totals{color:#8ca575;padding:10px 0 14px;font-size:11px;line-height:1.8}.workflow-errors{color:#b18d70;background:#fff6ee;border:1px solid #f0e0d3;border-radius:6px;max-height:170px;margin:12px 0;padding:11px 14px;font-size:10px;line-height:1.7;overflow:auto}.workflow-errors p{margin:5px 0}.workflow-errors small{font-size:9px}.workflow-preview-rows{scrollbar-width:thin;border:1px solid #e6edda;border-radius:6px;max-height:300px;overflow:auto}.workflow-preview-rows th{color:#9cae85;white-space:nowrap;background:#f7faf1;padding:10px 11px;font-size:9px;font-weight:400;position:sticky;top:0}.workflow-preview-rows td{color:#99ab82;vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid #edf1e4;max-width:260px;padding:10px 11px;font-size:10px}.workflow-preview-rows td strong{font-size:11px;font-weight:400}.workflow-preview-rows td small{color:#b0bea0;margin-top:5px;font-size:9px;display:block}.workflow-preview-rows select{color:#8ca174;background:#fcfef8;border:1px solid #dfe8d0;border-radius:4px;width:100%;max-width:230px;margin-top:6px;padding:5px;font-size:10px;display:block}.workflow-preview-rows>p{color:#b1bf9f;margin:10px 12px;font-size:9px}.workflow-import-modal .mapping-grid label,.workflow-import-modal .mapping-grid select{font-size:11px}.workflow-stock-table td:first-child{display:table-cell}.workflow-stock-table td strong{font-size:11px;font-weight:400;display:block}.workflow-stock-table td small{color:#adbca0;white-space:normal;margin-top:4px;font-size:9px;line-height:1.7;display:block}.workflow-stock-table td{vertical-align:top;font-size:10px!important}.workflow-stock-table td select{color:#8ba373;background:#fcfef8;border:1px solid #dfe8d0;border-radius:4px;max-width:200px;padding:5px;font-size:10px}.workflow-pagination{color:#a4b496;border-top:1px solid #edf2e3;justify-content:flex-end;align-items:center;gap:12px;padding:10px 15px;font-size:10px;display:flex}.workflow-pagination button{color:#8aa572;border:1px solid #e0e8d5;border-radius:4px;padding:5px 9px;font-size:10px}.main-workspace>.workflow-bar{order:0}.main-workspace:has(>.workflow-bar){min-height:0;overflow-y:auto}.app-shell.immersive .workflow-bar,.app-shell.immersive .workflow-server-error{display:none}@media (width<=1200px){.workflow-layout-actions{flex-direction:column;align-items:flex-start}.workflow-buttons{justify-content:flex-start}.workflow-input-paths{grid-template-columns:1fr}.workflow-input-paths>div>div{min-width:120px}.workflow-revision{width:100%;margin-left:0}}@media (width<=760px){.workflow-bar{margin-bottom:14px;padding:13px 12px}.workflow-step-chip{padding:4px 6px;font-size:9px}.workflow-status{gap:5px}.workflow-revision{margin-top:4px;font-size:8px}.workflow-layout-actions strong{font-size:11px}.workflow-layout-actions p{font-size:9px}.workflow-input-paths>div{gap:8px;padding:11px}.workflow-input-paths>div>div{flex-basis:calc(100% - 45px)}.workflow-input-paths button:nth-last-child(2){margin-left:40px}.workflow-source-select{flex-wrap:wrap;gap:10px}.workflow-source-select>label:first-child{flex-basis:calc(100% - 98px)}.workflow-source-select button{width:100%}.workflow-import-modal{padding:19px}.workflow-import-modal .mapping-grid{gap:12px}.workflow-import-modal .mapping-grid label,.workflow-import-modal .mapping-grid select{font-size:10px}.workflow-policy{gap:10px}.workflow-policy label{flex-wrap:wrap;font-size:9px}.workflow-confirm-facts{gap:12px;padding:13px}.workflow-confirm-facts dd{font-size:14px}.workflow-ack label{font-size:10px}.workflow-preview-rows td{padding:9px;font-size:9px}.workflow-preview-rows select{max-width:180px;font-size:9px}.workflow-stock-table td select{max-width:170px}.workflow-overlay-toggle{gap:1px;font-size:0}.workflow-overlay-toggle input{width:12px;height:12px}.workflow-pagination{gap:9px;font-size:9px}}:root{color:#293730;font-synthesis:none;--navy:#26392f;--blue:#2b64e8;--line:#e4e8e0;--muted:#8c958e;--green:#66836b;background:#f6f7f3;font-family:Pretendard,Apple SD Gothic Neo,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px}*{box-sizing:border-box}body{margin:0}button,a,input,select{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;transition:background .15s,color .15s;display:inline-flex}button:hover{background:#edf0e8}button:disabled{opacity:.4;cursor:not-allowed}a{color:inherit;text-decoration:none}input,select{outline:none}input:focus,select:focus{box-shadow:0 0 0 2px #2b64e812;border-color:#7e9ce7!important}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline-offset:3px;outline:2px solid #386fec}button svg{flex-shrink:0}button,a,label,[role=button]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.hidden-input{display:none}.app-shell{grid-template-rows:72px 1fr;grid-template-columns:224px minmax(540px,1fr) 280px;min-height:100vh;display:grid}.topbar{border-bottom:1px solid var(--line);z-index:10;background:#fff;grid-column:1/-1;align-items:center;gap:34px;padding:0 24px;display:flex}.brand{align-items:center;gap:10px;min-width:180px;display:flex}.brand-mark{color:#f5f6ed;background:#2f4437;border-radius:9px;justify-content:center;align-items:center;width:35px;height:35px;display:flex}.brand strong{letter-spacing:1px;font-family:DM Sans,sans-serif;font-size:15px;line-height:1.2}.brand strong span{letter-spacing:1.8px;color:#8a948b;margin-top:5px;font-family:Pretendard,sans-serif;font-size:10px;font-weight:400;display:block}.project-breadcrumb{color:#9ca49d;align-items:center;gap:11px;min-width:0;font-size:11px;display:flex}.project-breadcrumb strong{color:#4d5b51;white-space:nowrap;font-weight:500}.project-tag{letter-spacing:1px;color:#839279;border:1px solid #dfe6db;border-radius:4px;padding:3px 5px;font-family:DM Sans,sans-serif;font-size:9px;font-weight:700}.topbar-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.save-status{color:#9aa49b;white-space:nowrap;align-items:center;gap:6px;font-size:10px;display:flex}.save-status>span,.online-dot{background:#82a480;border-radius:50%;width:5px;height:5px;display:inline-block}.help-button{color:#9aa299;padding:6px}.outlined-button,.primary-button{white-space:nowrap;border-radius:6px;height:34px;padding:0 13px;font-size:11px;font-weight:500}.outlined-button{background:#fff;border:1px solid #dce2d9}.primary-button{color:#fff;background:#2b64e8;border:1px solid #2b64e8}.avatar{color:#7d8b72;background:#e9ede1;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin-left:4px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;display:flex}.export-wrap{position:relative}.export-menu{border:1px solid var(--line);z-index:20;background:#fff;border-radius:8px;min-width:200px;padding:5px;position:absolute;top:42px;right:0;box-shadow:0 8px 28px #23302e12}.export-menu button{border-radius:4px;justify-content:flex-start;width:100%;padding:10px;font-size:11px;display:flex}.sidebar{border-right:1px solid var(--line);background:#fafbf7;flex-direction:column;padding:28px 17px 14px;display:flex;position:relative}.workspace-label{letter-spacing:1.5px;color:#a1aaa0;margin-bottom:18px;padding:0 10px;font-family:DM Sans,sans-serif;font-size:9px;font-weight:600}.nav-item{color:#839080;border-radius:6px;justify-content:flex-start;gap:10px;width:100%;height:42px;margin:2px 0;padding:0 12px;font-size:12px}.nav-item.active{color:#506746;background:#e9eee2;font-weight:600}.nav-count{background:#fff9;border-radius:4px;margin-left:auto;padding:2px 5px;font-size:10px}.sidebar-divider{background:#e7eadf;height:1px;margin:25px 9px}.section-label{color:#87927e;justify-content:space-between;align-items:center;margin-bottom:17px;padding:0 10px;font-size:10px;font-weight:600;display:flex}.section-label>span{letter-spacing:1px;color:#afb6a9;font-size:8px}.workflow-step{text-align:left;border-radius:6px;justify-content:flex-start;gap:10px;width:100%;min-height:63px;padding:10px;display:flex}.step-number{color:#a3ab99;background:#f4f5f0;border:1px solid #dde3d5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:21px;height:21px;font-size:10px;display:flex}.workflow-step>span:nth-child(2){flex:1}.workflow-step strong{color:#6e7b64;font-size:11px;font-weight:500;line-height:1.6;display:block}.workflow-step small{color:#a3ad9a;font-size:9px;line-height:1.7;display:block}.step-dot{background:#d7bb75;border-radius:50%;width:5px;height:5px;margin-top:1px}.layer-toggle{color:#778271;cursor:pointer;justify-content:space-between;align-items:center;padding:10px;font-size:11px;display:flex}.layer-toggle>span:first-child{align-items:center;gap:8px;display:flex}.layer-swatch{background:#b89b72;border-radius:2px;width:9px;height:9px}.heat-swatch{background:linear-gradient(135deg,#b5cedb,#d9ab76)}.layer-toggle em{color:#a7ae9f;font-size:9px;font-style:normal}.layer-toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle-switch{background:#dce2d6;border-radius:10px;width:23px;height:13px;transition:all .2s;position:relative}.toggle-switch:after{content:"";background:#fff;border-radius:50%;width:9px;height:9px;transition:all .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0001}.layer-toggle input:checked+.toggle-switch:after{left:12px}.layer-toggle input:disabled+.toggle-switch{opacity:.5}.layer-toggle input:focus-visible+.toggle-switch{outline-offset:3px;outline:2px solid #2b64e8}.sidebar-bottom{margin-top:auto;padding-top:40px}.upload-card{cursor:pointer;background:#edf1e6;border:1px solid #e5eadb;border-radius:8px;padding:20px 15px}.upload-card-icon{color:#748867;margin-bottom:14px;display:flex}.upload-card strong{color:#637751;font-size:11px;font-weight:600}.upload-card>span:last-child{color:#708858;align-items:center;gap:8px;font-size:10px;font-weight:500;display:flex}.sample-link{color:#87947e;width:100%;margin-top:15px;padding:7px;font-size:10px}.sidebar-footer{color:#a0a995;align-items:center;gap:5px;margin:25px 7px 0;font-size:9px;display:flex}.sidebar-footer>span:last-child{margin-left:auto;font-size:8px}.main-workspace{background:#f5f6f1;min-width:0;padding:26px 26px 18px}.workspace-heading{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.eyebrow{letter-spacing:1.7px;color:#94a08e;font-family:DM Sans,sans-serif;font-size:8px;font-weight:600}.workspace-heading .eyebrow{margin-bottom:10px}.workspace-heading h1{letter-spacing:-1.2px;align-items:center;gap:12px;margin:0;font-size:25px;font-weight:600;line-height:1.2;display:flex}.workspace-heading p{color:#8d9987;letter-spacing:-.1px;margin:10px 0 0;font-size:11px}.source-badge{letter-spacing:0;color:#8da17f;background:#f7f9f2;border:1px solid #dce4d4;border-radius:4px;padding:5px 7px;font-size:8px;font-weight:400}.subtle-button{color:#82917a;gap:6px;margin-top:15px;font-size:10px}.metric-strip{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:1.1fr 1fr 1fr 1.5fr;margin-bottom:21px;padding:17px 0;display:grid}.metric-strip>div{border-right:1px solid #eef0e9;align-items:center;gap:11px;padding:0 20px;display:flex}.metric-strip>div:last-child{border:0}.metric-icon{color:#a1ad98;background:#f3f5ef;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.metric-strip>div>span:last-child{color:#96a08f;white-space:nowrap;font-size:9px}.metric-strip strong{letter-spacing:-.4px;color:#3c4c3d;margin-top:4px;font-family:DM Sans,Pretendard,sans-serif;font-size:19px;font-weight:600;line-height:1.2;display:block}.metric-strip small{color:#a1aa9b;letter-spacing:0;font-size:10px;font-weight:400}.metric-strip em{letter-spacing:0;color:#a6ae99;background:#f5f6f0;border-radius:3px;margin-left:8px;padding:3px 5px;font-family:Pretendard,sans-serif;font-size:8px;font-style:normal;font-weight:400}.viewer-section{background:#fff;border:1px solid #dfe4d8;border-radius:9px;overflow:hidden;box-shadow:0 2px 3px #3d493503}.viewer-toolbar{background:#fdfefa;border-bottom:1px solid #e5e9dc;justify-content:space-between;align-items:center;height:48px;padding:0 12px;display:flex}.view-tabs{background:#f1f3ec;border:1px solid #e6eade;border-radius:6px;gap:3px;padding:3px;display:flex}.view-tabs button{color:#a0aa96;border-radius:4px;gap:5px;height:26px;padding:0 11px;font-size:10px}.viewer-toolbar-actions{align-items:center;gap:3px;display:flex}.viewer-toolbar-actions>button{color:#a1ad95;border-radius:4px;width:28px;height:28px}.viewer-toolbar-actions .add-rack{color:#71895d;width:auto;padding:0 9px;font-size:10px}.toolbar-separator{background:#e7eadd;width:1px;height:15px;margin:0 6px}.viewer-canvas{background:#eeeee8;height:460px;position:relative;overflow:hidden}.three-mount{width:100%;height:100%;position:absolute;inset:0}.three-mount canvas{outline:none;width:100%;height:100%;display:block}.viewer-badge{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:#7e8f70;pointer-events:none;background:#fbfcf7d9;border:1px solid #e2e7d8;border-radius:5px;align-items:center;gap:7px;padding:7px 9px;font-size:9px;display:flex;position:absolute;top:18px;left:19px}.viewer-badge>span:last-child{color:#a0aa92;border-left:1px solid #dce2d0;margin-left:7px;padding-left:9px;font-size:8px}.sample-scene-note{color:#9aa38e;pointer-events:none;font-size:8px;position:absolute;top:20px;right:18px}.scene-controls{background:#fffffff2;border:1px solid #dde4d4;border-radius:6px;align-items:center;padding:4px;display:flex;position:absolute;bottom:23px;right:19px;box-shadow:0 4px 12px #43573408}.scene-controls button{color:#8a9b7d;border-radius:4px;width:28px;height:28px}.scene-controls>span{background:#e3e9dd;width:1px;height:16px;margin:0 3px}.viewer-bottom-left{pointer-events:none;align-items:center;gap:20px;display:flex;position:absolute;bottom:22px;left:19px}.compass{color:#8fa080;flex-direction:column;align-items:center;gap:2px;font-family:DM Sans,sans-serif;font-size:8px;display:flex}.compass svg{fill:#b5bea8;stroke:#8a9b7c;transform:rotate(-90deg)}.scale-bar{color:#9daa8b;letter-spacing:-1px;flex-direction:column;font-size:22px;line-height:1;display:flex}.scale-bar small{letter-spacing:0;color:#a6b199;margin-top:4px;font-size:7px}.viewer-footnote{color:#9aa68e;background:#fdfefa;border-top:1px solid #e5e9dd;justify-content:space-between;align-items:center;height:33px;padding:0 16px;font-size:8px;display:flex}.viewer-footnote>span{align-items:center;gap:6px;display:flex}.viewer-footnote button{color:#a1ad95;padding:5px 0;font-size:8px}.heat-legend{color:#738268;background:#fff9;border-radius:4px;grid-template-columns:1fr 1fr;gap:4px;min-width:120px;padding:8px;font-size:8px;display:grid;position:absolute;top:51px;right:19px}.heat-legend>span,.heat-legend>i{grid-column:1/-1}.heat-legend>i{background:linear-gradient(90deg,#a8c9db,#d7803c);border-radius:3px;height:5px}.heat-legend small:last-child{text-align:right}.heat-unit-select{color:#859575;align-items:center;gap:5px;margin-right:4px;font-size:9px;display:flex}.heat-unit-select select{color:#74856a;background:#fff;border:1px solid #dfe4d8;border-radius:4px;padding:3px;font-size:9px}.plan-svg{touch-action:none;width:100%;height:100%;padding:20px;display:block}.plan-rack{cursor:grab}.plan-rack:active{cursor:grabbing}.original-plan{background:#f8f9f4;justify-content:center;align-items:center;height:100%;padding:50px 26px 25px;display:flex;overflow:auto}.original-plan img{object-fit:contain;max-width:100%;max-height:100%;box-shadow:0 2px 12px #0001}.empty-state{color:#9aa48e;flex-direction:column;justify-content:center;align-items:center;gap:18px;font-size:12px;display:flex}.data-section{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:21px;overflow:hidden}.data-section-heading{border-bottom:1px solid #ebeee5;justify-content:space-between;align-items:center;height:48px;padding:0 14px;display:flex}.data-tabs{gap:18px;height:100%;display:flex}.data-tabs button{color:#a6af9d;height:100%;padding:0 2px;font-size:10px;position:relative}.data-tabs button.active{color:#6c815a;font-weight:500}.data-tabs button.active:after{content:"";background:#8da57a;height:2px;position:absolute;bottom:0;left:0;right:0}.data-tabs button span{color:#94a582;background:#f3f5ee;border-radius:3px;padding:2px 5px;font-family:DM Sans,sans-serif;font-size:8px}.data-actions{align-items:center;gap:13px;display:flex}.search-box{color:#a4af98;background:#f7f9f3;border:1px solid #e7ebdf;border-radius:5px;align-items:center;gap:7px;height:27px;padding:0 7px;display:flex}.search-box input{color:#6f8063;background:0 0;border:0;width:122px;min-width:0;font-size:9px}.search-box input:focus{box-shadow:none}.search-box button{padding:0}.text-button{color:#869a73;gap:5px;padding:5px 0;font-size:10px}.data-table-wrap{scrollbar-width:thin;scrollbar-color:#dbe2d2 transparent;min-height:120px;max-height:225px;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%}.data-table th{color:#a2ad95;white-space:nowrap;background:#f9faf6;padding:9px 13px;font-size:9px;font-weight:400}.data-table td{color:#96a18b;white-space:nowrap;border-top:1px solid #f0f2ea;padding:9px 13px;font-size:9px}.data-table tr{cursor:pointer}.data-table tr:hover td{background:#f5f8ef}.data-table td:first-child{align-items:center;gap:6px;display:flex}.data-table td:first-child strong{color:#65795a;font-family:DM Sans,sans-serif;font-size:10px;font-weight:500}.data-table td:first-child>span{color:#afb7a3;margin-left:5px;font-size:8px}.data-table td svg{color:#a7b59a}.monospace{letter-spacing:.3px;font-family:DM Sans,monospace;font-size:8px!important}.status{color:#9da890;white-space:nowrap;background:#f0f3ed;border-radius:4px;padding:3px 5px;font-size:8px;display:inline-flex}.status.mapped{color:#789665;background:#edf3e8}.status.ambiguous{color:#b19457;background:#fbf3df}.status.invalid{color:#c48a72;background:#fbece7}.status.unmatched{color:#a69b83;background:#f3f0e8}.status.neutral{color:#afb6a4;background:#f4f5f0}.data-footer{color:#b0b8a4;background:#fcfdf9;border-top:1px solid #eef0e7;justify-content:space-between;align-items:center;height:31px;padding:0 14px;font-size:8px;display:flex}.data-footer>span:last-child{align-items:center;gap:5px;display:flex}.inventory-empty{align-items:center;gap:16px;padding:28px 20px;display:flex}.inventory-empty-icon{color:#99ae82;background:#f3f6eb;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:45px;height:45px;display:flex}.inventory-empty strong{color:#6b8059;font-size:11px;font-weight:500}.inventory-empty p{color:#a4af97;margin:7px 0 0;font-size:9px}.inventory-empty>.outlined-button{margin-left:auto;font-size:9px}.inventory-empty>.text-button{font-size:9px}.small-empty{text-align:center;color:#98a587;padding:30px;font-size:10px}.inventory-report-bar{color:#a2ad94;border-bottom:1px solid #ebeee4;align-items:center;gap:15px;padding:11px 14px;font-size:9px;display:flex}.inventory-report-bar strong{color:#73896a;margin-left:4px}.inventory-report-bar em{color:#89a078;margin-left:auto;font-size:8px;font-style:normal}.inspector{border-left:1px solid var(--line);background:#fff;flex-direction:column;min-width:0;padding:22px 21px 18px;display:flex}.inspector-top{color:#9eaa93;border-bottom:1px solid #eef0e6;justify-content:space-between;align-items:center;padding-bottom:23px;font-size:10px;display:flex}.overview-icon{color:#9bad8b;background:#f5f8ef;border:1px solid #e6ebdf;border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:22px;display:flex}.inspector-overview>.eyebrow{color:#a8b59c;margin-bottom:11px;font-size:7px;display:block}.inspector-overview h2{letter-spacing:-.6px;color:#667c55;margin:0;font-size:19px;font-weight:500;line-height:1.55}.inspector-overview p{color:#a7b19c;margin:11px 0 0;font-size:10px;line-height:1.8}.inspector-section{border-top:1px solid #edf0e5;padding:20px 0}.inspector-section h3{color:#80936c;justify-content:space-between;align-items:center;margin:0 0 18px;font-size:10px;font-weight:500;display:flex}.inspector-section h3>span{color:#b2bba7;letter-spacing:.4px;font-family:DM Sans,sans-serif;font-size:8px;font-weight:400}.project-details{margin:0}.project-details>div{justify-content:space-between;margin-bottom:15px;font-size:9px;display:flex}.project-details>div:last-child{margin:0}.project-details dd{color:#879d75;text-align:right;margin:0;font-size:9px}.zone-list>div{color:#a2af95;align-items:center;gap:8px;margin-bottom:16px;font-size:9px;display:flex}.zone-list>div:last-child{margin:0}.zone-list i{border-radius:2px;width:8px;height:8px;display:block}.zone-list em{color:#bbc3b3;font-family:DM Sans,sans-serif;font-size:8px;font-style:normal}.review-note>svg{margin-bottom:11px;display:block}.review-note strong{color:#84986d;font-size:10px;font-weight:500;display:block}.review-note button{color:#92a47b;gap:7px;padding:0;font-size:9px}.inspector-bottom{color:#bec7b2;align-items:center;gap:7px;margin-top:auto;padding-top:35px;font-size:8px;display:flex}.inspector-heading{align-items:center;gap:11px;margin-top:24px;display:flex}.rack-icon{color:#92a77a;background:#f1f5e9;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.inspector-heading .eyebrow{letter-spacing:1px;color:#a4b093;font-size:6px}.inspector-heading h2{color:#687e59;align-items:center;gap:9px;margin:6px 0 0;font-family:DM Sans,sans-serif;font-size:22px;font-weight:500;display:flex}.inspector-heading h2 svg{color:#acb9a0;width:12px}.small-tag{white-space:nowrap;color:#9aac87;border:1px solid #e4eadb;border-radius:4px;align-self:flex-start;margin-top:4px;margin-left:auto;padding:4px 5px;font-size:7px}.selection-id{color:#9cac8c;justify-content:space-between;padding:14px 0 23px;font-family:DM Sans,sans-serif;font-size:9px;display:flex}.selection-id span{color:#bcc5af;font-family:Pretendard,sans-serif;font-size:8px}.inspector-section label{color:#a3af96;margin-bottom:13px;font-size:9px;display:block}.inspector-section label:last-child{margin-bottom:0}.input-with-unit{background:#fbfcf7;border:1px solid #e6ecdc;border-radius:5px;align-items:center;height:31px;margin-top:6px;display:flex;overflow:hidden}.input-with-unit input{color:#71875f;background:0 0;border:0;width:100%;min-width:0;padding:8px;font-size:10px}.input-with-unit em{color:#b2bea4;padding-right:8px;font-size:9px;font-style:normal}.inspector-section label select{color:#8da17b;background:#fbfcf7;border:1px solid #e6ecdc;border-radius:5px;width:100%;height:31px;margin-top:6px;padding:0 8px;font-size:9px;display:block}.field-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.field-grid label{margin:0}.inventory-amount{color:#7c926b;font-family:DM Sans,Pretendard,sans-serif;font-size:22px;line-height:1.6}.inventory-amount span{color:#b2bea5;font-family:Pretendard,sans-serif;font-size:9px;display:block}.confidence-note{background:#fbfaf3;border:1px solid #eeeada;border-radius:6px;padding:13px 12px}.confidence-note p{color:#b1ae94;margin:8px 0 0;font-size:9px;line-height:1.8}.delete-button{color:#c1a492;border:1px solid #eee5dc;border-radius:5px;width:100%;height:33px;margin-top:20px;font-size:10px}.delete-button:hover{background:#fff5ef}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#21302668;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:15px;width:520px;max-width:100%;max-height:calc(100vh - 48px);padding:27px;overflow:auto;box-shadow:0 25px 100px #11231b30}.modal-heading{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.modal-icon{color:#839b6e;background:#eef3e7;border-radius:11px;justify-content:center;align-items:center;width:45px;height:45px;display:flex}.icon-button{color:#a0ad94;border-radius:5px;width:30px;height:30px}.modal .eyebrow{color:#a1b18e;margin-bottom:10px;font-size:8px;display:block}.modal h2{letter-spacing:-1px;color:#516b44;margin:0 0 7px;font-size:25px;font-weight:500;line-height:1.4}.modal-intro{color:#a1af95;margin:0 0 24px;font-size:11px;line-height:1.8}.dropzone{cursor:pointer;color:#9aae88;background:#f8faf4;border:1px dashed #cddabd;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:13px;height:185px;display:flex}.dropzone:hover{background:#f2f7e9}.dropzone strong{font-size:12px;font-weight:500}.dropzone>span{color:#afbc9f;font-size:10px}.dropzone.has-preview{gap:8px;height:210px;padding:13px}.dropzone img{object-fit:contain;width:100%;height:155px}.dropzone.has-preview>span{text-align:center;width:100%;font-size:9px}.dropzone.has-preview small{color:#b1bda2;margin-left:12px;font-size:8px}.gateway-note{border-bottom:1px solid #eaf0e3;gap:9px;margin-top:7px;padding:14px 0;display:flex}.gateway-note>.online-dot{background:#c7b272;flex-shrink:0;margin-top:6px}.gateway-note.configured>.online-dot{background:#8eac7b}.gateway-note strong{color:#93a47c;font-size:10px;font-weight:500}.gateway-note p{color:#b0bca2;margin:5px 0 0;font-size:9px;line-height:1.8}.form-error{color:#bf8066;background:#fff4ec;border-radius:5px;margin:9px 0;padding:9px 11px;font-size:10px;line-height:1.8}.manual-size{color:#a3b090;align-items:center;gap:9px;margin-top:17px;font-size:10px;display:flex}.manual-size>span:first-child{margin-right:auto}.manual-size label{color:#b2bea2;border:1px solid #e4ead9;border-radius:4px;align-items:center;height:29px;padding:0 7px;font-size:9px;display:flex}.manual-size input{color:#81996a;background:0 0;border:0;width:55px;padding:4px 0;font-size:11px}.upload-modal-actions{justify-content:flex-end;align-items:center;gap:9px;margin-top:22px;display:flex}.upload-modal-actions .text-button{margin-right:auto}.modal-fineprint{color:#bdc6b2;text-align:center;margin:18px 0 0;font-size:8px;line-height:1.7}.modal-footer{border-top:1px solid #edf1e5;justify-content:space-between;align-items:center;gap:12px;margin-top:23px;padding-top:19px;display:flex}.modal-footer>span{color:#acb99d;font-size:9px;line-height:1.8}.scale-preview{object-fit:contain;background:#fafbf7;border:1px solid #eef1e6;border-radius:6px;width:100%;height:185px;padding:8px}.scale-fields{grid-template-columns:1fr 1fr;gap:15px;margin:22px 0;display:grid}.scale-fields label{color:#9daf88;font-size:10px}.scale-fields label span{color:#b2c09f;border:1px solid #dce7cf;border-radius:6px;align-items:center;margin-top:7px;padding-right:12px;font-size:10px;display:flex}.scale-fields input{color:#7f9969;background:0 0;border:0;width:100%;height:42px;padding:0 12px;font-family:DM Sans,sans-serif;font-size:18px}.info-note{color:#9fad8a;background:#f6f8ee;border:1px solid #e8efdc;border-radius:6px;padding:12px 14px;font-size:10px;line-height:1.8}.help-steps>div{margin-bottom:23px;padding-left:39px;position:relative}.help-steps>div>span{color:#9db183;background:#f1f6e8;border-radius:5px;padding:5px;font-family:DM Sans,sans-serif;font-size:11px;position:absolute;top:2px;left:0}.help-steps strong{color:#879f6f;font-size:12px;font-weight:500}.help-steps p{color:#acba98;margin:7px 0 0;font-size:10px;line-height:1.8}.toast{color:#ecf3e5;z-index:200;background:#354b3d;border-radius:8px;align-items:center;gap:9px;max-width:calc(100vw - 40px);padding:13px 17px;font-size:11px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 35px #1e372b30}.toast>svg{color:#a7c890;flex-shrink:0}.toast button{color:#adc1a5;margin-left:12px;padding:0}.toast button:hover{background:0 0}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.import-modal{width:650px}.import-file{color:#97a983;background:#f5f8ef;border:1px solid #e5edda;border-radius:6px;align-items:center;gap:8px;margin-bottom:19px;padding:10px 12px;font-size:10px;display:flex}.import-file>span{word-break:break-all;flex:1}.import-file label{white-space:nowrap;align-items:center;gap:6px;font-size:9px;display:flex}.import-file select{color:#92a67d;background:#fff;border:1px solid #dae5cc;border-radius:4px;max-width:200px;padding:6px;font-size:10px}.mapping-grid{grid-template-columns:1fr 1fr 1fr;gap:13px 15px;margin-bottom:18px;display:grid}.mapping-grid label{color:#9daf87;font-size:10px}.mapping-grid select{color:#8a9f73;background:#fdfefa;border:1px solid #e0e9d5;border-radius:5px;width:100%;margin-top:7px;padding:8px;font-size:10px}.required{color:#c5a06f}.join-summary{grid-template-columns:1fr 1fr 1fr 1fr;gap:10px;padding:18px 0;display:grid}.join-summary>div{text-align:center;background:#f7f9f3;border:1px solid #eaf0e1;border-radius:6px;padding:13px}.join-summary strong{color:#8ba471;font-family:DM Sans,sans-serif;font-size:24px;font-weight:500;line-height:1.4;display:block}.join-summary span{color:#a7b696;justify-content:center;align-items:center;gap:3px;font-size:9px;display:flex}.import-preview{border:1px solid #e7eedc;border-radius:6px;overflow:auto}.import-preview th{color:#a2b18c;white-space:nowrap;background:#f7f9f2;padding:10px 12px;font-size:9px;font-weight:400}.import-preview td{color:#9dab8a;border-top:1px solid #eff3e8;padding:9px 12px;font-size:10px}.import-preview td small{color:#c0caaf;margin-top:3px;font-family:DM Sans,sans-serif;font-size:8px;display:block}.import-preview>p{color:#bec9ad;padding:0 12px;font-size:8px}.import-modal .modal-footer>span{font-size:9px}@media (width>=1600px){.app-shell{grid-template-columns:238px minmax(650px,1fr) 300px}.main-workspace{padding:32px 34px 24px}.viewer-canvas{height:510px}.inspector{padding:24px 25px}.metric-strip{padding:20px 0}.data-table-wrap{max-height:255px}}@media (width<=1280px){.app-shell{grid-template-columns:196px minmax(480px,1fr) 244px}.sidebar{padding-left:12px;padding-right:12px}.topbar{gap:20px;padding:0 18px}.brand{min-width:160px}.project-breadcrumb>span:first-child{display:none}.main-workspace{padding:22px 20px}.inspector{padding:21px 17px}.metric-strip>div{gap:8px;padding:0 13px}.metric-strip em{display:none}.metric-icon{width:27px;height:27px}.save-status{display:none}.viewer-canvas{height:420px}.data-table th,.data-table td{padding:9px 10px}.data-table td:first-child>span{display:none}.inventory-empty{flex-wrap:wrap}.inventory-empty>.outlined-button{margin-left:60px}.workspace-heading h1{font-size:22px}}@media (width<=1080px){.app-shell{grid-template-rows:64px 1fr;grid-template-columns:174px minmax(470px,1fr)}.inspector{display:none}.topbar{height:64px}.brand{min-width:140px}.brand strong{font-size:12px}.brand-mark{width:30px;height:30px}.brand strong span{font-size:8px}.sidebar{padding-top:25px}.project-breadcrumb strong{text-overflow:ellipsis;max-width:200px;overflow:hidden}.project-breadcrumb .project-tag{display:none}.topbar-actions{gap:8px}.avatar{display:none}.workflow-step{padding:10px 4px}.workspace-label{padding-left:5px;font-size:8px}.nav-item{padding-left:8px;font-size:11px}.sidebar-divider{margin:20px 6px}.upload-card{padding:17px 13px}.viewer-canvas{height:445px}.data-table td:first-child>span{display:none}.main-workspace{padding:24px}.metric-strip>div{padding:0 13px}.metric-strip strong{font-size:18px}.sidebar-bottom{padding-top:25px}}@media (width<=760px){.app-shell{flex-direction:column;display:flex}.topbar{flex-shrink:0;gap:10px;height:60px;padding:0 15px;position:sticky;top:0}.brand{min-width:0}.brand strong span{display:none}.brand strong{letter-spacing:.6px;font-size:11px}.brand-mark{width:28px;height:28px}.brand-mark svg{width:17px}.project-breadcrumb{display:none}.topbar-actions{gap:6px}.topbar-actions .outlined-button{padding:0 8px;font-size:10px}.topbar-actions .primary-button{padding:0 10px;font-size:10px}.topbar-actions .help-button,.sidebar{display:none}.main-workspace{padding:24px 14px 20px}.workspace-heading{margin-bottom:20px}.workspace-heading h1{gap:8px;font-size:23px}.workspace-heading .eyebrow{font-size:7px}.source-badge{padding:4px;font-size:7px}.workspace-heading p{font-size:10px}.subtle-button{font-size:9px}.metric-strip{grid-template-columns:1fr 1fr;margin-bottom:17px;padding:0}.metric-strip>div{min-height:69px;padding:13px 17px}.metric-strip>div:nth-child(2){border:0}.metric-strip>div:nth-child(n+3){border-top:1px solid #edf0e6}.metric-strip strong{font-size:19px}.metric-icon{width:32px;height:32px}.viewer-toolbar{height:45px;padding:0 8px}.view-tabs button{padding:0 8px;font-size:9px}.view-tabs svg{width:12px}.viewer-toolbar-actions>button{width:23px}.viewer-toolbar-actions .add-rack{padding:0 6px;font-size:9px}.viewer-toolbar-actions .toolbar-separator{display:none}.viewer-canvas{height:380px}.viewer-badge{padding:6px 7px;font-size:8px;top:12px;left:12px}.viewer-badge>span:last-child{font-size:7px}.sample-scene-note{font-size:7px;top:43px;left:12px}.viewer-footnote{padding:0 9px;font-size:7px}.viewer-footnote>span svg{display:none}.viewer-footnote button{font-size:7px}.viewer-bottom-left{gap:13px;bottom:16px;left:13px}.scene-controls{bottom:17px;right:12px}.data-section{margin-top:17px}.data-section-heading{flex-wrap:wrap;gap:7px;height:auto;min-height:48px;padding:0 12px}.data-tabs{gap:14px;height:44px}.data-actions{justify-content:space-between;width:100%;padding-bottom:10px}.search-box{flex:1;height:29px;margin-right:16px}.search-box input{width:100%}.data-table-wrap{max-height:240px}.data-table th,.data-table td{padding:9px 12px}.data-table td{font-size:9px}.data-footer{padding:0 10px;font-size:7px}.data-footer>span:last-child{display:none}.inventory-report-bar{flex-wrap:wrap;gap:9px;font-size:8px}.inventory-report-bar em{flex-basis:100%;margin-left:0}.inventory-empty{gap:11px;padding:20px 14px}.inventory-empty strong{font-size:10px}.inventory-empty p{max-width:230px;font-size:8px;line-height:1.7}.inventory-empty>.outlined-button{margin-left:55px;font-size:9px}.inventory-empty>.text-button{font-size:9px}.inventory-empty-icon{width:42px;height:42px}.modal-backdrop{padding:16px}.modal{width:100%;max-height:calc(100vh - 32px);padding:22px}.modal h2{font-size:22px}.modal-intro{font-size:10px}.mapping-grid{grid-template-columns:1fr 1fr;gap:12px}.import-file{flex-wrap:wrap}.import-file label{justify-content:space-between;width:100%;margin-top:5px}.import-file select{flex:1;max-width:85%}.modal-footer{align-items:flex-end}.modal-footer>span{max-width:58%;font-size:8px}.upload-modal-actions{gap:7px}.upload-modal-actions .primary-button,.upload-modal-actions .outlined-button{padding:0 9px;font-size:10px}.upload-modal-actions .text-button{font-size:9px}.toast{width:max-content;padding:12px 14px;font-size:10px;bottom:14px}.heat-unit-select{font-size:0}.heat-unit-select select{padding:2px;font-size:8px}.join-summary{gap:6px}.join-summary>div{padding:9px}.join-summary strong{font-size:21px}.import-preview td,.import-preview th{padding:9px 8px;font-size:9px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation-duration:.01ms!important}}@media (width<=1080px){.inspector.has-selection{border:1px solid var(--line);border-radius:8px;grid-area:3/2;margin:0 24px 24px;padding:22px 24px;display:flex}.inspector.has-selection .inspector-bottom{display:none}.inspector.has-selection .inspector-top{padding-bottom:15px}.inspector.has-selection .field-grid{grid-template-columns:repeat(3,1fr)}.inspector.has-selection .inspector-section{padding:17px 0}.inspector.has-selection .confidence-note{margin-top:10px}}@media (width<=760px){.inspector.has-selection{margin:0 14px 24px;padding:20px;display:flex}.inspector.has-selection .field-grid{grid-template-columns:1fr 1fr}}.operations-panel{padding:18px 16px 20px}.ops-heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.ops-heading>div{color:#7d956a;align-items:center;gap:7px;font-size:11px;display:flex}.ops-heading strong{font-weight:500}.ops-heading>div>span:not(.simulation-tag){color:#acb99b;margin-left:6px;font-size:8px}.ops-heading>label{color:#a1b18e;align-items:center;gap:8px;font-size:9px;display:flex}.ops-heading select{color:#8ca378;background:#fafcf6;border:1px solid #e0e9d4;border-radius:4px;padding:5px 7px;font-size:9px}.diagnostic-summary{color:#a5b596;align-items:center;gap:11px;margin-top:15px;font-size:9px;display:flex}.diagnostic-summary>span{background:#f4f7ee;border-radius:4px;align-items:center;gap:5px;padding:5px 7px;display:flex}.diagnostic-summary>.error{color:#c08f72;background:#fff1e9}.diagnostic-summary>.warning{color:#b6a268;background:#fbf5e4}.diagnostic-summary>.okay{color:#91a87b}.diagnostic-summary>em{color:#bbc5ad;margin-left:auto;font-size:8px;font-style:normal}.diagnostic-list{scrollbar-width:thin;background:#fbfcf8;border:1px solid #edf1e5;border-radius:5px;max-height:130px;margin-top:12px;overflow:auto}.diagnostic-list>button{text-align:left;border-bottom:1px solid #edf1e5;justify-content:flex-start;gap:8px;width:100%;padding:8px 10px;display:flex}.diagnostic-list>button:last-child{border:0}.diagnostic-list strong{color:#9aab87;min-width:120px;font-family:DM Sans,sans-serif;font-size:8px;font-weight:400}.diagnostic-list button>span:last-child{color:#acb89b;font-size:8px;line-height:1.7}.diagnostic-dot{background:#adbb94;border-radius:50%;flex-shrink:0;width:5px;height:5px}.diagnostic-dot.error{background:#cea28a}.diagnostic-dot.warning{background:#d0bc7a}.diagnostic-list>small{color:#c0caae;padding:8px 10px;font-size:8px;display:block}.diagnostic-clean{color:#a1b78e;background:#f9fcf5;border:1px solid #e9f0dc;border-radius:5px;align-items:center;gap:6px;margin-top:10px;padding:10px;font-size:9px;display:flex}.simulation-heading{border-top:1px solid #edf2e4;margin-top:18px;padding-top:18px}.simulation-tag{color:#98ac86;border:1px solid #dfe9d1;border-radius:3px;margin-left:4px;padding:3px 5px;font-size:7px;font-weight:400}.simulation-disclaimer{color:#b9c5a8;font-size:8px}.simulation-config{gap:12px;margin:17px 0;display:flex}.simulation-config label{color:#9caf86;align-items:center;gap:9px;font-size:9px;display:flex}.simulation-config label:first-child{flex:1}.simulation-config label:first-child select{flex:1;width:100%;min-width:0}.simulation-config select{color:#96a981;background:#fbfdf7;border:1px solid #dfe9d1;border-radius:5px;max-width:100%;padding:7px 8px;font-size:9px}.simulation-stages{justify-content:space-between;padding:10px 7px 12px;display:flex;position:relative}.simulation-stages:before{content:"";background:#e4ecd8;height:1px;position:absolute;top:20px;left:28px;right:28px}.simulation-stages>div{z-index:1;flex-direction:column;align-items:center;gap:6px;display:flex}.simulation-stages>div>span{color:#b9c7a8;background:#f9fcf4;border:1px solid #e2ebd5;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-family:DM Sans,sans-serif;font-size:8px;display:flex}.simulation-stages>div>strong{color:#b8c5a5;font-size:8px;font-weight:400}.simulation-stages>.done>span{color:#9bb881;background:#edf6df;border-color:#dcebc9}.simulation-stages>.current>span{color:#fff;background:#7d9b65;border-color:#7d9b65;box-shadow:0 0 0 3px #edf3e5}.simulation-stages>.current>strong{color:#8da776}.simulation-status{background:#f7faf0;border:1px solid #e7efd9;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-top:5px;padding:13px 12px;display:flex}.simulation-status>div:first-child{flex-wrap:wrap;align-items:center;gap:6px 9px;display:flex}.simulation-status strong{color:#9aad86;font-size:9px;font-weight:400}.simulation-status>div:first-child>span:last-child{color:#b2c09d;flex-basis:100%;margin-top:3px;font-size:8px}.simulation-status>div:last-child{align-items:center;gap:6px;display:flex}.simulation-status button{height:28px;padding:0 9px;font-size:9px}.simulation-progress{background:#eff4e7;border-radius:3px;height:3px;margin:11px 0 3px;overflow:hidden}.simulation-progress>span{background:#a2b98c;height:100%;transition:width .15s;display:block}.simulation-events{flex-wrap:wrap;gap:7px 15px;margin-top:12px;display:flex}.simulation-events>span{color:#acbc94;align-items:center;gap:4px;font-size:8px;display:flex}.simulation-events em{color:#c1cdae;font-size:7px;font-style:normal}.route-assumptions{color:#b1c19d;margin-top:16px;font-size:8px}.route-assumptions summary{cursor:pointer;color:#a5b88e}.route-assumptions p{color:#becbae;max-width:750px;margin:7px 0 0;font-size:8px;line-height:1.8}.simulation-empty{color:#aec49a;align-items:center;gap:11px;padding:22px 0 5px;display:flex}.simulation-empty>div{flex:1}.simulation-empty strong{font-size:10px;font-weight:400}.simulation-empty p{color:#bccaaa;margin:6px 0 0;font-size:8px;line-height:1.7}.simulation-empty button{font-size:9px}.operations-panel+.data-footer{border-top:1px solid #edf1e5}@media (width<=1280px){.data-section-heading{flex-wrap:wrap;height:auto;min-height:48px}.data-tabs{height:48px}.data-actions{padding-bottom:8px}.diagnostic-summary>em{display:none}.simulation-disclaimer{font-size:7px}.simulation-config{flex-wrap:wrap}.simulation-config label:first-child{flex-basis:100%}.diagnostic-list strong{min-width:95px}.data-tabs{gap:13px}}@media (width<=760px){.operations-panel{padding:15px 12px}.ops-heading{flex-wrap:wrap;gap:7px}.ops-heading>div>span:not(.simulation-tag){display:none}.ops-heading>div{font-size:10px}.ops-heading label{font-size:8px}.simulation-disclaimer{font-size:7px}.diagnostic-list strong{display:none}.simulation-config label:first-child{gap:6px;font-size:8px}.simulation-config select{font-size:8px}.simulation-config label:first-child select{max-width:calc(100% - 48px)}.simulation-status{padding:12px 9px}.simulation-status strong{font-size:8px}.simulation-status>div:first-child{flex:1}.simulation-status>div:last-child{flex-direction:column-reverse;align-items:stretch}.simulation-empty{flex-wrap:wrap}.simulation-empty>.outlined-button{margin-left:33px}.simulation-empty>div{min-width:230px}.data-actions{padding-top:0}.data-tabs{gap:14px}.data-tabs button{font-size:9px}}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rack-contents h3{margin-bottom:13px}.rack-inventory-total{flex-direction:column;gap:5px;margin-bottom:14px;display:flex}.rack-inventory-total strong{color:#668454;overflow-wrap:anywhere;font-family:DM Sans,Pretendard,sans-serif;font-size:18px;font-weight:500;line-height:1.45}.rack-inventory-total>span{color:#a7b397;font-size:8px}.rack-items-scroll{scrollbar-width:thin;scrollbar-color:#d3dec6 transparent;border:1px solid #e5ecda;border-radius:6px;max-height:215px;overflow:auto}.rack-items-scroll:focus-visible{outline-offset:2px;outline:2px solid #386fec}.rack-items-table{table-layout:fixed}.rack-items-table th{z-index:1;color:#98ad82;background:#f6f9ef;border-bottom:1px solid #e5ecda;padding:8px 9px;font-size:8px;font-weight:400;position:sticky;top:0}.rack-items-table th:last-child{text-align:right;width:66px}.rack-items-table td{vertical-align:top;border-bottom:1px solid #edf1e5;padding:10px 9px}.rack-items-table tr:last-child td{border:0}.rack-items-table td:first-child strong{color:#718963;overflow-wrap:anywhere;font-size:10px;font-weight:500;line-height:1.6;display:block}.rack-items-table td small{color:#a5b595;overflow-wrap:anywhere;margin-top:4px;font-family:DM Sans,Pretendard,sans-serif;font-size:8px;display:block}.rack-items-table td:last-child{text-align:right;color:#718d5e;overflow-wrap:anywhere;font-family:DM Sans,Pretendard,sans-serif;font-size:11px}.rack-contents-note{color:#b0bda0;margin:9px 0 0;font-size:8px;line-height:1.8}.rack-contents-empty{background:#fafcf5;border:1px dashed #dfe8d2;border-radius:6px;padding:13px 12px}.rack-contents-empty p{color:#9eaf8b;margin:0 0 10px;font-size:9px;line-height:1.9}.rack-contents-empty .outlined-button{color:#8ca375;height:28px;font-size:9px}.auth-overlay{z-index:300;background:linear-gradient(160deg,#f6f7f3 0%,#e9eee2 100%);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow:auto}.auth-card{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:16px;width:400px;max-width:100%;padding:30px;display:flex;box-shadow:0 25px 80px #1c2b1f14}.auth-brand{align-items:center;gap:11px;display:flex}.auth-brand strong{letter-spacing:1px;color:#2f4437;font-family:DM Sans,sans-serif;font-size:17px;display:block}.auth-brand>div>span{letter-spacing:1.8px;color:#8a948b;margin-top:3px;font-family:DM Sans,sans-serif;font-size:9px;display:block}.auth-tabs{background:#f1f3ec;border:1px solid #e6eade;border-radius:8px;gap:4px;padding:4px;display:flex}.auth-tabs button{color:#a0aa96;border-radius:6px;flex:1;height:34px;font-size:11px}.auth-tabs button.active{color:#5d7450;background:#fff;font-weight:500;box-shadow:0 1px 4px #37462c0b}.auth-fields{flex-direction:column;gap:13px;display:flex}.auth-fields label{color:#87947e;flex-direction:column;gap:6px;font-size:10px;font-weight:500;display:flex}.auth-fields label small{color:#b3bca9;margin-left:4px;font-weight:400}.auth-fields input{color:#4d5b51;background:#fbfcf8;border:1px solid #e0e7d5;border-radius:7px;height:38px;padding:0 11px;font-size:12px}.auth-submit{width:100%;height:40px;font-size:12px}.auth-note{color:#96a28b;background:#f6f8ef;border:1px solid #e8efdc;border-radius:6px;align-items:flex-start;gap:8px;padding:10px 11px;font-size:9px;line-height:1.7;display:flex}.auth-note.warn{color:#a58f5b;background:#faf5ea;border-color:#eee2c8}.auth-note svg{flex-shrink:0;margin-top:1px}.auth-local{align-self:center;font-size:10px}.save-status.sync-error>span{background:#c98570}button.avatar{cursor:pointer}button.avatar:hover{background:#dfe7d2}.logout-button{color:#8d9a80}.conflict-banner{z-index:250;background:#fff8ec;border:1px solid #ecd9ae;border-radius:9px;flex-direction:column;gap:9px;max-width:min(560px,100vw - 28px);padding:13px 15px;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #4a3a1208}.conflict-banner strong{color:#8a6f35;font-size:11px;font-weight:500;line-height:1.7}.conflict-banner>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.conflict-banner .outlined-button{height:29px;padding:0 10px;font-size:10px}@media (width<=760px){.auth-card{gap:13px;padding:22px}.auth-fields input{height:35px}.conflict-banner{padding:11px 12px;top:8px}.conflict-banner>div{gap:6px}.topbar-actions .icon-button{width:26px;height:26px}}.user-button{color:#7d8b72;background:#e9ede1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;display:flex}.user-button:hover{background:#dfe7d2}.settings-modal{width:640px}.settings-section{background:#fcfdf9;border:1px solid #eaf0e3;border-radius:8px;margin-bottom:13px;padding:16px}.settings-section h3{color:#6e8062;align-items:center;gap:7px;margin:0 0 14px;font-size:11px;font-weight:600;display:flex}.settings-chip{color:#a58f5b;background:#f4f0e4;border-radius:4px;align-items:center;margin-left:auto;padding:3px 7px;font-size:9px;font-weight:500;display:inline-flex}.settings-chip.ok{color:#789665;background:#edf3e8}.settings-field{color:#87947e;flex-direction:column;gap:7px;font-size:10px;font-weight:500;display:flex}.settings-field>span{align-items:center;gap:8px;display:flex}.settings-field input{color:#4d5b51;background:#fff;border:1px solid #e0e7d5;border-radius:6px;flex:1;min-width:0;height:36px;padding:0 10px;font-size:11px}.settings-field .outlined-button{flex-shrink:0;height:33px;padding:0 11px;font-size:10px}.settings-facts{gap:26px;margin:13px 0 0;display:flex}.settings-facts>div{gap:8px;font-size:9px;display:flex}.settings-facts dt{color:#a7b19c}.settings-facts dd{color:#7d8b72;margin:0}.settings-users{border-top:1px solid #eef1e6;margin:12px 0 0;padding:0;list-style:none}.settings-users li{color:#87947e;border-bottom:1px solid #eef1e6;align-items:center;gap:10px;padding:7px 0;font-size:9px;display:flex}.settings-users li span{color:#5d7450;font-weight:500}.settings-users li em{color:#96a28b;text-overflow:ellipsis;white-space:nowrap;flex:1;font-style:normal;overflow:hidden}.settings-users li small{color:#94a582;background:#f3f5ee;border-radius:3px;padding:2px 5px}.settings-sheet-link{color:#5d7450;align-items:center;gap:6px;margin-bottom:11px;font-size:10px;display:inline-flex}.settings-share-hint{color:#8b9880;background:#f6f8ef;border:1px solid #e8efdc;border-radius:6px;margin-bottom:12px;padding:9px 11px;font-size:9px;line-height:1.8}.settings-share-hint code{color:#4d5b51;-webkit-user-select:all;user-select:all;word-break:break-all;background:#fff;border:1px solid #e0e7d5;border-radius:4px;margin-top:6px;padding:5px 7px;font-family:DM Sans,monospace;font-size:9px;display:block}.settings-row{flex-wrap:wrap;align-items:center;gap:9px;margin-top:11px;display:flex}.settings-row small{color:#b0bca2;font-size:8px}.settings-row .text-button{font-size:10px}.text-button.danger{color:#c08a72}.settings-note{color:#a7b19c;margin:8px 0 0;font-size:9px}.settings-plan{gap:14px;display:flex}.settings-plan img{object-fit:contain;cursor:pointer;background:#fff;border:1px solid #e0e7d5;border-radius:6px;flex-shrink:0;width:170px;height:120px;padding:6px}.settings-plan-empty{color:#9aae88;background:#f8faf4;border:1px dashed #cddabd;border-radius:6px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:6px;width:170px;height:120px;display:flex}.settings-plan-empty strong{font-size:10px}.settings-plan-empty span{color:#afbc9f;font-size:8px}.settings-plan-side{flex-direction:column;flex:1;gap:7px;min-width:0;display:flex}.settings-plan-side>strong{color:#5d7450;word-break:break-all;font-size:10px;font-weight:500}.settings-plan-side p{color:#96a28b;margin:0;font-size:9px;line-height:1.7}.settings-plan-note{color:#b0bca2;margin-top:9px;font-size:8px;display:block}.settings-flash{align-items:center;gap:7px;margin:0 0 12px;display:flex}@media (width<=760px){.settings-modal{padding:18px}.settings-plan{flex-direction:column}.settings-plan img,.settings-plan-empty{width:100%;height:130px}.settings-field>span{flex-wrap:wrap}.settings-field input{min-width:0}}:root{--ink:#253c35;--muted:#718078;--line:#e1e7e0;--green:#247657;--blue:#247657;color:var(--ink);background:#f4f6f1;font-size:13px}body{overflow:hidden}button,input,select{font-family:inherit}button{transition:background .18s,color .18s,box-shadow .18s}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:2px solid #2f966f}input:focus,select:focus{border-color:#6aa486!important;box-shadow:0 0 0 3px #3b956514!important}.app-shell{grid-template-rows:68px minmax(0,1fr);grid-template-columns:208px minmax(400px,1fr) 282px;height:100dvh;min-height:600px}.topbar{border-bottom:1px solid var(--line);background:#fff;gap:30px;padding:0 24px}.brand{gap:10px;min-width:160px}.brand-mark{color:#dcebc9;background:#244c3e;border-radius:11px;width:36px;height:36px}.brand strong{letter-spacing:-1.6px;font-size:28px;font-weight:600;line-height:.95}.brand strong span{letter-spacing:1.1px;color:#748276;margin-top:6px;font-family:DM Sans,sans-serif;font-size:7px;font-weight:500}.project-breadcrumb{color:#8a948d;gap:12px;font-size:11px}.project-breadcrumb strong{color:#4d6257;font-weight:500}.project-tag{color:#567768;letter-spacing:.8px;background:#f6f9f4;border-color:#d6e3d9;padding:5px 7px;font-size:8px}.topbar-actions{gap:12px}.save-status{color:#6c8374;font-size:10px}.save-status>span{background:#548d69;width:6px;height:6px}.avatar{color:#667850;background:#f0f2e7;border:1px solid #e3e7db;width:32px;height:32px}.primary-button{background:#285e48;border-color:#285e48;height:36px;font-size:12px}.primary-button:hover{background:#1a4835}.outlined-button{color:#4a6053;border-color:#dce4db;height:36px;font-size:12px}.help-button{color:#7e8c82}.export-menu button{padding:12px;font-size:12px}.sidebar{scrollbar-width:none;color:#c3d2c6;background:#233e33;border:0;padding:28px 14px 18px;overflow:auto}.workspace-label{letter-spacing:1.8px;color:#849f8d;margin-bottom:15px;font-size:9px}.nav-item{color:#afc3b4;border-radius:7px;gap:11px;height:44px;padding:0 12px;font-size:12px}.nav-item:hover{color:#e8f0e5;background:#ffffff0a}.nav-item.active{color:#294737;background:#c9dfaa;font-weight:600;box-shadow:0 3px 12px #142b2920}.nav-count{color:inherit;background:#ffffff12;padding:3px 5px;font-size:9px}.active .nav-count{background:#ffffff40}.sidebar-divider{background:#ffffff12;margin:24px 10px}.section-label{color:#8ca694;letter-spacing:.3px;margin-bottom:12px;font-size:10px}.section-label>span{color:#6f8b79;font-size:8px}.workflow-step{gap:10px;min-height:60px;padding:8px 10px}.workflow-step:hover{background:#ffffff08}.workflow-step strong{color:#c2d2c4;font-size:11px}.workflow-step small{color:#819e8c;font-size:9px}.step-number{color:#849c8b;background:0 0;border-color:#56705e;width:21px;height:21px}.workflow-step.completed .step-number{color:#d1e3b7;background:#c6dca72b;border-color:#b8d2982b}.workflow-step>svg{color:#76927f}.step-dot{background:#cead69}.layer-toggle{color:#b1c6b7;gap:7px;padding:10px;font-size:11px}.layer-toggle em{color:#7c9c89;font-size:9px}.toggle-switch{background:#566f5f;width:26px;height:15px}.toggle-switch:after{background:#dce8d6;width:11px;height:11px}.layer-toggle input:checked+.toggle-switch{background:#a4c387}.layer-toggle input:checked+.toggle-switch:after{background:#f8fff0;left:13px}.rack-swatch{background:#c69d61}.zone-swatch{background:#8bac9c}.layer-toggle input:focus-visible+.toggle-switch{outline-color:#d8ebc0}.sidebar-bottom{padding-top:26px}.upload-card{background:#ffffff08;border:1px solid #ffffff16;border-radius:8px;padding:16px 13px}.upload-card:hover{background:#ffffff10}.upload-card-icon{color:#b1c99e;margin-bottom:12px}.upload-card strong{color:#d1dfc9;font-size:11px}.upload-card p{color:#8ba28e;margin:8px 0 12px;font-size:10px;line-height:1.7}.upload-card>span:last-child{color:#c0d6a4;font-size:10px}.sample-link{color:#8da690;margin-top:10px;font-size:10px}.sample-link:hover{color:#d0e3bc;background:#ffffff08}.sidebar-footer{color:#789381;margin:18px 7px 0;font-size:9px}.sidebar-footer .online-dot{background:#acc48c}.main-workspace{scrollbar-width:thin;background:#f5f6f2;flex-direction:column;gap:18px;min-height:0;padding:24px;display:flex;overflow:auto}.workspace-heading{flex:none;align-items:center;margin:0}.workspace-heading .eyebrow{color:#8b9b88;letter-spacing:1.7px;margin-bottom:9px;font-size:8px}.workspace-heading h1{letter-spacing:-1px;color:#253e31;gap:12px;font-size:26px;font-weight:600}.workspace-heading p{color:#8a9787;margin:8px 0 0;font-size:12px}.source-badge{color:#81916f;background:#f7f9f2;border-color:#dfe5d7;padding:5px;font-size:8px}.heading-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.demo-button{color:#536e43;background:#e5ecd9;border:1px solid #d9e3cb;border-radius:6px;height:36px;padding:0 13px;font-size:11px;font-weight:600}.demo-button:hover{background:#dce8cb;border-color:#c5d4b3}.subtle-button{color:#8b9982;margin:0;padding:0 3px;font-size:10px}.metric-strip{background:#fff;border-color:#e3e8df;border-radius:8px;flex:none;grid-template-columns:1.12fr 1fr 1fr 1.3fr;margin:0;padding:13px 0;box-shadow:0 2px 5px #243c2c02}.metric-strip>div{border-color:#eef1e9;gap:12px;padding:0 19px}.metric-icon{color:#8e9e7e;background:#f1f4ed;border-radius:9px;width:34px;height:34px}.metric-icon.green{color:#7b9471;background:#f0f5e9}.metric-strip>div>span:last-child{color:#8b9882;font-size:10px}.metric-strip strong{letter-spacing:-.6px;color:#354f39;margin-top:5px;font-size:25px;font-weight:500}.metric-strip small{color:#93a088;font-size:11px}.metric-strip em{color:#95a47f;background:#f4f6ee;margin-left:6px;font-size:8px}.green-text{color:#438369!important}.amber-text{color:#a78948!important}.viewer-section{border:1px solid #d8e0d5;border-radius:10px;flex-direction:column;flex:1;min-height:310px;display:flex;position:relative;box-shadow:0 3px 12px #384c2b04}.viewer-toolbar{background:#fcfdf9;border-color:#e2e7da;flex:none;height:45px;min-height:45px;padding:0 12px}.view-tabs{background:#eff3e9;border:0;border-radius:5px;gap:3px;padding:3px}.view-tabs button{color:#849676;height:27px;padding:0 12px;font-size:10px}.view-tabs button.active{color:#4b6a3c;background:#fff;font-weight:600;box-shadow:0 1px 4px #314f2310}.viewer-toolbar-actions>button{color:#899d78}.viewer-toolbar-actions .add-rack{color:#6c8654;font-size:10px}.viewer-canvas{background:#e9eeeb;flex:1;height:auto;min-height:0}.viewer-badge{color:#52745d;background:#fffffff0;border-color:#ffffffb0;border-radius:6px;padding:8px 10px;font-size:10px;top:17px;left:17px;box-shadow:0 2px 8px #23352605}.viewer-badge>span:last-child{color:#8ba081;border-color:#e0e7d8;font-size:9px}.sample-scene-note{color:#6c826f;z-index:1;background:#ffffff95;border-radius:4px;padding:5px 7px;font-size:8px;inset:auto auto 18px 17px}.viewer-bottom-left{gap:12px;bottom:49px;left:17px}.compass{color:#6d8867;font-size:9px}.compass svg{color:#6d8867}.scale-bar{color:#799471;font-size:21px}.scale-bar small{color:#7e9078;font-size:8px}.viewer-footnote{color:#8a9c7e;background:#fcfdf8;border-color:#e1e8d7;flex:none;height:32px;padding:0 13px;font-size:9px}.viewer-footnote button{color:#8b9c7c;font-size:9px}.scene-controls{background:#fffffff2;border:1px solid #ffffffc4;border-radius:8px;gap:2px;padding:4px;bottom:18px;right:17px;box-shadow:0 3px 14px #2f4c2d08}.scene-controls button{color:#6b865a;width:32px;height:31px}.scene-controls button:hover,.scene-controls button.active{color:#3e7045;background:#eaf1e1}.scene-controls>span{background:#dfe8d5}.scene-view-options{align-items:center;gap:8px;display:flex;position:absolute;top:17px;right:17px}.scene-segment{background:#ffffffdb;border:1px solid #ffffffc4;border-radius:6px;gap:2px;padding:3px;display:flex}.scene-segment button{color:#7b9070;border-radius:4px;height:26px;padding:0 9px;font-size:10px}.scene-segment button.active{color:#4c7445;background:#e9f0e0}.scene-square{color:#68815a;background:#ffffffdf;border:1px solid #ffffffb5;border-radius:7px;width:34px;height:34px}.scene-tooltip{z-index:4;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffef5f2;border:1px solid #fff;border-radius:7px;min-width:150px;padding:11px 13px;position:absolute;box-shadow:0 4px 18px #28443314}.scene-tooltip strong{color:#345b45;font-size:12px;font-weight:600;display:block}.scene-tooltip span{color:#8b9b7e;margin-top:5px;font-size:9px;display:block}.heat-legend{color:#66805a;background:#ffffffe6;padding:10px;font-size:9px;top:62px;right:17px}.heat-legend small{font-size:9px}.three-mount canvas{touch-action:none}.data-section{scrollbar-width:thin;scrollbar-color:#ccd7bf transparent;border-color:#e0e6d8;border-radius:8px;flex:none;max-height:310px;margin:0;overflow:auto}.data-section.collapsed>:not(.data-section-heading){display:none}.data-section-heading{z-index:2;background:#fff;border-color:#e9eddf;height:48px;min-height:48px;padding:0 15px;position:sticky;top:0}.data-tabs{gap:21px}.data-tabs button{color:#94a083;font-size:11px}.data-tabs button.active{color:#587547}.data-tabs button.active:after{background:#7c9b5e}.data-tabs button span{color:#95a37f;background:#f1f5e9;padding:3px 6px;font-size:9px}.data-actions{gap:12px}.data-expand{color:#93a180;padding:4px;font-size:10px}.data-section.collapsed .search-box,.data-section.collapsed .data-actions>.text-button,.data-section.expanded .data-expand span{display:none}.search-box{background:#f7f9f1;border-color:#e3e9d7;height:29px}.search-box input{color:#607b4e;width:134px;font-size:10px}.search-box input::placeholder{color:#9aa98a}.text-button{color:#6f8c58;font-size:10px}.data-table th{color:#8c9b7d;background:#f9fbf5;padding:10px 13px;font-size:10px}.data-table td{color:#80946d;border-color:#edf1e4;padding:10px 13px;font-size:10px}.data-table td:first-child strong{color:#527443;font-size:12px}.data-table td:first-child>span{color:#a4b193;font-size:9px}.data-table td:first-child svg{color:#8ea67a}.data-table tr.selected td{background:#edf4e4}.data-table tr:focus-visible{outline:-webkit-focus-ring-color auto 1px}.data-table-wrap{min-height:100px;max-height:260px}.data-footer{color:#9caa8b;background:#fcfdf8;height:30px;font-size:9px;position:sticky;bottom:0}.status{font-size:9px}.monospace{font-size:9px!important}.inventory-empty strong{color:#698451;font-size:12px}.inventory-empty p{color:#92a27d;font-size:10px}.inventory-amount{color:#4b7541;font-size:26px}.inventory-report-bar{font-size:10px}.data-section.expanded .inventory-empty{flex-wrap:wrap;padding:22px}.small-empty{font-size:12px}.inspector{scrollbar-width:thin;scrollbar-color:#d7e0cb transparent;background:#fdfefb;border-color:#e2e7dc;min-height:0;padding:21px 20px 16px;overflow-y:auto}.inspector-top{color:#8b9b7e;border-color:#e7eddc;padding-bottom:19px;font-size:11px}.inspector-top button{color:#819870;padding:0}.inspector-floor{color:#8ea278;border:1px solid #e1e8d5;border-radius:4px;padding:3px 5px;font-family:DM Sans,sans-serif;font-size:9px}.inspector-overview{padding:24px 0 20px}.inspector-overview>.eyebrow{letter-spacing:1.4px;color:#9aac88;margin-bottom:10px;font-size:8px}.inspector-overview h2{letter-spacing:-.6px;color:#587a45;font-size:22px;font-weight:500;line-height:1.4}.inspector-overview p{color:#91a27f;margin:8px 0 0;font-size:10px}.overview-map{background:#f5f8ee;border:1px solid #edf1e2;border-radius:8px;width:100%;height:158px;margin:20px 0 14px;padding:13px;display:block}.overview-map rect[role=button]{cursor:pointer}.overview-map rect:has(title){cursor:pointer}.overview-map rect[role=button]:hover{fill-opacity:.9}.plan-source-button{color:#809c6a;justify-content:flex-start;gap:7px;width:100%;padding:8px 0;font-size:10px}.plan-source-button svg:last-child{color:#9db088;margin-left:auto}.inspector-section{border-color:#e9eedf;padding:20px 0}.inspector-section h3{color:#6c8758;margin-bottom:17px;font-size:11px;font-weight:500}.inspector-section h3>span{color:#a6b494;font-size:9px}.project-details>div{margin-bottom:13px;font-size:10px}.project-details dt{color:#98a788}.project-details dd{color:#789566;font-size:10px}.zone-list{flex-direction:column;gap:4px;display:flex}.zone-list>button{color:#82996f;text-align:left;border-radius:5px;justify-content:flex-start;gap:8px;width:100%;padding:9px 6px;font-size:10px}.zone-list>button:hover{color:#527d3c;background:#f0f5e7}.zone-list i{border-radius:2px;flex:none;width:8px;height:8px;box-shadow:inset 0 0 0 1px #203d2010}.zone-list span{flex:1}.zone-list svg{color:#a3b790}.review-note{color:#94ad7a;background:#f3f7e9;border:1px solid #e7eed7;border-radius:7px;margin-top:0;padding:14px}.review-note>svg{margin-bottom:10px}.review-note strong{color:#819d67;font-size:10px}.review-note p{color:#9caf86;margin:8px 0 11px;font-size:9px;line-height:1.7}.review-note button{color:#809e65;font-size:9px}.inspector-bottom{letter-spacing:1.1px;color:#a5b691;gap:8px;padding-top:23px;font-family:DM Sans,sans-serif;font-size:7px}.inspector-bottom svg{width:12px}.inspector-heading{margin-top:22px}.inspector-heading h2{color:#51753e;font-size:28px}.inspector-heading .eyebrow{color:#8faa75;font-size:7px}.rack-icon{color:#8ea772;background:#edf4e1}.selection-id{color:#78965f;font-size:10px}.selection-id span{color:#a4b18c;font-size:9px}.small-tag{color:#90a976;font-size:8px}.inspector-section label{color:#8da078;font-size:10px}.input-with-unit{background:#f9fbf3;border-color:#dfe8d1;height:34px;margin-top:7px}.input-with-unit input{color:#5a7a43;padding:8px;font-size:11px}.input-with-unit em{color:#a0b184;font-size:10px}.inspector-section label select{color:#78995b;background:#f8fbf1;border-color:#e1e9d4;height:34px;font-size:10px}.field-grid{gap:12px}.confidence-note p{color:#99aa83;font-size:10px;line-height:1.8}.delete-button{font-size:10px}.focus-location{color:#739353;background:#edf4e2;border:1px solid #e1ebd4;border-radius:6px;justify-content:flex-start;width:100%;height:36px;margin:17px 0 0;padding:0 10px;font-size:10px}.focus-location>svg:last-child{margin-left:auto}.focus-location:hover{background:#e3efcf}.zone-detail-heading{padding:25px 0 0}.zone-detail-heading .eyebrow{color:#a1b58a;font-size:8px}.zone-detail-heading h2{color:#587d40;letter-spacing:-.7px;margin:12px 0;font-size:24px;font-weight:500}.zone-type-badge{color:#537346;border-radius:4px;padding:5px 7px;font-size:9px;display:inline-block}.zone-hint{color:#9aab83;margin:0 0 20px;font-size:11px;line-height:1.8}.ops-heading{padding:14px 16px}.ops-heading strong{font-size:11px}.ops-heading span,.ops-heading label{font-size:9px}.operations-panel{font-size:11px}.simulation-config{padding:12px 16px}.simulation-config label,.simulation-config select{font-size:10px}.simulation-stages{margin:0 16px 14px}.simulation-stages strong{font-size:10px}.simulation-status{padding:0 16px 12px}.simulation-status strong{font-size:10px}.simulation-status .primary-button{height:31px;font-size:10px}.simulation-status .outlined-button{height:31px}.simulation-progress{margin:0 16px 14px}.diagnostic-clean{font-size:10px}.simulation-empty strong{font-size:11px}.simulation-empty p,.route-assumptions{font-size:10px}.modal{color:#334b38}.modal p,.help-content p{color:#81946f;font-size:12px;line-height:1.8}.modal h2{color:#456138}.modal label,.modal button{font-size:12px}.toast{color:#edf6e2;background:#2f513b;border-color:#547843;font-size:12px;box-shadow:0 6px 24px #18351a22}.toast svg{color:#c8e6b6}.immersive{grid-template-columns:0 minmax(0,1fr) 0}.immersive>.sidebar,.immersive>.inspector,.immersive .workspace-heading,.immersive .metric-strip,.immersive .data-section{display:none}.immersive .main-workspace{padding:14px}.immersive .viewer-section{min-height:0}@media (width>=1700px){.app-shell{grid-template-columns:224px minmax(400px,1fr) 300px}.main-workspace{gap:20px;padding:26px 30px}.workspace-heading h1{font-size:30px}.workspace-heading p{font-size:13px}.metric-strip{padding:17px 0}.metric-strip strong{font-size:28px}.inspector{padding:24px}.viewer-toolbar{height:48px;min-height:48px}.data-section-heading{height:52px}.sidebar{padding-top:30px}.nav-item{height:46px;font-size:13px}.inspector-overview h2{font-size:24px}.overview-map{height:172px}}@media (width<=1250px){.app-shell{grid-template-columns:174px minmax(380px,1fr) 250px}.main-workspace{gap:14px;padding:19px}.topbar{gap:22px;padding:0 18px}.brand{min-width:135px}.project-breadcrumb>span:first-child,.project-breadcrumb>svg,.save-status{display:none}.sidebar{padding:24px 10px 14px}.source-badge{display:none}.workspace-heading h1{font-size:23px}.metric-strip>div{gap:8px;padding:0 12px}.metric-icon{display:none}.metric-strip strong{font-size:23px}.metric-strip em{display:none}.inspector{padding:19px 16px}.scene-view-options span,.data-actions>.text-button{display:none}.data-tabs{gap:14px}.data-tabs button{font-size:10px}.search-box input{width:100px}.sidebar-bottom{padding-top:20px}.workflow-step{padding:7px}.overview-map{height:140px}.inspector-overview h2{font-size:20px}.scene-controls button{width:29px}}@media (width<=1050px){.app-shell{grid-template-columns:64px minmax(380px,1fr) 240px}.sidebar{padding:20px 8px}.sidebar .workspace-label,.sidebar .sidebar-divider,.sidebar .section-label,.sidebar .workflow-step,.sidebar .layer-toggle,.sidebar .sidebar-bottom{display:none}.sidebar .nav-item{justify-content:center;height:44px;padding:0;font-size:0;position:relative}.sidebar .nav-item svg{width:19px;height:19px}.sidebar .nav-count{display:none}.sidebar .nav-item:focus-visible{outline-color:#d6eaba}.topbar{gap:20px}.brand{min-width:140px}.main-workspace{gap:14px;padding:18px}.heading-actions{gap:6px}.demo-button{padding:0 10px;font-size:10px}.metric-strip>div>span:last-child{font-size:9px}.workspace-heading h1{font-size:23px}.viewer-toolbar-actions .add-rack{width:26px;padding:0;font-size:0}.data-expand span{display:none}}@media (width<=800px){body{overflow:auto}.app-shell{grid-template-rows:62px auto auto;grid-template-columns:58px minmax(0,1fr);height:auto;min-height:100dvh}.topbar{gap:16px;height:62px;padding:0 14px;position:sticky;top:0}.brand{min-width:135px}.brand strong{font-size:25px}.brand strong span{font-size:6px}.brand-mark{width:32px;height:32px}.project-breadcrumb{display:none}.topbar-actions{gap:7px}.topbar-actions .avatar,.topbar-actions .help-button{display:none}.topbar-actions>.primary-button,.export-wrap>.outlined-button{height:32px;padding:0 9px;font-size:10px}.sidebar{grid-row:2/4;max-height:calc(100dvh - 62px);padding:18px 7px;position:sticky;top:62px}.main-workspace{gap:16px;height:auto;padding:18px 16px;overflow:visible}.workspace-heading h1{font-size:23px}.workspace-heading p{font-size:11px}.workspace-heading .eyebrow{font-size:7px}.viewer-section{flex:none;height:58vh;min-height:460px;max-height:640px}.metric-strip{padding:13px 0}.metric-strip strong{font-size:22px}.metric-strip>div{padding:0 12px}.metric-strip small{font-size:10px}.viewer-toolbar{height:44px;min-height:44px;padding:0 8px}.view-tabs button{padding:0 8px;font-size:9px}.viewer-toolbar-actions{gap:1px}.viewer-toolbar-actions>button{width:23px}.viewer-toolbar-actions .toolbar-separator{margin:0 3px}.viewer-footnote{padding:0 10px;font-size:8px}.viewer-footnote button{font-size:8px}.inspector{border-top:1px solid var(--line);border-left:0;grid-column:2;padding:20px 25px;display:flex;overflow:visible}.inspector-overview{grid-template-columns:1fr 180px;column-gap:20px;padding:20px 0;display:grid}.inspector-overview>.eyebrow,.inspector-overview h2,.inspector-overview p,.inspector-overview .plan-source-button{grid-column:1}.inspector-overview .overview-map{grid-area:1/2/5;height:130px;margin:0}.inspector-overview h2{font-size:23px}.inspector-overview p{margin:0}.zone-list{grid-template-columns:1fr 1fr;display:grid}.review-note{max-width:400px}.inspector-bottom{padding-top:20px}.inspector.has-selection{z-index:12;background:#fffffff7;border-left:1px solid #dce7d1;width:280px;position:fixed;top:62px;bottom:0;right:0;overflow-y:auto;box-shadow:-10px 0 45px #234c2b14}.inspector .overview-map{max-width:300px}.data-section{max-height:400px}.data-section-heading{padding:0 11px}.data-tabs{gap:13px}.search-box,.heading-actions .subtle-button{display:none}.immersive{grid-template-rows:62px 1fr;grid-template-columns:1fr;height:100dvh}.immersive .main-workspace{min-height:0;padding:10px}.immersive .viewer-section{height:100%;min-height:0;max-height:none}.immersive>.inspector{display:none}}@media (width<=540px){.app-shell{grid-template-rows:58px auto auto;grid-template-columns:1fr}.topbar{height:58px;padding:0 13px}.brand{min-width:0}.brand strong{font-size:24px}.brand strong span{letter-spacing:.8px;font-size:5.5px}.brand-mark{border-radius:9px;width:29px;height:29px}.brand-mark svg{width:17px}.topbar-actions{gap:6px}.topbar-actions .outlined-button{border:0;width:30px;padding:0;font-size:0}.topbar-actions .outlined-button svg:last-child{display:none}.topbar-actions>.primary-button{height:31px;padding:0 9px;font-size:10px}.sidebar{display:none}.main-workspace{gap:16px;padding:21px 13px 14px}.workspace-heading h1{letter-spacing:-1.3px;font-size:23px}.workspace-heading p{margin-top:8px;font-size:10px}.workspace-heading .eyebrow{letter-spacing:1.4px;font-size:6px}.demo-button{width:34px;height:34px;padding:0;font-size:0}.demo-button svg{width:13px}.metric-strip{border-radius:7px;grid-template-columns:repeat(4,1fr);padding:12px 0}.metric-strip>div{padding:0 10px}.metric-strip>div>span:last-child{font-size:8px}.metric-strip strong{font-size:21px}.metric-strip small{font-size:8px}.viewer-section{border-radius:8px;height:57vh;min-height:430px}.viewer-toolbar{height:44px;padding:0 7px}.view-tabs button{gap:4px;padding:0 7px;font-size:8px}.view-tabs button svg{width:11px}.viewer-toolbar-actions>button{width:21px}.viewer-toolbar-actions .toolbar-separator{display:none}.viewer-toolbar-actions .add-rack{width:21px}.viewer-badge{padding:7px;font-size:8px;top:12px;left:12px}.viewer-badge>span:last-child{margin-left:3px;padding-left:6px;font-size:7px}.scene-view-options{gap:5px;top:12px;right:12px}.scene-segment{padding:2px}.scene-segment button{height:23px;padding:0 5px}.scene-segment button svg{width:12px}.scene-square{width:29px;height:29px}.scene-controls{gap:0;padding:3px;bottom:15px;right:12px}.scene-controls button{width:28px;height:29px}.sample-scene-note{padding:4px;font-size:6.5px;bottom:14px;left:12px}.viewer-bottom-left{bottom:45px;left:12px}.viewer-footnote{height:29px;font-size:7px}.viewer-footnote button{font-size:7px}.viewer-footnote svg{width:10px}.data-section-heading{height:46px;padding:0 12px}.data-tabs{gap:17px}.data-tabs button{font-size:10px}.data-tabs button span{padding:2px 4px;font-size:7px}.data-actions{gap:0}.inspector{grid-column:1;padding:20px}.inspector-overview{grid-template-columns:1fr 130px;column-gap:12px}.inspector-overview h2{font-size:21px}.inspector-overview p{font-size:9px}.inspector-overview .overview-map{height:120px;padding:8px}.inspector.has-selection{width:min(280px,85vw);top:58px}.inspector-section h3{font-size:12px}.project-details>div,.project-details dd,.zone-list>button{font-size:11px}.modal-backdrop{padding:15px}.modal{max-width:100%;max-height:90dvh;overflow:auto}.toast{max-width:calc(100vw - 30px);font-size:11px;bottom:15px}.simulation-config{flex-wrap:wrap}.simulation-status{flex-wrap:wrap;gap:12px}.simulation-stages{gap:2px}.simulation-stages strong{font-size:8px}.simulation-stages>div>span{width:19px;height:19px}.ops-heading{flex-wrap:wrap;gap:7px}.diagnostic-summary{flex-wrap:wrap;gap:8px}.diagnostic-summary em,.simulation-disclaimer{font-size:8px}.immersive{grid-template-rows:58px 1fr}}@media (height<=800px) and (width>=801px){.main-workspace{gap:14px;padding:19px 22px}.workspace-heading p{display:none}.workspace-heading h1{font-size:25px}.workspace-heading .eyebrow{margin-bottom:8px;font-size:7px}.heading-actions{flex-direction:row;align-items:center;gap:12px}.metric-strip{padding:12px 0}.metric-strip strong{font-size:24px}.sidebar{padding-top:22px}.sidebar-divider{margin:18px 10px}.workflow-step{min-height:55px}.upload-card p,.upload-card-icon{display:none}.sidebar-bottom{padding-top:20px}.sidebar-footer{margin-top:15px}.data-section{max-height:250px}.viewer-section{min-height:300px}.overview-map{height:130px;margin:15px 0 12px}.inspector-overview{padding-top:20px}.inspector-section{padding:16px 0}.zone-list>button{padding:7px 5px}.inspector-overview h2{font-size:21px}.inspector-overview p{font-size:9px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.sidebar>*,.sidebar-bottom{flex-shrink:0}.sidebar .nav-item{min-height:44px}.sidebar .workflow-step{min-height:60px}.workspace-loading{color:#56784a;justify-content:center;align-items:center;gap:14px;height:100dvh;display:flex}.workspace-loading strong{letter-spacing:-1px;font-family:DM Sans,sans-serif;font-size:30px}.workspace-loading span{color:#8a9e7a;margin-left:10px;font-size:12px}.inspector-overview p,.project-details dt{color:#7d9070}.project-details dd{color:#577447}.zone-list>button{color:#657f55}.review-note p{color:#879b71}.data-table td{color:#647d51}.data-table th{color:#778b64}.viewer-footnote{color:#728663}@media (width>=801px){.main-workspace{gap:15px}.metric-strip{padding:11px 0}.metric-strip strong{font-size:24px}.workspace-heading h1{font-size:26px}.workspace-heading p{font-size:11px}.workspace-heading .eyebrow{font-size:7px}.inspector-overview h2{font-size:22px}}.app-shell.immersive{grid-template-rows:68px minmax(0,1fr);grid-template-columns:minmax(0,1fr);width:100%;height:100dvh;min-height:0;position:fixed;inset:0;overflow:hidden}.app-shell.immersive>.topbar{grid-area:1/1;min-width:0}.app-shell.immersive>.main-workspace{grid-area:2/1;gap:0;min-width:0;height:100%;min-height:0;padding:12px;overflow:hidden}.app-shell.immersive .viewer-section{flex:1 1 0;width:100%;height:100%;min-height:0;max-height:none}.app-shell.immersive .viewer-canvas{min-width:0;min-height:0;overflow:hidden}.app-shell.immersive .viewer-toolbar{flex-wrap:wrap;gap:6px;height:auto;min-height:44px;padding:6px 9px}.app-shell.immersive .viewer-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.app-shell.immersive .original-plan{width:100%;height:100%;min-height:0}@media (width<=800px){.app-shell.immersive{grid-template-rows:62px minmax(0,1fr)}.app-shell.immersive>.main-workspace{padding:8px}}@media (width<=540px){.app-shell.immersive{grid-template-rows:58px minmax(0,1fr)}}
