:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-white:#fff;--color-black:#000;--color-backdrop:#060708;--color-navigation:#0d0f12;--surface-base:#0f1114;--surface-raised:#191b1f;--surface-control:#25282d;--surface-hover:#2b2f35;--surface-selected:#30343b;--hardware-black:#080a0c;--hardware-deep:#121518;--hardware-base:#292e34;--hardware-mid:#555c61;--hardware-light:#c9cdcf;--text-primary:#f2f4f6;--text-secondary:#a2a9b1;--text-muted:#858e98;--primary:#c9531e;--primary-hover:#dc642c;--primary-bright:#f09a72;--success:#60c894;--info:#68b7d7;--warning:#e4b45d;--danger:#df6f6f;--radius-control:5px;--radius-surface:8px;--border-subtle:#ffffff13;--font-sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font-sans);color:var(--text-primary);background:var(--color-backdrop);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{background:radial-gradient(circle at 68% -20%, #c9531e21, transparent 38%), var(--color-backdrop);min-height:100vh;overflow:clip}button,input,select{color:inherit;font:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary-bright);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.38}svg{display:block}h1,h2,h3,p{margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scroll-region,*{scrollbar-color:var(--hardware-mid) transparent;scrollbar-width:thin}.app-shell{grid-template-rows:60px minmax(0,1fr);height:100vh;min-height:680px;display:grid;overflow:hidden}.topbar{z-index:20;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#0d0f12f5;border-bottom:1px solid #ffffff1c;grid-template-columns:226px minmax(0,1fr) auto;align-items:center;height:60px;padding-right:16px;display:grid;box-shadow:0 12px 30px #0000004d}.brand{border-right:1px solid var(--border-subtle);align-items:center;gap:10px;height:100%;padding:0 18px;display:flex}.brand-mark{color:#06160c;letter-spacing:-.07em;background:#27a64a;border-radius:4px;place-items:center;width:27px;height:27px;font-size:12px;font-weight:900;display:grid;box-shadow:inset 0 0 0 1px #ffffff2e,0 0 0 4px #27a64a1a}.brand div,.project-identity div{flex-direction:column;min-width:0;display:flex}.brand strong{font-size:13px}.brand div span,.project-identity span,.topbar small{color:var(--text-muted);letter-spacing:.025em;font-size:11px}.project-identity{align-items:center;gap:11px;min-width:0;padding-left:20px;display:flex}.project-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:630;overflow:hidden}.status-dot{background:var(--success);border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 4px #60c89424}.topbar-actions{align-items:center;gap:6px;display:flex}.save-state{color:var(--success);align-items:center;gap:6px;margin-right:6px;font-size:11px;font-weight:650;display:inline-flex}.save-state i{background:currentColor;border-radius:50%;width:6px;height:6px}.save-state.is-dirty{color:var(--warning)}.button,.icon-button,.tool-button{min-height:30px;color:var(--text-primary);background:var(--surface-control);border-radius:var(--radius-control);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:11px;font-weight:650;transition:background .13s,border-color .13s,transform .13s;display:inline-flex}.button:hover:not(:disabled),.icon-button:hover:not(:disabled),.tool-button:hover:not(:disabled){background:var(--surface-hover);border-color:#ffffff14}.button:active,.icon-button:active{transform:translateY(1px)}.button svg,.icon-button svg{width:14px;height:14px}.icon-button,.tool-button{width:30px;color:var(--text-secondary);background:0 0;flex:none;padding:0}.button-primary{color:var(--color-white);background:var(--primary);border-color:var(--primary)}.button-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.button-danger{color:#f09a9a;background:#df6f6f1f;border-color:#df6f6f38}.button-large{min-height:40px;padding:0 17px;font-size:11px}.app-body{grid-template-columns:226px minmax(520px,1fr) 290px;min-height:0;display:grid}.main-nav{border-right:1px solid var(--border-subtle);background:#0d0f12eb;flex-direction:column;justify-content:space-between;min-height:0;padding:18px 12px 14px;display:flex}.main-nav nav{gap:4px;display:grid}.nav-label,.eyebrow{color:var(--text-muted);letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:720}.nav-label{padding:4px 10px 8px}.nav-item{min-height:49px;color:var(--text-secondary);text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:11px;padding:0 10px;display:flex}.nav-item:hover:not(:disabled){color:var(--text-primary);background:var(--surface-hover)}.nav-item.is-active{color:var(--color-white);box-shadow:inset 3px 0 var(--primary);background:#c9531e24;border-color:#c9531e52}.nav-item>svg{flex:none;width:18px;height:18px}.nav-item>span{flex-direction:column;min-width:0;display:flex}.nav-item strong{font-size:11px;font-weight:650}.nav-item small{color:var(--text-muted);margin-top:2px;font-size:11px}.nav-bottom{border-top:1px solid var(--border-subtle);gap:10px;padding:12px 6px 0;display:grid}.nav-bottom>span{color:var(--text-muted);align-items:center;gap:6px;font-size:11px;display:flex}.nav-bottom>span i{background:var(--success);border-radius:50%;width:5px;height:5px}.workspace{background:linear-gradient(#060708ba,#060708d9),radial-gradient(circle at 35% 12%,#c9531e1f,#0000 36%),repeating-linear-gradient(135deg,#0000 0 17px,#ffffff03 18px);min-width:0;min-height:0;padding:16px;overflow:auto}.context-sidebar{border-left:1px solid var(--border-subtle);background:#0f1114f5;min-height:0;overflow:auto}.context-sidebar>header{border-bottom:1px solid var(--border-subtle);padding:20px 18px 16px}.context-sidebar h2{letter-spacing:-.02em;margin-top:6px;font-size:17px;font-weight:590}.context-sidebar header p,.panel-header p,.catalog-header p,.view-hero p{color:var(--text-muted);margin-top:4px;font-size:11px}.stat-stack{border-bottom:1px solid var(--border-subtle);grid-template-columns:repeat(3,1fr);gap:5px;padding:12px;display:grid}.stat-stack>div{background:var(--surface-raised);border:1px solid #ffffff0b;border-radius:5px;flex-direction:column;justify-content:center;min-width:0;min-height:67px;padding:8px;display:flex}.stat-stack span,.stat-stack small{color:var(--text-muted);font-size:11px}.stat-stack strong{color:var(--text-primary);margin:4px 0 1px;font-size:16px;font-weight:530}.stat-stack em{color:var(--text-secondary);font-size:11px;font-style:normal}.rack-navigator{border-bottom:1px solid var(--border-subtle);gap:9px;padding:16px;display:grid}.rack-navigator>div:first-child{justify-content:space-between;gap:10px;display:flex}.rack-navigator span,.rack-navigator p{color:var(--text-muted);font-size:11px}.rack-navigator strong{font-size:11px}select,input{width:100%;height:34px;color:var(--text-primary);background:var(--surface-control);border-radius:var(--radius-control);border:1px solid #ffffff1c;padding:0 10px}input::placeholder{color:var(--text-muted)}.mini-meter,.utilization-track{background:var(--hardware-black);border-radius:8px;height:5px;overflow:hidden}.mini-meter i,.utilization-track i{background:linear-gradient(90deg, var(--primary), var(--primary-bright));border-radius:inherit;height:100%;display:block}.rack-nav-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.portable-note{background:#68b7d712;border:1px solid #68b7d726;border-radius:6px;gap:10px;margin:14px;padding:12px;display:flex}.portable-note svg{width:17px;color:var(--info);flex:none}.portable-note strong{font-size:11px}.portable-note p{color:var(--text-muted);margin-top:3px;font-size:11px;line-height:1.5}.empty-workspace{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:60px 28px;display:flex}.empty-mark{width:72px;height:72px;color:var(--primary-bright);background:radial-gradient(circle,#c9531e38,#c9531e0a);border:1px solid #c9531e42;border-radius:18px;place-items:center;margin-bottom:22px;display:grid;position:relative;box-shadow:0 20px 55px #c9531e1f}.empty-mark:before,.empty-mark:after{content:"";border-color:var(--primary);border-style:solid;width:10px;height:10px;position:absolute}.empty-mark:before{border-width:1px 0 0 1px;top:-5px;left:-5px}.empty-mark:after{border-width:0 1px 1px 0;bottom:-5px;right:-5px}.empty-mark svg{width:32px}.empty-workspace h1{letter-spacing:-.045em;margin-top:10px;font-size:clamp(27px,3vw,42px);font-weight:530}.empty-workspace>p{max-width:570px;color:var(--text-secondary);margin-top:12px;font-size:12px;line-height:1.7}.empty-actions{gap:8px;margin-top:25px;display:flex}.empty-features{color:var(--text-muted);gap:28px;margin-top:54px;font-size:11px;display:flex}.empty-features span{align-items:center;gap:7px;display:flex}.empty-features i{color:var(--primary-bright);font-size:11px;font-style:normal}.workspace-card,.rack-designer,.project-view,.full-catalog{background:#0f1114ed;border:1px solid #ffffff1c;border-radius:10px;min-height:100%;overflow:hidden;box-shadow:0 28px 80px #00000052}.floorplan-panel,.rack-designer{grid-template-rows:auto minmax(0,1fr) auto;height:100%;display:grid}.panel-header,.catalog-header,.view-hero{border-bottom:1px solid var(--border-subtle);background:#191b1fb8;justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:14px 18px;display:flex}.panel-header h2,.catalog-header h2,.view-hero h2{letter-spacing:-.025em;margin-top:3px;font-size:19px;font-weight:580}.floorplan-tools{align-items:center;gap:4px;display:flex}.floorplan-tools output{width:48px;color:var(--text-secondary);text-align:center;font-size:11px}.floorplan-scroller{cursor:grab;background:var(--hardware-black);touch-action:none;min-width:0;min-height:0;padding:26px;overflow:auto}.floorplan-scroller:active{cursor:grabbing}.floorplan-svg{min-width:420px;margin:auto;display:block}.room-shell{fill:#14171a;stroke:#ffffff2e;stroke-width:2px}.room-label{fill:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:14px;font-weight:650}.floor-rack{cursor:pointer;outline:none}.floor-rack>rect:first-of-type{fill:#252a2f;stroke:#555c61;stroke-width:2px;transition:fill .13s,stroke .13s,stroke-width .13s}.floor-rack .rack-inner{fill:#111417;stroke:#ffffff14}.floor-rack .rack-vents{fill:none;stroke:#555c61;stroke-dasharray:3 4}.floor-rack.is-free>rect:first-of-type{stroke:var(--hardware-mid)}.floor-rack.is-partial>rect:first-of-type{fill:#c9531e2e;stroke:var(--primary)}.floor-rack.is-full>rect:first-of-type{fill:#df6f6f38;stroke:var(--danger)}.floor-rack:hover>rect:first-of-type,.floor-rack.is-selected>rect:first-of-type{stroke:var(--primary-bright);stroke-width:5px}.floor-rack.is-selected>rect:first-of-type{fill:#c9531e52}.rack-name,.rack-usage{fill:var(--text-primary);text-anchor:middle;pointer-events:none;font-size:13px;font-weight:680}.rack-usage{fill:var(--text-secondary);font-size:11px;font-weight:500}.floorplan-legend{min-height:42px;color:var(--text-secondary);border-top:1px solid var(--border-subtle);align-items:center;gap:17px;padding:0 16px;font-size:11px;display:flex}.floorplan-legend span{align-items:center;gap:6px;display:flex}.floorplan-legend i{border:1px solid;border-radius:2px;width:8px;height:8px}.legend-free{color:var(--hardware-mid);background:var(--surface-control)}.legend-partial{color:var(--primary-bright);background:#c9531e40}.legend-full{color:var(--danger);background:#df6f6f3d}.legend-hint{color:var(--text-muted);margin-left:auto}.rack-designer{grid-template-rows:auto auto minmax(0,1fr)}.rack-header .button svg{width:13px}.rack-metrics{background:var(--hardware-deep);border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(120px,.75fr) minmax(140px,2fr) minmax(100px,.7fr) minmax(100px,.7fr);align-items:center;gap:16px;padding:10px 18px;display:grid}.rack-metrics>div:not(.utilization-track){grid-template-columns:auto auto;align-items:baseline;gap:2px 8px;display:grid}.rack-metrics span,.rack-metrics small{color:var(--text-muted);font-size:11px}.rack-metrics strong{justify-self:end;font-size:13px;font-weight:540}.rack-metrics small{grid-column:1/-1}.rack-workbench{grid-template-columns:minmax(450px,1fr) 250px;min-height:0;display:grid}.rack-frame-wrap{background:radial-gradient(circle at 50% 15%,#ffffff09,#0000 45%),#090b0d;min-height:0;padding:18px 24px 30px;overflow:auto}.rack-orientation{width:min(580px,100%);color:var(--text-muted);text-transform:uppercase;align-items:center;gap:8px;margin:0 auto 10px;font-size:11px;display:flex}.rack-orientation span{color:var(--primary-bright);font-weight:750}.rack-orientation i{background:var(--primary);width:25px;height:1px}.rack-frame{background:linear-gradient(90deg,#0a0b0c,#25292d 10%,#101214 50%,#25292d 90%,#0a0b0c);border:1px solid #4c5258;border-radius:4px;grid-template-columns:24px 38px minmax(320px,1fr) 24px;width:min(580px,100%);min-width:420px;margin:auto;padding:14px 12px;display:grid;position:relative;box-shadow:inset 0 0 0 4px #090a0b,0 22px 70px #0000009e}.rack-rail{background:radial-gradient(circle,#9ba0a2 0 1.4px,#1a1d20 1.6px 4px,#0000 4.2px) top/100% 19px repeat-y,linear-gradient(90deg,#111,#4f555a,#17191b);border:1px solid #090a0b}.rack-rail-left{grid-column:1}.rack-rail-right{grid-column:4}.rack-unit-numbers{color:#8c9399;font-variant-numeric:tabular-nums;flex-direction:column;grid-area:1/2;font-size:11px;display:flex}.rack-unit-numbers span{border-bottom:1px solid #1c2023;justify-content:center;align-items:center;display:flex}.rack-grid{background:#101215;border:1px solid #050607;grid-area:1/3;position:relative;overflow:hidden}.rack-unit-row{color:#30353a;letter-spacing:50px;border-bottom:1px solid #292d31;justify-content:center;align-items:center;height:19px;font-size:11px;display:flex;box-shadow:inset 0 1px #ffffff05}.rack-component,.drop-preview{--component-color:var(--info);z-index:2;min-height:19px;color:var(--text-primary);text-align:left;background:color-mix(in srgb, var(--component-color) 16%, #101215);border:1px solid var(--component-color);box-shadow:inset 0 0 16px color-mix(in srgb, var(--component-color) 7%, transparent), 0 2px 7px #00000073;border-radius:4px;align-items:center;gap:7px;padding:2px 8px;display:flex;position:absolute;left:3px;right:3px;overflow:hidden}button.rack-component{cursor:grab;width:calc(100% - 6px)}.rack-component:hover,.rack-component.is-selected{z-index:4;background:color-mix(in srgb, var(--component-color) 26%, #101215);box-shadow:inset 3px 0 var(--component-color), 0 0 0 2px color-mix(in srgb, var(--component-color) 30%, transparent)}.rack-component>span{flex-direction:column;min-width:0;display:flex}.rack-component strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:690;line-height:1.2;overflow:hidden}.rack-component small{color:color-mix(in srgb, var(--component-color) 28%, var(--text-primary));text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.2;overflow:hidden}.rack-component.is-fixed{cursor:not-allowed;background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--component-color) 17%, #101215) 0 7px, #101215 8px 14px)}.rack-component.is-fixed svg{width:11px;color:var(--component-color);flex:none}.rack-component.is-fixed em{color:var(--component-color);border:1px solid;border-radius:3px;margin-left:auto;padding:2px 4px;font-size:11px;font-style:normal;font-weight:750}.drop-preview{z-index:8;pointer-events:none;flex-direction:column;justify-content:center;align-items:flex-start}.drop-preview.is-valid{--component-color:var(--success);background:#60c8943b}.drop-preview.is-invalid{--component-color:var(--danger);background:#df6f6f3d}.drop-preview strong{font-size:11px}.drop-preview small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;overflow:hidden}.selection-panel{background:var(--surface-raised);border-left:1px solid var(--border-subtle);padding:18px;overflow:auto}.empty-selection{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:230px;display:flex}.empty-selection h3{margin-top:14px;font-size:12px}.empty-selection p{max-width:180px;color:var(--text-muted);margin-top:6px;font-size:11px;line-height:1.5}.component-glyph{--component-color:currentColor;width:34px;height:23px;color:var(--component-color);background:color-mix(in srgb, var(--component-color) 12%, #0b0d0f);border:1px solid;border-radius:3px;align-items:center;gap:3px;padding:4px;display:flex}.component-glyph i{background:currentColor;border-radius:1px;width:4px;height:4px;box-shadow:8px 0 #fff3,16px 0 #ffffff24,0 8px #ffffff2e,8px 8px #ffffff1f}.selected-component{--component-color:var(--info)}.component-preview{height:90px;color:var(--component-color);background:color-mix(in srgb, var(--component-color) 9%, #0d0f11);border:1px solid color-mix(in srgb, var(--component-color) 30%, transparent);border-radius:6px;place-items:center;margin-top:10px;display:grid}.component-preview .component-glyph{width:70px;height:45px;padding:9px}.selected-component h3{margin-top:14px;font-size:14px;line-height:1.25}.official-name{color:var(--text-secondary);margin-top:4px;font-size:11px}.selected-component dl{margin:14px 0}.selected-component dl div{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;min-height:30px;display:flex}.selected-component dt,.selected-component dd{margin:0;font-size:11px}.selected-component dt{color:var(--text-muted)}.selection-actions{gap:6px;display:grid}.catalog-panel{grid-template-rows:auto auto minmax(0,1fr);height:100%;min-height:0;display:grid;overflow:hidden}.catalog-header{min-height:72px}.badge{min-height:21px;color:var(--primary-bright);background:#c9531e21;border:1px solid #c9531e52;border-radius:4px;align-items:center;padding:0 7px;font-size:11px;font-weight:720;display:inline-flex}.catalog-filters{border-bottom:1px solid var(--border-subtle);grid-template-columns:1fr 130px;gap:6px;padding:10px 12px;display:grid}.search-field{position:relative}.search-field svg{width:14px;color:var(--text-muted);position:absolute;top:10px;left:10px}.search-field input{padding-left:31px}.catalog-list{min-height:0;padding:10px;overflow:auto}.catalog-item{--component-color:var(--info);background:color-mix(in srgb, var(--component-color) 6%, var(--surface-raised));border:1px solid color-mix(in srgb, var(--component-color) 30%, transparent);cursor:grab;border-radius:6px;align-items:center;gap:9px;min-height:54px;padding:8px;display:flex}.catalog-item+.catalog-item{margin-top:6px}.catalog-item:hover{background:color-mix(in srgb, var(--component-color) 11%, var(--surface-raised));border-color:color-mix(in srgb, var(--component-color) 70%, transparent)}.catalog-item-copy{flex-direction:column;flex:1;min-width:0;display:flex}.catalog-item-copy strong{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;font-size:11px;font-weight:650;line-height:1.3;overflow:visible}.catalog-item-copy span{color:var(--text-muted);margin-top:2px;font-size:11px}.catalog-item .icon-button{color:var(--component-color)}.full-catalog{height:100%}.full-catalog .catalog-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-content:start;gap:8px;padding:14px;display:grid}.full-catalog .catalog-item+.catalog-item{margin-top:0}.catalog-panel.is-compact{border-top:1px solid var(--border-subtle);height:460px}.catalog-panel.is-compact .catalog-header{min-height:60px;padding:12px 14px}.catalog-panel.is-compact .catalog-filters{grid-template-columns:1fr}.empty-inline{color:var(--text-muted);text-align:center;padding:28px 12px;font-size:11px}.project-view{padding-bottom:20px}.view-hero{min-height:100px}.view-hero h2{font-size:24px}.status-pill{color:var(--success);background:#60c89417;border:1px solid #60c89433;border-radius:5px;align-items:center;gap:6px;padding:6px 9px;font-size:11px;font-weight:650;display:flex}.status-pill i{background:currentColor;border-radius:50%;width:5px;height:5px}.project-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:18px;display:grid}.project-action-grid>button{min-height:76px;color:var(--text-secondary);text-align:left;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:7px;align-items:center;gap:12px;padding:14px;display:flex}.project-action-grid>button:hover{color:var(--primary-bright);background:var(--surface-hover);border-color:#c9531e52}.project-action-grid svg{flex:none;width:20px}.project-action-grid span{flex-direction:column;flex:1;display:flex}.project-action-grid strong{color:var(--text-primary);font-size:11px}.project-action-grid small{color:var(--text-muted);margin-top:3px;font-size:11px}.project-action-grid em{font-style:normal}.project-file-card,.danger-zone{background:var(--hardware-deep);border:1px solid var(--border-subtle);border-radius:7px;margin:0 18px;padding:16px}.project-file-card>div:first-child{align-items:center;gap:10px;display:flex}.file-icon{width:42px;height:48px;color:var(--primary-bright);background:#c9531e1f;border:1px solid #c9531e4d;border-radius:4px;place-items:center;font-size:11px;font-weight:800;display:grid}.project-file-card strong{font-size:11px}.project-file-card small{color:var(--text-muted);margin-top:3px;font-size:11px;display:block}.project-file-card dl{border-top:1px solid var(--border-subtle);grid-template-columns:1fr 1fr;margin:16px 0 0;display:grid}.project-file-card dl div{padding:12px 0}.project-file-card dt,.project-file-card dd{margin:0;font-size:11px}.project-file-card dt{color:var(--text-muted)}.project-file-card dd{margin-top:3px}.project-file-card>p{color:var(--text-secondary);border-left:2px solid var(--info);background:#68b7d712;padding:10px;font-size:11px}.danger-zone{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.danger-zone h3{font-size:11px}.danger-zone p{color:var(--text-muted);margin-top:3px;font-size:11px}.dialog{width:min(560px,100vw - 28px);max-height:calc(100vh - 28px);color:var(--text-primary);background:0 0;border:0;padding:0;overflow:visible}.dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b8}.dialog-card{background:var(--surface-raised);border:1px solid #ffffff21;border-radius:10px;overflow:hidden;box-shadow:0 32px 100px #000000bf}.dialog-header,.dialog-footer{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:12px;padding:15px 17px;display:flex}.dialog-header h2{font-size:16px;font-weight:590}.dialog-header p{color:var(--text-muted);margin-top:4px;font-size:11px}.dialog-body{max-height:calc(100vh - 180px);padding:17px;overflow:auto}.dialog-footer{border-top:1px solid var(--border-subtle);border-bottom:0;justify-content:flex-end}.form-grid{gap:13px;display:grid}.form-grid label,.form-grid .form-field{gap:6px;display:grid}.form-grid label>span,.form-grid .form-field>span,.form-grid legend{color:var(--text-secondary);font-size:11px;font-weight:680}.form-grid label small{color:var(--text-muted);font-size:11px}.form-grid fieldset{border:0;padding:0}.form-grid legend{margin-bottom:7px}.map-choices{grid-template-columns:1fr 1fr;gap:8px;display:grid}.map-choices>label{background:var(--hardware-deep);border:1px solid var(--border-subtle);cursor:pointer;border-radius:6px;padding:10px;display:flex}.map-choices>label.is-selected{border-color:var(--primary);background:#c9531e1a;box-shadow:inset 0 0 0 1px #c9531e33}.map-choices input{opacity:0;width:1px;height:1px;position:absolute}.map-thumbnail{background:#0a0c0e;border-radius:4px;width:100%;height:75px;padding:8px;display:grid}.map-thumbnail.is-basement{grid-template-columns:repeat(4,1fr);align-items:start;gap:5px}.map-thumbnail.is-basement i{height:22px}.map-thumbnail.is-basement i:last-child{grid-column:4;height:27px;margin:18px 3px 0 12px}.map-thumbnail.is-small-colo{grid-template-columns:repeat(4,1fr);gap:5px 15px}.map-thumbnail i{background:#3e454b;border:1px solid #6b747c;border-radius:1px;display:block}.map-choices strong{font-size:11px}.map-choices small{color:var(--text-muted);font-size:11px}.placement-feedback{border:1px solid;border-radius:5px;gap:3px;margin-top:15px;padding:10px;display:grid}.placement-feedback span{color:var(--text-secondary);font-size:11px}.placement-feedback.is-valid{color:var(--success);background:#60c89414;border-color:#60c8943d}.placement-feedback.is-invalid{color:var(--danger);background:#df6f6f14;border-color:#df6f6f3d}.toast{z-index:100;width:min(390px,100vw - 36px);min-height:42px;color:var(--text-primary);text-align:left;box-shadow:0 20px 65px #0009, inset 3px 0 var(--primary);background:#191b1ff7;border:1px solid #c9531e75;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex;position:fixed;bottom:18px;right:18px}.toast span{font-size:11px;line-height:1.4}.toast i{color:var(--text-muted);font-style:normal}@media (max-width:1180px){.app-body{grid-template-columns:190px minmax(450px,1fr)}.topbar{grid-template-columns:190px minmax(0,1fr) auto}.context-sidebar{display:none}.brand{padding-left:12px}}@media (max-width:760px){body{overflow:auto}.app-shell{grid-template-rows:auto auto;height:auto;min-height:100vh;overflow:visible}.topbar{grid-template-columns:1fr auto;padding:7px 9px;position:sticky;top:0}.brand{border-right:0}.project-identity,.save-state,.topbar-actions .icon-button,.topbar-actions .button:not(.button-primary){display:none}.app-body{flex-direction:column;min-height:calc(100vh - 60px);display:flex}.main-nav{z-index:10;border-right:0;border-bottom:1px solid var(--border-subtle);padding:6px;display:block;position:sticky;top:60px}.main-nav nav{grid-template-columns:repeat(4,1fr);display:grid}.nav-label,.nav-item small,.nav-bottom{display:none}.nav-item{justify-content:center;gap:4px;min-height:42px;padding:4px}.nav-item strong{font-size:11px}.workspace{min-height:calc(100vh - 112px);padding:8px}.rack-workbench{display:block}.selection-panel{border-top:1px solid var(--border-subtle);border-left:0}.rack-metrics{grid-template-columns:1fr 1fr}.utilization-track{order:3;grid-column:1/-1}.project-action-grid,.map-choices{grid-template-columns:1fr}.empty-features{flex-direction:column;align-items:flex-start;gap:10px}.legend-hint{display:none}}.ui-select{min-width:0;position:relative}.ui-select-trigger{width:100%;min-width:0;height:34px;color:var(--text-primary);text-align:left;background:var(--surface-control);border-radius:var(--radius-control);border:1px solid #ffffff1c;justify-content:space-between;align-items:center;gap:8px;padding:0 9px 0 10px;font-size:11px;font-weight:630;display:flex}.ui-select-trigger:hover{background:var(--surface-hover);border-color:#ffffff30}.ui-select.is-open .ui-select-trigger{border-color:var(--primary)}.ui-select-trigger>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-select-trigger svg{width:12px;height:12px;color:var(--text-muted);flex:none;transition:transform .13s}.ui-select.is-open .ui-select-trigger svg{transform:rotate(180deg)}.ui-select-menu{z-index:80;background:#292e34;border:1px solid #ffffff26;border-radius:6px;min-width:190px;padding:5px;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 14px 34px #00000094}.ui-select-search{margin-bottom:5px;display:block;position:relative}.ui-select-search svg{z-index:1;width:13px;color:var(--text-muted);pointer-events:none;position:absolute;top:8px;left:9px}.ui-select-search input{background:var(--hardware-deep);height:30px;padding-left:29px;font-size:11px}.ui-select-options{max-height:238px;overflow:auto}.ui-select-option{width:100%;min-height:31px;color:var(--text-primary);text-align:left;background:0 0;border:0;border-radius:3px;flex-direction:column;justify-content:center;align-items:flex-start;padding:5px 8px 5px 27px;display:flex;position:relative}.ui-select-option:hover,.ui-select-option.is-active{background:#353a3f}.ui-select-option.is-selected{background:#353a3f;font-weight:680}.ui-select-option.is-selected:before{content:"✓";color:var(--primary-bright);font-size:11px;position:absolute;left:10px}.ui-select-option span{font-size:11px}.ui-select-option small{color:var(--text-muted);margin-top:1px;font-size:11px;font-weight:450}.ui-select-empty{color:var(--text-muted);text-align:center;padding:18px 8px;font-size:11px}.ui-select.is-compact .ui-select-trigger{height:34px;font-weight:540}.dialog-card,.dialog-body{overflow:visible}.workspace.is-canvas{padding:0;overflow:hidden}.floorplan-stage{width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.floorplan-stage .floorplan-panel{width:100%;height:100%;min-height:0;box-shadow:none;background:#090b0d;border:0;border-radius:0;display:block;position:relative}.floorplan-stage .panel-header{z-index:8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#111417e6;border:1px solid #ffffff1a;border-radius:7px;min-height:62px;padding:10px 14px;position:absolute;top:16px;left:16px;right:16px;box-shadow:0 12px 35px #00000052}.floorplan-stage .panel-header h2{font-size:17px}.floorplan-stage .floorplan-scroller{background:radial-gradient(circle at 50% 40%,#ffffff06,#0000 50%),#090b0d;width:100%;height:100%;padding:96px 42px 64px}.floorplan-stage .floorplan-svg{min-width:0;margin:0}.floorplan-stage .floorplan-legend{z-index:8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#111417e6;border:1px solid #ffffff17;border-radius:6px;min-height:36px;position:absolute;bottom:14px;left:16px;right:16px}.availability-zone{--zone-color:var(--info);pointer-events:none}.availability-zone rect{fill:color-mix(in srgb, var(--zone-color) 3%, transparent);stroke:color-mix(in srgb, var(--zone-color) 72%, transparent);stroke-width:2px;stroke-dasharray:8 6}.availability-zone text{fill:var(--zone-color);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:760}.floor-rack>rect:first-of-type{filter:none;stroke-width:1.5px}.floor-rack:hover>rect:first-of-type,.floor-rack.is-selected>rect:first-of-type{stroke-width:3px}.rack-name{font-size:14px}.rack-usage{font-size:11px}.rack-drawer{z-index:15;background:#101216;border-left:1px solid #ffffff21;grid-template-columns:minmax(370px,1.1fr) minmax(290px,.9fr);width:min(810px,78%);min-width:650px;display:grid;position:absolute;top:0;bottom:0;right:0;overflow:clip;box-shadow:-28px 0 80px #00000094}.rack-drawer-pane,.catalog-drawer-pane{min-width:0;min-height:0;overflow:hidden}.rack-drawer-pane{background:#0b0d10;border-right:1px solid #ffffff17;grid-template-rows:52px minmax(0,1fr);display:grid}.drawer-toolbar{z-index:30;background:var(--surface-raised);border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:7px;padding:8px 10px;display:grid;position:relative}.drawer-close{width:32px;height:32px;color:var(--text-secondary);background:var(--surface-control);border:1px solid #ffffff14;border-radius:5px;place-items:center;font-size:20px;line-height:1;display:grid}.drawer-close:hover{color:var(--text-primary);background:var(--surface-hover)}.rack-drawer .rack-designer{height:100%;min-height:0;box-shadow:none;background:#090b0d;border:0;border-radius:0;grid-template-rows:auto auto minmax(0,1fr);display:grid}.rack-drawer .rack-header{min-height:62px;padding:10px 13px}.rack-drawer .rack-header h2{font-size:15px}.rack-drawer .rack-header p{font-size:11px}.rack-drawer .rack-metrics{grid-template-columns:1fr 1fr 1fr;gap:9px;padding:7px 12px}.rack-drawer .rack-metrics .utilization-track{display:none}.rack-drawer .rack-workbench{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;min-height:0;display:grid;position:relative}.rack-drawer .rack-frame-wrap{background:#080a0c;min-height:0;padding:10px 18px 16px}.rack-drawer .rack-orientation{width:min(330px,100%);margin-bottom:7px}.rack-drawer .rack-frame{width:min(330px,100%);min-width:280px;box-shadow:none;background:#171a1e;border:1px solid #3d444a;border-radius:3px;grid-template-columns:17px 29px minmax(205px,1fr) 17px;padding:8px}.rack-drawer .rack-rail{background:radial-gradient(circle,#939ba1 0 1px,#15181b 1.2px 3px,#0000 3.2px) top/100% 16px repeat-y,#24292e;border:0}.rack-drawer .rack-component,.rack-drawer .drop-preview{min-height:16px;box-shadow:none;border-radius:2px;padding:1px 5px;left:1px;right:1px}.rack-drawer .rack-component strong{font-size:11px;line-height:1}.rack-drawer .rack-component small{display:none}.rack-drawer .rack-component.is-fixed{z-index:5;background:color-mix(in srgb, var(--component-color) 28%, #111418);box-shadow:inset 3px 0 var(--component-color)}.rack-drawer .rack-component.is-fixed svg{width:9px;height:9px}.rack-drawer .rack-component.is-fixed em{padding:1px 3px;font-size:11px;line-height:1}.rack-drawer .selection-panel{border-top:1px solid var(--border-subtle);background:#16191d;border-left:0;min-height:76px;max-height:128px;padding:10px 12px;overflow:auto}.rack-drawer .empty-selection{height:auto;min-height:54px}.rack-drawer .empty-selection p{max-width:260px}.rack-drawer .selected-component{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.rack-drawer .selected-component h3{margin-top:3px;font-size:11px}.rack-drawer .official-name,.rack-drawer .selection-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.rack-drawer .selection-actions{grid-template-columns:repeat(2,1fr);gap:4px;display:grid}.rack-drawer .selection-actions .button{min-height:26px;padding:0 7px;font-size:11px}.catalog-drawer-pane .catalog-panel.is-compact{border-top:0;height:100%}.catalog-drawer-pane .catalog-panel.is-compact .catalog-header{min-height:74px}.catalog-drawer-pane .catalog-panel.is-compact .catalog-filters{grid-template-columns:1fr;display:grid}.catalog-category+.catalog-category{margin-top:10px}.catalog-category>header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;min-height:28px;padding:0 4px 0 6px;display:flex}.catalog-category>header h3{color:var(--text-secondary);letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:720}.catalog-category>header span{min-width:18px;height:18px;color:var(--text-muted);background:var(--surface-control);border-radius:3px;place-items:center;font-size:11px;display:grid}.catalog-category .catalog-item{margin-top:5px}@media (max-width:1050px){.app-body.is-canvas-mode{grid-template-columns:72px minmax(0,1fr)}.rack-drawer{width:calc(100% - 20px);min-width:0}}@media (max-width:760px){.app-body.is-canvas-mode{display:flex}.workspace.is-canvas{min-height:calc(100vh - 112px)}.rack-drawer{grid-template-columns:1fr}.catalog-drawer-pane{display:none}.floorplan-stage .panel-header{left:8px;right:8px}}.app-body.is-canvas-mode{grid-template-columns:minmax(0,1fr)}.project-identity{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.floorplan-stage .floorplan-tools{z-index:12;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#111417e6;border:1px solid #ffffff1a;border-radius:6px;align-items:center;gap:3px;min-height:34px;padding:3px;display:flex;position:absolute;top:14px;left:14px;box-shadow:0 10px 28px #00000059}.floorplan-stage .floorplan-tools output{min-width:48px;color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:center;font-size:11px}.floorplan-stage .floorplan-tools .button{min-height:28px}.floorplan-stage .floorplan-scroller{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;width:100%;height:100%;padding:0;position:relative;overflow:clip}.floorplan-stage .floorplan-scroller.is-panning{cursor:grabbing}.floorplan-stage .floorplan-scroller:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.floorplan-stage .floorplan-svg{transform-origin:0 0;will-change:transform;-webkit-user-select:none;user-select:none;min-width:0;margin:0;position:absolute;top:0;left:0}.floorplan-stage .floorplan-svg text{-webkit-user-select:none;user-select:none}.floorplan-stage .floorplan-legend{width:max-content;min-height:34px;padding:0 11px;bottom:14px;left:14px;right:auto}.floorplan-stage .floorplan-legend .legend-hint{display:none}.availability-zone text{transform:translateY(2px)}.rack-sidebar-stack{z-index:15;background:#090b0d;border-left:1px solid #ffffff21;width:min(1140px,100%);display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden;box-shadow:-28px 0 80px #00000094}.rack-drawer{width:480px;min-width:0;box-shadow:none;background:#090b0d;border-left:0;flex:0 0 480px;display:block;position:relative;top:auto;bottom:auto;right:auto}.placement-drawer{border-left:1px solid var(--border-subtle);background:#101216;flex:660px;width:660px;min-width:0;position:relative;overflow:hidden}.placement-drawer .catalog-panel.is-compact{border-top:0;height:100%}.placement-drawer .catalog-header{padding-right:14px}.placement-drawer .catalog-filters{grid-template-columns:minmax(0,1fr);gap:10px;padding:12px 14px}.catalog-tabs{scrollbar-width:none;gap:4px;min-width:0;display:flex;overflow-x:auto}.catalog-tabs::-webkit-scrollbar{display:none}.catalog-tabs button{min-height:30px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:4px;flex:1 0 auto;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:11px;font-weight:650;display:inline-flex}.catalog-tabs button:hover{color:var(--text-primary);background:var(--surface-hover)}.catalog-tabs button.is-active{color:var(--primary-bright);background:#c9531e1f;border-color:#c9531e61}.catalog-tabs small{min-width:18px;color:inherit;text-align:center;background:#ffffff0f;border-radius:9px;padding:2px 4px;font-size:11px}.placement-drawer .catalog-list{padding:12px 14px 20px}.placement-drawer .catalog-item{min-height:62px}.placement-drawer .catalog-category{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.placement-drawer .catalog-category+.catalog-category{margin-top:18px}.placement-drawer .catalog-category>header{grid-column:1/-1}.rack-drawer .rack-designer{grid-template-rows:auto minmax(0,1fr);height:100%;display:grid}.rack-titlebar{z-index:5;border-bottom:1px solid var(--border-subtle);background:#111417f5;justify-content:space-between;align-items:center;gap:10px;min-height:66px;padding:9px 12px 9px 16px;display:flex}.rack-title-copy{min-width:0}.rack-title-copy h2{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:16px;overflow:hidden}.rack-title-copy p{color:var(--text-muted);margin-top:2px;font-size:11px}.rack-title-actions{align-items:center;gap:3px;display:flex}.rack-title-actions .button{padding:0 9px}.rack-title-actions .icon-button{color:var(--text-secondary);background:var(--surface-control)}.rack-drawer .rack-workbench{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;min-height:0;display:grid}.rack-drawer .rack-frame-wrap{background:#080a0c;min-height:0;padding:12px 14px 28px;overflow:auto}.rack-drawer .rack-orientation{width:100%;margin:0 0 8px}.rack-drawer .rack-frame{background:0 0;border:0;border-radius:0;grid-template-columns:28px minmax(0,1fr) 28px;width:100%;min-width:0;margin:0;padding:0}.rack-drawer .rack-unit-numbers{color:#9ba2a8;background:#171a1e;border-right:1px solid #353a3f;grid-area:1/1;font-size:11px;font-weight:650}.rack-drawer .rack-unit-numbers.is-right{border-left:1px solid #353a3f;border-right:0;grid-column:3}.rack-drawer .rack-unit-numbers span{border-bottom-color:#2a2f33}.rack-drawer .rack-grid{border:1px solid #343a3f;border-left:0;border-right:0;grid-column:2}.rack-drawer .rack-unit-row{color:#363c41;letter-spacing:44px;border-bottom-color:#343a3f;height:24px;font-size:11px}.rack-drawer .rack-component,.rack-drawer .drop-preview{border:2px solid var(--component-color);border-radius:2px;min-height:24px;padding:2px 7px;left:0;right:0}.rack-drawer button.rack-component{width:100%}.rack-drawer .rack-component small{font-size:11px;display:block}.rack-drawer .rack-component.is-fixed{box-shadow:inset 3px 0 var(--component-color)}.rack-drawer .selection-panel{min-height:72px;max-height:132px}.catalog-item{border-width:2px}.project-dialog .dialog-card{overflow:hidden}.project-dialog .dialog-body{padding:0}@media (max-width:700px){.topbar{grid-template-columns:minmax(150px,1fr) auto}.brand{display:none}.project-identity{padding-left:14px}.rack-drawer{flex-basis:45%;width:45%}.rack-sidebar-stack{width:100%}.placement-drawer{flex-basis:55%;width:55%}.placement-drawer .catalog-category{grid-template-columns:minmax(0,1fr)}.rack-titlebar{align-items:flex-start}.rack-title-actions .button{font-size:0}}:root{--font-utility:11px;--font-control:12px;--font-body:14px;--font-heading:16px}body{font-size:var(--font-body)}.button,.icon-button,.tool-button,.view-mode-switch button,.rack-scale-switch button{min-height:34px;font-size:var(--font-control)}select,input{height:40px;font-size:var(--font-body)}.eyebrow,.brand div span,.project-identity span,.topbar small,.save-state,.floorplan-legend,.rack-orientation,.catalog-item-copy span,.catalog-tabs small,.project-facts dt,.project-command-grid small,.form-grid label small,.map-select-summary,.status-pill,.badge{font-size:var(--font-utility);line-height:1.35}.catalog-header p,.rack-title-copy p,.project-overview-copy p,.project-manager-section>header p,.project-portability p,.project-reset-row p,.dialog-header p,.placement-feedback span,.toast span{font-size:var(--font-control);line-height:1.45}.catalog-panel.is-compact .catalog-header h2,.project-overview-copy h2{font-size:18px}.catalog-item-copy strong{font-size:13px;line-height:1.25}.catalog-tabs button,.project-facts dd,.project-command-grid strong,.project-manager-section>header h3,.project-portability h3,.project-reset-row h3,.form-grid label>span,.form-field>span{font-size:var(--font-control)}.dialog-header h2{font-size:18px}.placement-feedback strong{font-size:13px}.empty-features{font-size:var(--font-utility)}.empty-features i,.project-file-mark{font-size:11px}.floorplan-tools output,.floor-rack .rack-usage{font-size:var(--font-utility)}.floor-rack .rack-name{font-size:var(--font-body)}.rack-scale-switch{padding:3px}.rack-scale-switch button{min-height:30px;padding:0 9px}.rack-designer.is-small .rack-unit-numbers{font-size:11px}.rack-designer.is-small .rack-component-handle{flex-basis:68px;min-width:68px;font-size:12px}.rack-designer.is-small .rack-component strong{font-size:12px;line-height:1}.rack-designer.is-small .rack-component small{margin-top:1px;font-size:11px;line-height:1;display:block}.rack-designer.is-small .rack-component,.rack-designer.is-small .drop-preview{padding:1px 8px}.rack-designer.is-normal .rack-unit-numbers{font-size:12px}.rack-designer.is-normal .rack-component-handle{flex-basis:80px;min-width:80px;font-size:13px}.rack-designer.is-normal .rack-component strong{font-size:13px;line-height:1.05}.rack-designer.is-normal .rack-component small{font-size:12px;line-height:1.05}.rack-designer.is-normal .rack-component,.rack-designer.is-normal .drop-preview{padding:2px 9px}.component-action-popover{padding:14px}.component-action-popover h3,.component-action-popover p,.component-action-popover small{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;overflow:visible}.component-action-popover h3{font-size:15px;line-height:1.3}.component-action-popover p,.component-action-popover small{font-size:12px;line-height:1.4}.component-action-popover .eyebrow{font-size:11px}.component-action-popover.is-normal h3{font-size:16px}.component-action-popover.is-normal p,.component-action-popover.is-normal small,.component-action-popover.is-normal .component-action-grid .button{font-size:13px}.component-action-grid{gap:7px;margin-top:12px}.component-action-grid .button{min-height:38px;font-size:var(--font-control);padding:0 10px}.popover-close{width:32px;height:32px;font-size:18px}.placement-drawer,.placement-drawer *{-webkit-user-select:none;user-select:none}.placement-drawer input{-webkit-user-select:text;user-select:text}.project-identity{cursor:default}.project-identity:hover strong{color:var(--text-primary)}.project-menu-button{color:var(--text-primary);background:color-mix(in srgb, var(--primary) 12%, var(--surface-control));border-color:color-mix(in srgb, var(--primary) 42%, var(--border-subtle))}.project-menu-button:hover{color:var(--primary-bright);border-color:var(--primary)}.rack-drawer .rack-workbench{grid-template-rows:minmax(0,1fr)}.rack-drawer .rack-frame-wrap{padding:10px 0 24px}.rack-drawer .rack-orientation{padding:0 8px}.rack-drawer .rack-frame{grid-template-columns:24px minmax(0,1fr) 24px}.rack-drawer .rack-grid{border:0;overflow:hidden}.rack-drawer .rack-unit-row{height:32px;font-size:11px}.rack-drawer .rack-component,.rack-drawer .drop-preview{min-height:32px}.rack-drawer .rack-unit-numbers,.rack-orientation,.floorplan-tools output,.status-pill,.badge,.form-grid label small,.catalog-tabs small,.map-select-summary,.form-grid label>span,.form-field>span,.placement-feedback strong,.dialog-header h2,.placement-feedback span,.dialog-header p,.component-action-popover p,.component-action-popover small,.component-action-grid .button,.toast span{font-size:11px}.component-action-popover h3{font-size:12px}.rack-drawer .rack-component.is-fixed em{font-size:11px}.rack-drawer .rack-component strong{font-size:12px}.rack-drawer .rack-component small{font-size:11px}.component-action-popover{z-index:80;border:1px solid color-mix(in srgb, var(--component-color) 52%, var(--border-subtle));border-left:2px solid var(--component-color);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#14171bfa;border-radius:6px;width:238px;padding:10px;position:fixed;box-shadow:0 18px 55px #000000ad}.component-action-popover:after{content:"";border-top:1px solid color-mix(in srgb, var(--component-color) 52%, var(--border-subtle));border-right:1px solid color-mix(in srgb, var(--component-color) 52%, var(--border-subtle));background:#14171b;width:10px;height:10px;position:absolute;top:50%;right:-6px;transform:translateY(-50%)rotate(45deg)}.component-action-popover header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:8px;padding:0 0 9px;display:flex}.component-action-popover header>div{min-width:0}.component-action-popover h3,.component-action-popover p,.component-action-popover small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.component-action-popover h3{margin-top:3px;font-size:11px}.component-action-popover p,.component-action-popover small{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.popover-close{width:22px;height:22px;color:var(--text-muted);background:0 0;border:0;border-radius:3px;flex:none}.popover-close:hover{color:var(--text-primary);background:var(--surface-hover)}.component-action-grid{grid-template-columns:1fr 1fr;gap:5px;margin-top:9px;display:grid}.component-action-grid .button{justify-content:flex-start;width:100%;min-width:0;padding:0 8px;font-size:11px}.project-dialog{width:min(720px,100vw - 28px)}.project-manager{padding:18px}.project-overview{background:linear-gradient(105deg, #c9531e17, transparent 48%), var(--hardware-deep);border:1px solid var(--border-subtle);border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px;display:grid}.project-file-mark{width:42px;height:42px;color:var(--primary-bright);background:#c9531e1f;border:1px solid #c9531e59;border-radius:5px;place-items:center;font-size:11px;font-weight:800;display:grid}.project-overview-copy{min-width:0}.project-overview-copy h2{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:20px;overflow:hidden}.project-overview-copy p{color:var(--text-muted);margin-top:3px;font-size:11px}.project-facts{background:var(--hardware-deep);border:1px solid var(--border-subtle);border-radius:7px;grid-template-columns:repeat(4,minmax(0,1fr));margin:12px 0 0;display:grid}.project-facts div{border-right:1px solid var(--border-subtle);min-width:0;padding:11px 12px}.project-facts div:last-child{border-right:0}.project-facts dt,.project-facts dd{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.project-facts dt{color:var(--text-muted);font-size:11px}.project-facts dd{margin-top:4px;font-size:11px;font-weight:650}.project-manager-section{margin-top:16px}.project-manager-section>header h3,.project-portability h3,.project-reset-row h3{font-size:11px}.project-manager-section>header p,.project-portability p,.project-reset-row p{color:var(--text-muted);margin-top:3px;font-size:11px}.project-command-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:9px;display:grid}.project-command-grid>button{min-width:0;min-height:78px;color:var(--text-secondary);text-align:left;background:var(--surface-control);border:1px solid var(--border-subtle);border-radius:6px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:11px;display:grid}.project-command-grid>button:hover{color:var(--primary-bright);background:var(--surface-hover);border-color:#c9531e6b}.project-command-grid svg{width:17px}.project-command-grid span{flex-direction:column;min-width:0;display:flex}.project-command-grid strong{color:var(--text-primary);font-size:11px}.project-command-grid small{color:var(--text-muted);margin-top:3px;font-size:11px}.project-portability,.project-reset-row{background:var(--hardware-deep);border:1px solid var(--border-subtle);border-radius:7px;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;padding:12px;display:flex}.project-portability-copy{align-items:center;gap:10px;min-width:0;display:flex}.project-portability-copy>svg{width:18px;color:var(--info);flex:none}.project-reset-row{background:#df6f6f06;border-color:#df6f6f24}.map-select-summary{color:var(--text-muted);background:var(--hardware-deep);border:1px solid var(--border-subtle);border-radius:5px;flex-wrap:wrap;gap:6px 12px;padding:9px 10px;font-size:11px;display:flex}.map-select-summary span:before{color:var(--primary-bright);content:"•";margin-right:5px}@media (max-width:760px){.project-command-grid,.project-facts{grid-template-columns:1fr 1fr}.project-facts div:nth-child(2){border-right:0}.project-facts div:nth-child(-n+2){border-bottom:1px solid var(--border-subtle)}.save-state{display:none}}.app-shell{grid-template-rows:64px minmax(0,1fr)}.topbar{grid-template-columns:minmax(330px,1fr) auto minmax(250px,1fr);height:64px;padding:0 12px 0 0}.topbar-context{align-items:center;min-width:0;height:100%;display:flex}.topbar-context .brand{flex:0 0 174px;min-width:174px}.topbar-context .project-identity{min-width:0;padding:0 12px 0 16px}.topbar-context .save-state{white-space:nowrap;flex:none;margin:0 12px 0 auto}.topbar-menu{border:1px solid var(--border-subtle);background:#06080ab8;border-radius:7px;justify-self:center;align-items:center;gap:4px;padding:4px;display:flex;box-shadow:inset 0 1px #ffffff06}.topbar-separator{background:var(--border-subtle);width:1px;height:20px;margin:0 2px}.view-mode-switch,.rack-scale-switch{background:var(--hardware-deep);border:1px solid var(--border-subtle);border-radius:6px;align-items:center;gap:2px;padding:3px;display:inline-flex}.view-mode-switch{justify-self:end}.view-mode-switch button,.rack-scale-switch button{min-height:28px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:4px;padding:0 9px;font-size:11px;font-weight:680}.view-mode-switch button:hover,.rack-scale-switch button:hover{color:var(--text-primary)}.view-mode-switch button.is-active,.rack-scale-switch button.is-active{color:var(--primary-bright);background:#c9531e21;border-color:#c9531e61}.rack-scale-switch{flex:none}.rack-scale-switch button{text-transform:capitalize;min-height:25px;padding:0 6px;font-size:11px}.placement-drawer .catalog-list{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px;display:grid}.placement-drawer .catalog-item+.catalog-item{margin-top:0}.placement-drawer .empty-inline{grid-column:1/-1}.rack-drawer .rack-component,.rack-drawer .drop-preview{min-height:32px;padding:4px 8px}.rack-drawer .rack-component{align-items:center;gap:8px;display:flex}.rack-component-handle{min-width:72px;color:var(--component-color);letter-spacing:.035em;border-right:1px solid color-mix(in srgb, var(--component-color) 38%, transparent);flex:0 0 72px;align-self:stretch;align-items:center;padding-right:8px;font-size:12px;font-weight:820;display:flex}.rack-component-details{text-align:right;flex-direction:column;flex:1;justify-content:center;align-items:flex-end;min-width:0;display:flex}.rack-drawer .rack-component strong{max-width:100%;font-size:12px;line-height:1.15}.rack-drawer .rack-component small{max-width:100%;margin-top:2px;font-size:11px;line-height:1.15}.rack-drawer .rack-component.is-fixed>svg{position:absolute;top:5px;left:5px}.rack-drawer .rack-component.is-fixed .rack-component-handle{padding-left:13px}.rack-drawer .rack-component.is-fixed .rack-component-details{padding-right:32px}.rack-drawer .rack-component.is-fixed em{position:absolute;top:5px;right:5px}.button,.icon-button,.tool-button,.eyebrow,.brand div span,.project-identity span,.topbar small,.catalog-header p,.rack-title-copy p,.floorplan-legend,.project-overview-copy p,.project-manager-section>header p,.project-portability p,.project-reset-row p{font-size:11px}.brand strong,.project-identity strong{font-size:14px}.catalog-panel.is-compact .catalog-header h2{font-size:15px}.catalog-item-copy strong{font-size:12px}.catalog-item-copy span,.project-facts dt,.project-command-grid small,.catalog-tabs button,.project-facts dd,.project-command-grid strong,.project-manager-section>header h3,.project-portability h3,.project-reset-row h3,.rack-drawer .rack-unit-numbers{font-size:11px}@media (max-width:1180px){.topbar{grid-template-columns:minmax(260px,1fr) auto auto}.topbar-context .save-state{display:none}.topbar-context .brand{flex-basis:150px;min-width:150px}}@media (max-width:900px){.app-shell{grid-template-rows:auto minmax(0,1fr)}.topbar{grid-template-rows:54px 44px;grid-template-columns:minmax(0,1fr) auto;height:auto;padding:0 8px;position:sticky;top:0}.topbar-context .brand{display:none}.topbar-context .project-identity{padding-left:8px;display:flex}.topbar-menu{grid-area:2/1/auto/-1;justify-self:center}.view-mode-switch{grid-area:1/2}}@media (max-width:700px){.placement-drawer .catalog-list{grid-template-columns:minmax(0,1fr)}.topbar-menu .button{padding:0 7px;font-size:11px}}
