:root{--bg:#f5f5f7;--surface:rgba(255,255,255,0.34);--surface-solid:#ffffff;--surface-soft:rgba(255,255,255,0.54);--line:rgba(60,60,67,0.16);--line-strong:rgba(60,60,67,0.28);--text:#1d1d1f;--muted:#5f6368;--blue:#007aff;--blue-hover:#006edb;--blue-soft:rgba(0,122,255,0.12);--blue-glass:rgba(0,122,255,0.16);--blue-border:rgba(0,122,255,0.44);--blue-shadow:0 10px 24px rgba(0,122,255,0.24);--teal:#00a6d6;--green:#34c759;--amber:#d97706;--red:#f04438;--heat-loss:#ef4444;--heat-gain:#007aff;--glass-bg:rgba(255,255,255,0.14);--glass-strong:rgba(255,255,255,0.26);--glass-subtle:rgba(255,255,255,0.08);--glass-border:rgba(255,255,255,0.24);--glass-blur:blur(28px) saturate(170%);--glass-edge:inset 0 1px 0 rgba(255,255,255,0.82),inset 0 -1px 0 rgba(255,255,255,0.28);--button-glass:linear-gradient(145deg,rgba(255,255,255,0.38),rgba(255,255,255,0.10));--button-glass-hover:linear-gradient(145deg,rgba(255,255,255,0.58),rgba(239,247,255,0.22));--input-glass:linear-gradient(145deg,rgba(255,255,255,0.88),rgba(255,255,255,0.66));--tile-glass:linear-gradient(145deg,rgba(255,255,255,0.10),rgba(255,255,255,0.01));--tile-glass-strong:linear-gradient(145deg,rgba(255,255,255,0.16),rgba(255,255,255,0.025));--shadow:0 22px 58px rgba(0,0,0,0.10);--control-hover-bg:var(--button-glass-hover);--control-hover-border:rgba(0,122,255,0.32);--control-hover-shadow:var(--glass-edge),0 12px 28px rgba(0,122,255,0.10),0 4px 14px rgba(0,0,0,0.06);--danger-hover-bg:linear-gradient(180deg,#ffffff,#fff1f2);--danger-hover-border:rgba(244,63,94,0.5);--danger-hover-shadow:inset 0 0 0 1px rgba(244,63,94,0.08),0 8px 20px rgba(127,29,29,0.08);--tooltip-bg:rgba(255,255,255,0.9);--tooltip-arrow-bg:rgba(255,255,255,0.9);--tooltip-text:#1d1d1f;--tooltip-border:rgba(60,60,67,0.2);--tooltip-shadow:var(--glass-edge),0 16px 34px rgba(0,0,0,0.14);--radius:6px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}html[data-theme="dark"]{--bg:#08090b;--surface:rgba(24,24,27,0.30);--surface-solid:#18191d;--surface-soft:rgba(35,36,40,0.34);--line:rgba(232,238,247,0.12);--line-strong:rgba(232,238,247,0.22);--text:#f4f7fb;--muted:#a7b0bd;--blue:#0a84ff;--blue-hover:#409cff;--blue-soft:rgba(10,132,255,0.18);--blue-glass:rgba(10,132,255,0.22);--blue-border:rgba(10,132,255,0.52);--blue-shadow:0 10px 26px rgba(10,132,255,0.28);--green:#30d158;--heat-loss:#ff6961;--heat-gain:#409cff;--glass-bg:rgba(10,10,12,0.16);--glass-strong:rgba(18,18,21,0.24);--glass-subtle:rgba(24,24,27,0.10);--glass-border:rgba(239,246,255,0.16);--glass-edge:inset 0 1px 0 rgba(255,255,255,0.16),inset 0 -1px 0 rgba(255,255,255,0.06);--button-glass:linear-gradient(145deg,rgba(54,55,60,0.30),rgba(10,10,12,0.12));--button-glass-hover:linear-gradient(145deg,rgba(76,77,84,0.44),rgba(18,18,21,0.24));--input-glass:linear-gradient(145deg,rgba(45,46,51,0.80),rgba(24,25,29,0.62));--tile-glass:linear-gradient(145deg,rgba(42,43,48,0.14),rgba(8,9,11,0.015));--tile-glass-strong:linear-gradient(145deg,rgba(52,53,58,0.20),rgba(9,10,12,0.04));--shadow:0 24px 64px rgba(0,0,0,0.30);--control-hover-bg:var(--button-glass-hover);--control-hover-border:rgba(10,132,255,0.44);--control-hover-shadow:var(--glass-edge),0 12px 28px rgba(10,132,255,0.16),0 4px 14px rgba(0,0,0,0.22);--tooltip-bg:rgba(20,21,25,0.9);--tooltip-arrow-bg:rgba(20,21,25,0.9);--tooltip-text:#f4f7fb;--tooltip-border:rgba(232,238,247,0.2);--tooltip-shadow:var(--glass-edge),0 18px 38px rgba(0,0,0,0.36)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}body{position:relative;background:var(--bg);color:var(--text);overflow:hidden}html[data-workspace="schematic"],html[data-workspace="schematic"] body{overflow:hidden}html[data-theme="dark"] body{background:var(--bg)}body::before,body::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none}body::before{background:linear-gradient(180deg,#fbfbfd 0%,#f5f5f7 42%,#ececf0 100%);opacity:1}body::after{background:linear-gradient(180deg,#111214 0%,#08090b 48%,#030405 100%);opacity:0}html[data-theme="dark"] body::before{opacity:0}html[data-theme="dark"] body::after{opacity:1}#app{position:relative;z-index:1}html.theme-transition body,html.theme-transition body::before,html.theme-transition body::after,html.theme-transition .studio-shell,html.theme-transition .topbar,html.theme-transition .modebar,html.theme-transition .bottombar,html.theme-transition .workspace,html.theme-transition .left-rail,html.theme-transition .tool-palette,html.theme-transition .three-workspace,html.theme-transition .inspector,html.theme-transition .product-panel,html.theme-transition .results-panel,html.theme-transition .floor-plan-popover,html.theme-transition .brand-menu-popover,html.theme-transition .project-settings-popover,html.theme-transition .methodology-popover,html.theme-transition .history-popover,html.theme-transition .export-popover,html.theme-transition .product-library-popover,html.theme-transition .ghost-btn,html.theme-transition .ghost-icon,html.theme-transition .primary-btn,html.theme-transition .theme-toggle,html.theme-transition .theme-toggle-track,html.theme-transition .theme-toggle-knob,html.theme-transition .mode-tab,html.theme-transition .floor-row,html.theme-transition .layer-row,html.theme-transition .tool-btn,html.theme-transition .panel-reopen,html.theme-transition .result-card,html.theme-transition .field,html.theme-transition .settings-field,html.theme-transition .collapsible-section,html.theme-transition .room-type-preset-card,html.theme-transition .uvalue-setpoint-card,html.theme-transition .material-card,html.theme-transition .settings-tooltip,html.theme-transition .settings-tooltip-bubble,html.theme-transition .alpha-preview-badge::after,html.theme-transition input,html.theme-transition select,html.theme-transition textarea{transition-duration:520ms;transition-property:background-color,border-color,box-shadow,color,opacity,fill,stroke;transition-timing-function:cubic-bezier(0.22,1,0.36,1)}::view-transition-old(root),::view-transition-new(root){animation-duration:520ms;animation-timing-function:cubic-bezier(0.22,1,0.36,1);mix-blend-mode:normal}button,input,select{font:inherit}select{display:inline-flex;align-items:center;vertical-align:middle;line-height:normal;color:var(--text);background-color:color-mix(in srgb,var(--surface-solid) 84%,transparent);border-color:var(--line);color-scheme:light}select option,select optgroup{background:color-mix(in srgb,#ffffff 96%,var(--blue-soft));color:var(--text);font:inherit}select option{padding:10px 14px}select option:checked{background:color-mix(in srgb,var(--blue) 18%,#ffffff);color:var(--text)}@supports (appearance:base-select){select{appearance:base-select;-webkit-appearance:base-select}select::picker(select){appearance:base-select;-webkit-appearance:base-select;min-width:anchor-size(width);max-height:min(360px,calc(100dvh - 96px));margin-top:6px;border:1px solid var(--glass-border);border-radius:10px;background:color-mix(in srgb,var(--surface-solid) 88%,transparent);color:var(--text);box-shadow:var(--glass-edge),0 18px 42px rgba(15,23,42,0.18);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--blue) 46%,var(--line)) transparent}select::picker(select)::-webkit-scrollbar{width:8px}select::picker(select)::-webkit-scrollbar-track{background:transparent}select::picker(select)::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--blue) 42%,var(--line))}select::picker-icon{color:var(--muted);transition:transform 0.16s ease,color 0.16s ease}select:open::picker-icon{color:var(--blue);transform:rotate(180deg)}select option{min-height:34px;align-items:center;padding:8px 14px;border:0;background:transparent;color:var(--text);cursor:pointer;font-weight:620}select option:hover,select option:focus{background:var(--button-glass-hover);color:var(--text)}select option:checked{background:var(--blue-glass);color:var(--blue);font-weight:760}select option::checkmark{display:none}}html[data-theme="dark"] select{color-scheme:dark;background-color:color-mix(in srgb,var(--surface-solid) 78%,transparent)}html[data-theme="dark"] select option,html[data-theme="dark"] select optgroup{background:#15171c;color:var(--text)}html[data-theme="dark"] select option:checked{background:color-mix(in srgb,var(--blue) 32%,#15171c);color:#ffffff}@supports (appearance:base-select){html[data-theme="dark"] select::picker(select){border-color:rgba(239,246,255,0.18);background:color-mix(in srgb,#16181d 86%,transparent);box-shadow:var(--glass-edge),0 22px 46px rgba(0,0,0,0.44);scrollbar-color:color-mix(in srgb,var(--blue) 62%,#ffffff 18%) transparent}html[data-theme="dark"] select::picker(select)::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--blue) 56%,#ffffff 18%)}html[data-theme="dark"] select option:hover,html[data-theme="dark"] select option:focus{background:rgba(255,255,255,0.08);color:#ffffff}html[data-theme="dark"] select option:checked{background:rgba(10,132,255,0.22);color:#ffffff}}button{border:0;background:transparent;color:inherit;cursor:pointer}svg{width:18px;height:18px;flex:0 0 auto}.studio-shell{height:100%;min-width:1040px;display:grid;grid-template-rows:58px 62px minmax(0,1fr) 56px;background:transparent}.topbar,.modebar,.bottombar{display:flex;align-items:center;background:var(--glass-strong);border-bottom:1px solid var(--glass-border);box-shadow:0 1px 0 rgba(60,60,67,0.05);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.topbar{justify-content:space-between;padding:0 14px 0 18px}.brand-lockup,.top-actions,.mode-tabs,.system-controls,.micro-tools,.bottom-tools,.zoom-tools,.view-tools{display:flex;align-items:center;gap:8px}.brand-mark{width:30px;height:30px;display:grid;place-items:center;color:var(--blue)}.brand-mark .brand-logo{width:24px;height:24px;flex:0 0 24px;overflow:visible}.brand-logo{display:inline-flex;align-items:center;justify-content:center;overflow:visible}.brand-logo img{display:block;max-width:none;user-select:none;pointer-events:none}.brand-logo-icon img{width:24px;height:24px;object-fit:contain}.brand-logo-wordmark{width:132px;height:30px;justify-content:flex-start;align-items:center}.brand-logo-wordmark img{width:132px;height:100%;object-fit:contain}.brand-logo img.brand-logo-image-dark{display:none}html[data-theme="dark"] .brand-logo img.brand-logo-image-light{display:none}html[data-theme="dark"] .brand-logo img.brand-logo-image-dark{display:block}.project-picker,.brand-menu-button,.level-pill{display:inline-flex;gap:8px;align-items:center;font-size:14px;font-weight:650}.level-pill{color:#334155;font-weight:560}.project-picker,.brand-menu-button,.level-pill{min-height:30px;padding:0 8px;border:1px solid transparent;border-radius:var(--radius);transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.brand-menu-button{height:38px;min-width:122px;justify-content:center;padding:0 8px}.brand-menu-button .brand-logo-wordmark{width:106px;height:28px}.brand-menu-button .brand-logo-wordmark img{width:106px;height:100%;object-fit:contain}.brand-menu-mark{border:1px solid transparent;border-radius:var(--radius);transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.project-picker:hover,.project-picker.active,.brand-menu-button:hover,.brand-menu-button.active,.brand-menu-mark:hover,.brand-menu-mark.active,.level-pill:hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.divider{width:1px;height:22px;background:var(--line);margin:0 6px}.ghost-btn,.ghost-icon,.primary-btn,.mode-tab,.micro-tools button,.bottom-tools button,.zoom-tools button,.view-tools button,.view-tools select{display:inline-flex;height:34px;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,255,255,0.66);border-radius:var(--radius);background:var(--button-glass);color:var(--text);padding:0 11px;font-size:13px;font-weight:620;white-space:nowrap;box-shadow:var(--glass-edge),0 6px 16px rgba(0,0,0,0.055);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.ghost-icon{width:34px;padding:0;font-size:18px}.theme-toggle{height:34px;display:inline-flex;align-items:center;gap:8px;padding:0 10px 0 8px;border:1px solid rgba(255,255,255,0.66);border-radius:var(--radius);background:var(--button-glass);color:var(--text);font-size:12px;font-weight:760;box-shadow:var(--glass-edge),0 6px 16px rgba(0,0,0,0.055);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.theme-toggle:hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.theme-toggle-track{width:34px;height:20px;position:relative;flex:0 0 34px;border:1px solid var(--line-strong);border-radius:999px;background:rgba(255,255,255,0.46);box-shadow:var(--glass-edge)}.theme-toggle-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:linear-gradient(145deg,#ffffff,#e5e7eb);box-shadow:0 2px 6px rgba(0,0,0,0.22);transition:transform 0.18s ease,background 0.18s ease}.theme-toggle.active{border-color:var(--blue-border);color:var(--text)}.theme-toggle.active .theme-toggle-track{background:linear-gradient(145deg,rgba(10,132,255,0.62),rgba(10,132,255,0.28));border-color:var(--blue-border)}.theme-toggle.active .theme-toggle-knob{transform:translateX(14px);background:linear-gradient(145deg,#f8fbff,#cfe5ff)}.primary-btn{border-color:rgba(0,98,204,0.68);background:linear-gradient(145deg,rgba(40,160,255,0.94),rgba(0,122,255,0.86));color:white;box-shadow:inset 0 1px 0 rgba(255,255,255,0.34),inset 0 -1px 0 rgba(0,68,153,0.22),var(--blue-shadow)}.primary-btn.wide{width:100%;margin-top:8px}.secondary-btn{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,0.64);border-radius:var(--radius);background:var(--button-glass);color:var(--text);padding:0 12px;font-size:12px;font-weight:820;box-shadow:var(--glass-edge),0 7px 18px rgba(15,23,42,0.07);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.secondary-btn svg{width:15px;height:15px;flex:0 0 15px}.secondary-btn.wide{width:100%;margin-top:8px}.danger-btn{height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #fecaca;border-radius:var(--radius);background:#fef2f2;color:#b42318;font-size:12px;font-weight:780}.danger-btn.wide{width:100%;margin:10px 0 2px}.modebar{gap:18px;padding:0 14px;border-bottom-color:var(--line-strong);justify-content:space-between}.mode-tabs{align-self:stretch}.modebar-controls{display:flex;align-items:center;gap:10px;margin-left:auto}.mode-tab{height:42px;min-width:108px;border-color:var(--line-strong)}.mode-tab.active{background:linear-gradient(145deg,rgba(40,160,255,0.94),rgba(0,122,255,0.86));border-color:rgba(0,98,204,0.68);color:white;box-shadow:inset 0 1px 0 rgba(255,255,255,0.24),var(--blue-shadow)}.mode-tab.floor-plan-lock{min-width:148px;color:white}.mode-tab.floor-plan-lock.unlocked{border-color:rgba(0,98,204,0.68);background:linear-gradient(145deg,rgba(40,160,255,0.94),rgba(0,122,255,0.86));box-shadow:inset 0 1px 0 rgba(255,255,255,0.24),var(--blue-shadow)}.mode-tab.floor-plan-lock.locked{border-color:rgba(185,28,28,0.72);background:linear-gradient(145deg,rgba(248,113,113,0.96),rgba(220,38,38,0.9));box-shadow:inset 0 1px 0 rgba(255,255,255,0.22),0 12px 28px rgba(220,38,38,0.24)}.mode-tab.floor-plan-lock:hover{color:white}.ghost-btn.active{border-color:var(--blue-border);background:var(--blue-glass);color:var(--blue);box-shadow:var(--glass-edge),0 10px 24px rgba(0,122,255,0.14)}.ghost-btn:not(:disabled):hover,.ghost-icon:not(:disabled):hover,.mode-tab:not(.active):not(:disabled):hover,.micro-tools button:not(:disabled):hover,.bottom-tools button:not(.active):not(:disabled):hover,.zoom-tools button:not(:disabled):hover,.view-tools button:not(.active):not(:disabled):hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.secondary-btn:not(:disabled):hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}html[data-theme="dark"] .secondary-btn{border-color:rgba(239,246,255,0.20);color:var(--text);box-shadow:var(--glass-edge),0 8px 18px rgba(0,0,0,0.22)}html[data-theme="dark"] .secondary-btn:not(:disabled):hover{border-color:var(--control-hover-border);color:var(--text)}.primary-btn:not(:disabled):hover,.primary-mini:not(:disabled):hover,.mode-tab.active:hover{border-color:rgba(0,86,179,0.78);background:linear-gradient(145deg,rgba(65,174,255,0.98),rgba(0,110,219,0.9));color:white;box-shadow:0 12px 28px rgba(0,122,255,0.30);transform:translateY(-1px)}.mode-tab.floor-plan-lock.unlocked:hover{border-color:rgba(0,86,179,0.78);background:linear-gradient(145deg,rgba(65,174,255,0.98),rgba(0,110,219,0.9));color:white;box-shadow:0 12px 28px rgba(0,122,255,0.30)}.mode-tab.floor-plan-lock.locked:hover{border-color:rgba(153,27,27,0.84);background:linear-gradient(145deg,rgba(252,165,165,0.98),rgba(185,28,28,0.92));color:white;box-shadow:0 12px 28px rgba(220,38,38,0.32)}.mode-tab:disabled,.mode-tab.disabled{cursor:not-allowed;opacity:0.45}.system-controls{margin-left:0;margin-right:0;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.system-label{height:36px;display:grid;place-items:center;padding:0 14px;background:rgba(255,255,255,0.48);font-size:12px;font-weight:750}.system-controls select{width:230px;height:36px;min-height:36px;box-sizing:border-box;display:inline-flex;align-items:center;border:0;border-left:1px solid var(--line);padding:0 12px;line-height:36px;color:var(--text);background:transparent;font-size:13px;font-weight:590}@supports (appearance:base-select){.system-controls select{align-items:center;line-height:36px}.system-controls select option{display:flex;align-items:center}}.view-selector select{width:150px}.drawing-selector select{width:210px}.system-controls select:last-child{color:var(--text)}.micro-tools button{width:36px;padding:0}.micro-tools button:disabled{cursor:not-allowed;opacity:0.42;box-shadow:none;transform:none}.workspace{display:grid;grid-template-columns:var(--workspace-columns,220px var(--tools-width,168px) minmax(360px,1fr) var(--inspector-width,280px) var(--product-width,0px) var(--pipe-width,0px) var(--results-width,280px));gap:10px;min-height:0;padding:10px 0 10px 10px;background:radial-gradient(circle at 18% 18%,rgba(0,122,255,0.08),transparent 28%),radial-gradient(circle at 86% 22%,rgba(255,255,255,0.72),transparent 24%),linear-gradient(135deg,rgba(242,244,248,0.78),rgba(229,233,240,0.9))}html[data-theme="dark"] .workspace{background:radial-gradient(circle at 18% 18%,rgba(10,132,255,0.055),transparent 30%),radial-gradient(circle at 86% 22%,rgba(245,245,247,0.07),transparent 24%),linear-gradient(135deg,rgba(18,18,21,0.94),rgba(5,6,8,0.97))}.workspace.schematic-workspace-shell{grid-template-columns:292px 92px minmax(520px,1fr);height:100%;min-height:0;overflow:hidden;align-items:stretch}.workspace.schematic-workspace-shell.schematic-selection-open{grid-template-columns:292px 92px minmax(420px,1fr) 328px}.workspace.schematic-workspace-shell.schematic-zone-drawing{grid-template-columns:92px minmax(520px,1fr)}.workspace.schematic-workspace-shell.schematic-zone-drawing.schematic-selection-open{grid-template-columns:92px minmax(420px,1fr) 328px}.workspace.schematic-workspace-shell>*{min-height:0}.left-rail,.tool-palette,.inspector,.product-panel,.pipe-panel,.results-panel{position:relative;z-index:4;background:var(--glass-strong);border:1px solid var(--glass-border);border-radius:var(--radius);min-height:0;overflow:auto;box-shadow:var(--shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);will-change:transform,opacity}.project-settings-popover,.brand-menu-popover,.methodology-popover,.history-popover,.export-popover,.product-library-popover,.floor-plan-popover{will-change:transform,opacity}.project-settings-popover.tile-opening,.brand-menu-popover.tile-opening,.methodology-popover.tile-opening,.history-popover.tile-opening,.export-popover.tile-opening,.product-library-popover.tile-opening{transform-origin:top right;animation:popupTileIn 190ms cubic-bezier(0.2,0.8,0.2,1) both}.project-settings-popover.tile-closing,.brand-menu-popover.tile-closing,.methodology-popover.tile-closing,.history-popover.tile-closing,.export-popover.tile-closing,.product-library-popover.tile-closing{pointer-events:none;transform-origin:top right;animation:popupTileOut 170ms cubic-bezier(0.4,0,0.2,1) both}.floor-plan-popover.tile-opening{transform-origin:top left;animation:popupTileIn 190ms cubic-bezier(0.2,0.8,0.2,1) both}.floor-plan-popover.tile-closing{pointer-events:none;transform-origin:top left;animation:popupTileOut 170ms cubic-bezier(0.4,0,0.2,1) both}.inspector.tile-opening,.product-panel.tile-opening,.pipe-panel.tile-opening,.results-panel.tile-opening{animation:anchoredTileRightIn 190ms cubic-bezier(0.2,0.8,0.2,1) both}.inspector.tile-closing,.product-panel.tile-closing,.pipe-panel.tile-closing,.results-panel.tile-closing{pointer-events:none;animation:anchoredTileRightOut 170ms cubic-bezier(0.4,0,0.2,1) both}.tool-palette.tile-opening{animation:anchoredTileLeftIn 190ms cubic-bezier(0.2,0.8,0.2,1) both}.tool-palette.tile-closing{animation:anchoredTileLeftOut 170ms cubic-bezier(0.4,0,0.2,1) both}@keyframes popupTileIn{from{opacity:0;filter:blur(2px);transform:translateY(-8px) scale(0.985)}to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}@keyframes popupTileOut{from{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}to{opacity:0;filter:blur(2px);transform:translateY(-8px) scale(0.985)}}@keyframes anchoredTileRightIn{from{opacity:0;filter:blur(1px);transform:translateX(18px) scale(0.99)}to{opacity:1;filter:blur(0);transform:translateX(0) scale(1)}}@keyframes anchoredTileRightOut{from{opacity:1;filter:blur(0);transform:translateX(0) scale(1)}to{opacity:0;filter:blur(1px);transform:translateX(18px) scale(0.99)}}@keyframes anchoredTileLeftIn{from{opacity:0;filter:blur(1px);transform:translateX(-14px) scale(0.99)}to{opacity:1;filter:blur(0);transform:translateX(0) scale(1)}}@keyframes anchoredTileLeftOut{from{opacity:1;filter:blur(0);transform:translateX(0) scale(1)}to{opacity:0.48;filter:blur(1px);transform:translateX(-12px) scale(0.99)}}@media (prefers-reduced-motion:reduce){.project-settings-popover.tile-opening,.project-settings-popover.tile-closing,.brand-menu-popover.tile-opening,.brand-menu-popover.tile-closing,.methodology-popover.tile-opening,.methodology-popover.tile-closing,.history-popover.tile-opening,.history-popover.tile-closing,.export-popover.tile-opening,.export-popover.tile-closing,.product-library-popover.tile-opening,.product-library-popover.tile-closing,.floor-plan-popover.tile-opening,.floor-plan-popover.tile-closing,.inspector.tile-opening,.inspector.tile-closing,.product-panel.tile-opening,.product-panel.tile-closing,.pipe-panel.tile-opening,.pipe-panel.tile-closing,.results-panel.tile-opening,.results-panel.tile-closing,.tool-palette.tile-opening,.tool-palette.tile-closing,.tool-palette.tools-swapping .tool-slot{animation:none;filter:none;opacity:1;transform:none}html.theme-transition body,html.theme-transition body::before,html.theme-transition body::after,html.theme-transition .studio-shell,html.theme-transition .topbar,html.theme-transition .modebar,html.theme-transition .bottombar,html.theme-transition .workspace,html.theme-transition .left-rail,html.theme-transition .tool-palette,html.theme-transition .inspector,html.theme-transition .product-panel,html.theme-transition .pipe-panel,html.theme-transition .results-panel,html.theme-transition .floor-plan-popover,html.theme-transition .brand-menu-popover,html.theme-transition .project-settings-popover,html.theme-transition .methodology-popover,html.theme-transition .history-popover,html.theme-transition .export-popover,html.theme-transition .product-library-popover,html.theme-transition .ghost-btn,html.theme-transition .ghost-icon,html.theme-transition .primary-btn,html.theme-transition .theme-toggle,html.theme-transition .theme-toggle-track,html.theme-transition .theme-toggle-knob,html.theme-transition .mode-tab,html.theme-transition .floor-row,html.theme-transition .layer-row,html.theme-transition .tool-btn,html.theme-transition .panel-reopen,html.theme-transition .result-card,html.theme-transition .field,html.theme-transition .settings-field,html.theme-transition .collapsible-section,html.theme-transition .room-type-preset-card,html.theme-transition .uvalue-setpoint-card,html.theme-transition .material-card,html.theme-transition .settings-tooltip,html.theme-transition .settings-tooltip-bubble,html.theme-transition .alpha-preview-badge::after,html.theme-transition input,html.theme-transition select,html.theme-transition textarea,::view-transition-old(root),::view-transition-new(root){animation-duration:0.01ms;transition-duration:0.01ms}}.left-rail,.tool-palette,.inspector,.product-panel,.pipe-panel,.results-panel,.floor-plan-popover,.brand-menu-popover,.project-settings-popover,.methodology-popover,.history-popover,.export-popover,.product-library-popover{scrollbar-width:none;-ms-overflow-style:none}.left-rail::-webkit-scrollbar,.tool-palette::-webkit-scrollbar,.inspector::-webkit-scrollbar,.product-panel::-webkit-scrollbar,.pipe-panel::-webkit-scrollbar,.results-panel::-webkit-scrollbar,.floor-plan-popover::-webkit-scrollbar,.brand-menu-popover::-webkit-scrollbar,.project-settings-popover::-webkit-scrollbar,.methodology-popover::-webkit-scrollbar,.history-popover::-webkit-scrollbar,.export-popover::-webkit-scrollbar,.product-library-popover::-webkit-scrollbar{width:0;height:0;display:none}.results-panel{border:1px solid var(--glass-border);box-shadow:var(--shadow)}.product-panel{border:1px solid var(--glass-border);box-shadow:var(--shadow)}.pipe-panel{border:1px solid var(--glass-border);box-shadow:var(--shadow)}.product-selection-section{min-width:0;display:grid;gap:12px}.product-selection-card,.product-selection-empty{min-width:0;display:grid;gap:6px;padding:12px;border:1px solid var(--glass-border);border-radius:8px;background:var(--tile-glass);box-shadow:var(--glass-edge)}.product-selection-card strong,.product-selection-empty strong{min-width:0;color:var(--text);font-size:14px;font-weight:820;overflow-wrap:anywhere}.product-selection-card small,.product-selection-empty span,.product-selection-card em{min-width:0;color:var(--muted);font-size:12px;font-style:normal;line-height:1.45;overflow-wrap:anywhere}.product-selection-eyebrow{color:var(--accent);font-size:10px;font-weight:880;letter-spacing:0.04em;text-transform:uppercase}.product-model-override{margin-top:6px;grid-template-columns:1fr}.product-model-override select{width:100%}.product-static-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--glass-border);border-radius:8px;background:rgba(255,255,255,0.28);color:var(--muted);font-size:11px;font-weight:780}.product-static-row strong{color:var(--text);font-size:12px;white-space:nowrap}.product-toggle-switch{min-width:0;min-height:32px;display:inline-flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--glass-border);border-radius:8px;background:rgba(255,255,255,0.34);color:var(--text);font-size:12px;font-weight:800;box-shadow:var(--glass-edge);cursor:pointer}.product-toggle-switch input{position:absolute;opacity:0;pointer-events:none}.product-toggle-switch-track{position:relative;flex:0 0 auto;width:34px;height:18px;border:1px solid var(--line-strong);border-radius:999px;background:rgba(148,163,184,0.38);transition:background 0.18s ease,border-color 0.18s ease}.product-toggle-switch-track::after{content:"";position:absolute;left:1px;top:1px;width:14px;height:14px;border-radius:999px;background:rgba(255,255,255,0.94);box-shadow:0 1px 4px rgba(15,23,42,0.22);transition:transform 0.18s ease}.product-toggle-switch input:checked+.product-toggle-switch-track{border-color:rgba(0,122,255,0.68);background:rgba(0,122,255,0.78)}.product-toggle-switch input:checked+.product-toggle-switch-track::after{transform:translateX(16px)}.product-toggle-switch-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-selection-facts{margin:4px 0 0;display:grid;grid-template-columns:1fr;gap:6px}.product-selection-facts div{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px;border:1px solid var(--glass-border);border-radius:7px;background:rgba(255,255,255,0.34)}.product-selection-facts dt{color:var(--muted);font-size:9px;font-weight:820;text-transform:uppercase}.product-selection-facts dd{margin:0;color:var(--text);font-size:11px;font-weight:850;white-space:nowrap;text-align:right}.manifold-room-list{display:grid;gap:7px;margin-top:4px}.manifold-room-row{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;padding:8px;border:1px solid var(--glass-border);border-radius:7px;background:rgba(255,255,255,0.34)}.manifold-room-row input{accent-color:var(--accent)}.manifold-room-row span{display:grid;gap:2px;min-width:0}.manifold-room-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manifold-loop-card{gap:9px}.manifold-loop-controls{margin-top:6px}.manifold-loop-controls .settings-field{min-width:0}.ufh-loop-breakdown{display:grid;gap:7px;margin-top:8px}.ufh-loop-card{display:grid;gap:7px;padding:8px;border:1px solid var(--glass-border);border-radius:8px;background:rgba(255,255,255,0.32)}.ufh-loop-card.blocked{border-color:rgba(239,68,68,0.35);background:rgba(254,226,226,0.42)}.ufh-loop-card.limited{border-color:rgba(245,158,11,0.42);background:rgba(255,247,237,0.46)}.ufh-loop-card.blocked .ufh-loop-swatch{background:#ef4444}.ufh-loop-card-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-width:0}.ufh-loop-card-head strong,.ufh-loop-card-head small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ufh-loop-card-head small{color:var(--muted);font-size:10px;font-weight:800}.ufh-loop-swatch{width:12px;height:12px;border:1px solid rgba(255,255,255,0.62);border-radius:999px;background:var(--ufh-loop-color,#f97316);box-shadow:0 0 0 2px rgba(15,23,42,0.08)}.ufh-loop-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:0}.ufh-loop-facts div{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px;border:1px solid var(--glass-border);border-radius:7px;background:rgba(255,255,255,0.28)}.ufh-loop-facts dt{color:var(--muted);font-size:9px;font-weight:820;text-transform:uppercase}.ufh-loop-facts dd{margin:0;color:var(--text);font-size:10px;font-weight:850;white-space:nowrap}.pipe-fitting-card{overflow:hidden}.pipe-fitting-subtitle{margin-top:8px}.pipe-fitting-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.pipe-fitting-summary span{min-width:0;padding:7px 8px;border:1px solid var(--glass-border);border-radius:8px;background:rgba(255,255,255,0.24);color:var(--text);font-size:10px;font-weight:820;line-height:1.2}.pipe-fitting-table-wrap{max-width:100%;overflow:hidden;border:1px solid var(--glass-border);border-radius:8px;background:rgba(255,255,255,0.24)}.pipe-fitting-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:9px;color:var(--text)}.pipe-fitting-table .pipe-size-col{width:18%}.pipe-fitting-table .pipe-count-col{width:8.2%}.pipe-fitting-table th,.pipe-fitting-table td{padding:7px 4px;border-bottom:1px solid var(--glass-border);text-align:center;vertical-align:middle;overflow-wrap:anywhere}.pipe-fitting-table th:first-child,.pipe-fitting-table td:first-child{text-align:left}.pipe-fitting-table th{color:var(--muted);font-size:7.6px;font-weight:850;line-height:1.08;text-transform:uppercase;overflow-wrap:anywhere}.pipe-fitting-table td{font-weight:760}.pipe-fitting-table tbody tr:last-child td{border-bottom:0}.pipe-fitting-table td strong,.pipe-fitting-table td span{display:block;min-width:0}.pipe-fitting-table td strong{color:var(--text);font-size:10px;font-weight:850}.pipe-fitting-table td span{color:var(--muted);font-size:9px;font-weight:720}.pipe-fitting-size-main{color:var(--text) !important;font-size:9.5px !important;font-weight:900 !important;line-height:1.08;overflow-wrap:anywhere}.pipe-fitting-size-meta{margin-top:2px;color:var(--muted) !important;font-size:8px !important;font-weight:760 !important;line-height:1.1;overflow-wrap:anywhere}.fitting-count{display:inline-grid;width:28px;max-width:100%;height:23px;place-items:center;border:1px solid var(--glass-border);border-radius:7px;background:rgba(255,255,255,0.26);color:var(--muted);font-weight:880}.fitting-count.active{border-color:rgba(10,132,255,0.34);background:rgba(10,132,255,0.12);color:var(--accent)}.pipe-fitting-table td .fitting-count{display:inline-grid;margin-inline:auto;color:var(--muted);font-size:9px;line-height:1}.pipe-fitting-table td .fitting-count.active{color:var(--accent)}html[data-theme="dark"] .pipe-fitting-table-wrap,html[data-theme="dark"] .fitting-count{background:rgba(255,255,255,0.06)}html[data-theme="dark"] .fitting-count.active{background:rgba(10,132,255,0.18)}html[data-theme="dark"] .left-rail,html[data-theme="dark"] .tool-palette,html[data-theme="dark"] .inspector,html[data-theme="dark"] .product-panel,html[data-theme="dark"] .pipe-panel,html[data-theme="dark"] .results-panel{background:var(--glass-strong);border-color:var(--glass-border);box-shadow:var(--shadow)}html[data-theme="dark"] .results-panel{border-left-color:var(--glass-border)}html[data-theme="dark"] .mode-tab.floor-plan-lock:hover{color:white}html[data-theme="dark"] .product-toggle-switch{border-color:rgba(255,255,255,0.2);background:rgba(255,255,255,0.08)}html[data-theme="dark"] .product-toggle-switch-track{border-color:rgba(255,255,255,0.18);background:rgba(148,163,184,0.26)}html[data-theme="dark"] .product-toggle-switch input:checked+.product-toggle-switch-track{border-color:rgba(10,132,255,0.72);background:rgba(10,132,255,0.78)}html[data-theme="dark"] .topbar,html[data-theme="dark"] .modebar,html[data-theme="dark"] .bottombar{box-shadow:0 1px 0 rgba(255,255,255,0.05)}.closed-panel{width:0;padding:0;border:0;border-radius:0;box-shadow:none;overflow:hidden}.rail-section{padding:12px 10px 8px;border-bottom:1px solid var(--line)}.rail-title,.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:13px;font-weight:780}.rail-title{gap:6px}.rail-title button,.panel-head button{border:1px solid transparent;border-radius:4px;color:var(--muted);transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.rail-toggle{min-width:0;flex:1;min-height:26px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 6px;color:#152033;font:inherit;text-align:left}.rail-action{width:26px;height:26px;flex:0 0 auto;font-weight:900}.rail-title button:hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.rail-section.is-collapsed{padding-bottom:10px}.rail-section.is-collapsed>.rail-title{margin-bottom:0}.rail-section.is-collapsed .collapse-chevron{transform:rotate(-90deg)}.floor-row,.layer-row{width:100%;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px;border:1px solid transparent;border-radius:var(--radius);font-size:13px;color:#26344c;transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.floor-row span,.layer-row span:first-child{min-width:0;display:flex;align-items:center;gap:8px}.floor-row span span{min-width:0;display:grid;gap:2px}.floor-row small{color:var(--muted);font-size:10px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floor-row svg,.layer-row svg{width:14px;height:14px;color:#475569}.floor-row strong{color:#475569;font-size:11px}.floor-row.active{background:var(--blue-soft);border-color:var(--blue-border);color:#0057b8;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.56),0 6px 16px rgba(0,122,255,0.10)}.floor-row:not(.active):hover,.layer-row:hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.floor-row:hover svg,.layer-row:hover svg,.floor-row:hover strong{color:#4b5563}.layer-row .eye{color:var(--blue);font-size:11px}.layer-row.muted{color:#9aa5b4}.layer-row .eye.off{color:#aab3c2}.mini-wrap{border-bottom:0}.minimap{position:relative;height:148px;border:1px solid var(--line);border-radius:var(--radius);background:var(--tile-glass);overflow:hidden;box-shadow:var(--glass-edge),0 10px 24px rgba(0,0,0,0.055);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.minimap svg{width:100%;height:100%}.minimap svg{cursor:crosshair}.mini-viewport{fill:rgba(0,122,255,0.10);stroke:var(--blue);stroke-width:3}.mini-zoom{position:absolute;right:8px;bottom:8px;display:grid;gap:4px}.mini-zoom button{width:26px;height:24px;border:1px solid rgba(255,255,255,0.62);border-radius:4px;background:var(--button-glass);color:var(--text);box-shadow:var(--glass-edge),0 5px 12px rgba(0,0,0,0.06);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.mini-zoom button:hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.tool-palette{padding:10px;display:flex;flex-direction:column;align-items:stretch;gap:6px}.tool-palette-head{min-height:28px;display:flex;justify-content:flex-end}.tool-group{width:100%;display:grid;gap:6px;padding-top:3px}.tool-group-divider{height:1px;width:100%;background:linear-gradient(90deg,transparent,rgba(100,116,139,0.34),transparent)}.tool-group-title{padding:0 3px;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:0;line-height:1.2;text-transform:uppercase}.tool-palette.compact .tool-group{gap:6px;padding-top:4px}.tool-palette.compact .tool-group-title{display:none}.tool-palette.compact .tool-group-divider{margin:3px 0;background:rgba(100,116,139,0.34)}.tool-palette-toggle{width:30px;height:28px;display:grid;place-items:center;border:1px solid rgba(255,255,255,0.64);border-radius:var(--radius);background:var(--button-glass);color:#475569;font-size:18px;font-weight:850;line-height:1;box-shadow:var(--glass-edge),0 6px 14px rgba(0,0,0,0.055);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.tool-palette-toggle:hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.tool-slot{display:grid;width:100%;gap:5px}.tool-palette.tools-swapping .tool-slot{animation:toolSlotSwapInUnlocked 240ms cubic-bezier(0.2,0.8,0.2,1) both;animation-delay:calc(var(--tool-index,0) * 22ms)}.tool-palette.tool-mode-locked.tools-swapping .tool-slot{animation-name:toolSlotSwapInLocked}.tool-palette.tools-swapping .tool-btn{transition-duration:220ms}@keyframes toolSlotSwapInUnlocked{from{opacity:0;filter:blur(1px);transform:translateX(10px) scale(0.975)}to{opacity:1;filter:blur(0);transform:translateX(0) scale(1)}}@keyframes toolSlotSwapInLocked{from{opacity:0;filter:blur(1px);transform:translateX(-10px) scale(0.975)}to{opacity:1;filter:blur(0);transform:translateX(0) scale(1)}}.tool-btn,.upload-card{position:relative;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:39px;display:flex;align-items:center;gap:9px;padding:0 10px;border:1px solid rgba(255,255,255,0.64);border-radius:var(--radius);background:var(--button-glass);color:#243148;font-size:12px;font-weight:650;text-align:left;box-shadow:var(--glass-edge),0 6px 16px rgba(0,0,0,0.055);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.tool-btn svg,.upload-card svg{flex:0 0 auto;width:16px;height:16px}.tool-btn span{min-width:0;line-height:1.12;overflow-wrap:normal;word-break:normal;hyphens:none}.tool-btn.active{border-color:var(--blue-border);background:var(--blue-soft);color:#0057b8;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.56),0 6px 16px rgba(0,122,255,0.10)}.tool-btn:not(.active):hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.tool-btn:hover svg{color:#4b5563}.tool-palette.compact{padding:8px 7px;gap:6px;overflow:visible}.tool-palette.compact .tool-palette-head{justify-content:center}.tool-palette.compact .tool-palette-toggle{width:100%;min-width:0}.tool-palette.compact .tool-slot{place-items:center}.tool-palette.compact .tool-slot.expanded{gap:0;position:relative}.tool-palette.compact .tool-btn{width:38px;min-height:38px;justify-content:center;gap:0;padding:0}.tool-palette.compact .tool-btn span{display:none}.tool-palette.compact .tool-btn svg{width:17px;height:17px}.tool-palette.compact .tool-btn::before,.tool-palette.compact .tool-btn::after{position:absolute;top:50%;left:calc(100%+8px);z-index:30;pointer-events:none;opacity:0;transform:translate(-4px,-50%);transition:opacity 0.12s ease,transform 0.12s ease}.tool-palette.compact .tool-btn::before{content:"";left:calc(100%+3px);border:5px solid transparent;border-right-color:var(--tooltip-arrow-bg)}.tool-palette.compact .tool-btn::after{content:attr(aria-label);min-width:max-content;max-width:160px;padding:5px 8px;border:1px solid var(--tooltip-border);border-radius:5px;background:var(--tooltip-bg);color:var(--tooltip-text);box-shadow:var(--tooltip-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);font-size:11px;font-weight:780;line-height:1.15;white-space:nowrap}.tool-palette.compact .tool-btn:hover::before,.tool-palette.compact .tool-btn:hover::after,.tool-palette.compact .tool-btn.show-tooltip::before,.tool-palette.compact .tool-btn.show-tooltip::after,.tool-palette.compact .tool-btn:focus::before,.tool-palette.compact .tool-btn:focus::after,.tool-palette.compact .tool-btn:focus-visible::before,.tool-palette.compact .tool-btn:focus-visible::after{opacity:1;transform:translate(0,-50%)}.door-type-options{box-sizing:border-box;width:100%;display:grid;gap:4px;padding:5px;border:1px solid rgba(255,255,255,0.58);border-radius:var(--radius);background:var(--tile-glass);box-shadow:var(--glass-edge),0 8px 18px rgba(0,0,0,0.045);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.tool-palette.compact .tool-slot.expanded .tool-btn::before,.tool-palette.compact .tool-slot.expanded .tool-btn::after{display:none}.tool-palette.compact .door-type-options{position:absolute;top:0;left:100%;right:auto;z-index:120;width:160px;margin-left:10px;padding:6px;background:rgba(255,255,255,0.9);justify-self:start}.door-type-option{box-sizing:border-box;width:100%;min-height:30px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;padding:0 7px;border:1px solid transparent;border-radius:5px;background:transparent;color:#334155;font-size:11px;font-weight:760;text-align:left;transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.door-type-option small{color:#64748b;font-size:9px;font-weight:800}.door-type-empty-note{padding:9px 8px;border:1px solid var(--line);border-radius:5px;background:rgba(255,255,255,0.34);color:var(--muted);font-size:10px;font-weight:760;line-height:1.3}.heat-emitter-type-options{max-height:min(58vh,520px);overflow:auto}.outlet-type-options{width:min(290px,calc(100vw - 32px));max-height:min(34vh,calc(100dvh - 220px),320px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.tool-palette.compact .outlet-type-options{width:min(300px,calc(100vw - 96px));max-height:min(38vh,calc(100dvh - 220px),360px)}.tool-palette:not(.compact) .outlet-type-options{justify-self:stretch;width:100%;max-width:100%;min-width:0}.outlet-type-option{min-height:38px;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:8px;padding:6px 9px;line-height:1.15}.outlet-type-option span{display:block;min-width:0}.outlet-type-option span svg{display:none}.outlet-type-option strong{display:block;min-width:0;color:inherit;font-size:11px;font-weight:820;line-height:1.15;white-space:normal;overflow-wrap:anywhere}.outlet-type-option small{justify-self:end;align-self:center;min-width:42px;text-align:right;white-space:nowrap;font-size:10px}.outlet-custom-create-option{border-top:1px solid var(--line);margin-top:2px}.valve-type-options{width:min(320px,calc(100vw - 32px));min-width:0;max-height:min(42vh,calc(100dvh - 220px),430px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.tool-palette:not(.compact) .valve-type-options{justify-self:stretch;width:100%;max-width:100%;min-width:0}.tool-palette.compact .valve-type-options{width:min(240px,calc(100vw - 96px));max-height:min(46vh,calc(100dvh - 200px),440px)}.valve-type-category{display:none;padding:8px 9px 3px;min-width:0;overflow:hidden;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:0.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.valve-type-option{min-width:0;min-height:36px;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:8px;padding:6px 9px;line-height:1.12}.valve-type-option span{display:block;min-width:0}.valve-type-option span svg{display:none}.valve-type-option strong{display:block;min-width:0;overflow:hidden;color:inherit;font-size:11px;font-weight:820;text-overflow:ellipsis;white-space:nowrap}.valve-type-option small{justify-self:end;min-width:34px;color:var(--muted);font-size:9px;font-weight:850;text-align:right;white-space:nowrap}.zone-node-type-options{width:100%}.tool-palette.compact .zone-node-type-options{width:220px}.zone-node-type-option{min-height:34px;grid-template-columns:minmax(0,1fr);gap:2px}.zone-node-type-option small{white-space:normal}.door-type-options,.heat-emitter-type-options,.outlet-type-options,.valve-type-options,.zone-node-type-options{overscroll-behavior:contain;pointer-events:auto;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--blue) 42%,var(--line)) transparent}.door-type-options::-webkit-scrollbar,.heat-emitter-type-options::-webkit-scrollbar,.outlet-type-options::-webkit-scrollbar,.valve-type-options::-webkit-scrollbar,.zone-node-type-options::-webkit-scrollbar{width:7px;height:7px}.door-type-options::-webkit-scrollbar-track,.heat-emitter-type-options::-webkit-scrollbar-track,.outlet-type-options::-webkit-scrollbar-track,.valve-type-options::-webkit-scrollbar-track,.zone-node-type-options::-webkit-scrollbar-track{background:transparent}.door-type-options::-webkit-scrollbar-thumb,.heat-emitter-type-options::-webkit-scrollbar-thumb,.outlet-type-options::-webkit-scrollbar-thumb,.valve-type-options::-webkit-scrollbar-thumb,.zone-node-type-options::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--blue) 38%,var(--line))}.heat-emitter-type-option:not(.active):hover,.outlet-type-option:not(.active):hover,.valve-type-option:not(.active):hover,.zone-node-type-option:not(.active):hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.heat-emitter-type-option span{display:flex;align-items:center;gap:7px;min-width:0}.heat-emitter-type-option,.valve-type-option{grid-template-columns:minmax(0,1fr)}.heat-emitter-type-option span svg{width:14px;height:14px;flex:0 0 14px}.heat-emitter-type-option span{white-space:normal}.door-type-option.active{border-color:var(--blue-border);background:var(--blue-soft);color:#0057b8;box-shadow:var(--glass-edge),0 5px 12px rgba(0,122,255,0.08)}.door-type-option:not(.active):hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.floor-setup-card{display:grid;gap:8px;padding:10px;margin-top:6px;border:1px solid rgba(255,255,255,0.58);border-radius:var(--radius);background:var(--tile-glass);box-shadow:var(--glass-edge),0 8px 20px rgba(0,0,0,0.045);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.floor-setup-card label{display:grid;gap:4px;color:#334155;font-size:11px;font-weight:760}.floor-setup-card select,.floor-setup-card input{width:100%;height:30px;border:1px solid var(--line-strong);border-radius:4px;background:var(--input-glass);color:var(--text);padding:0 7px;font-size:12px;font-weight:650;box-shadow:var(--glass-edge),0 1px 2px rgba(0,0,0,0.035)}.floor-setup-card>small{color:var(--muted);font-size:10px;line-height:1.3}.mini-input-unit{display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:5px}.mini-input-unit small{color:var(--muted);font-size:10px}.upload-card{min-height:76px;align-items:flex-start;justify-content:center;flex-direction:column;margin-top:6px;cursor:pointer;background:var(--tile-glass-strong);box-shadow:var(--glass-edge),0 10px 24px rgba(0,0,0,0.06)}.upload-card small{max-width:100%;color:var(--muted);font-size:10px;line-height:1.25;overflow:hidden;text-overflow:ellipsis}.canvas-stage{position:relative;overflow:hidden;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 28px;background:linear-gradient(180deg,rgba(255,255,255,0.32),rgba(255,255,255,0)),#ebedf0;border-radius:var(--radius)}html[data-theme="dark"] .canvas-stage{background:linear-gradient(180deg,rgba(255,255,255,0.045),rgba(255,255,255,0)),#101113}.three-stage{grid-template-rows:minmax(0,1fr) 28px}.three-workspace{position:relative;min-width:0;min-height:0;overflow:hidden;margin:14px;border:1px solid rgba(255,255,255,0.34);border-radius:10px;background:radial-gradient(circle at 22% 18%,rgba(0,122,255,0.16),transparent 28%),linear-gradient(145deg,rgba(255,255,255,0.34),rgba(255,255,255,0.08));box-shadow:var(--glass-edge),0 20px 56px rgba(15,23,42,0.14);backdrop-filter:blur(26px) saturate(170%);-webkit-backdrop-filter:blur(26px) saturate(170%)}html[data-theme="dark"] .three-workspace{border-color:rgba(239,246,255,0.16);background:radial-gradient(circle at 22% 18%,rgba(10,132,255,0.12),transparent 32%),linear-gradient(145deg,rgba(39,40,45,0.32),rgba(6,7,9,0.18));box-shadow:var(--glass-edge),0 24px 64px rgba(0,0,0,0.38)}.three-canvas{display:block;width:100%;height:100%;min-height:0;cursor:grab}.three-canvas:active{cursor:grabbing}.three-hud,.three-visibility-controls,.three-empty{position:absolute;z-index:2;border:1px solid rgba(255,255,255,0.42);background:rgba(255,255,255,0.22);box-shadow:var(--glass-edge),0 14px 32px rgba(15,23,42,0.12);backdrop-filter:blur(24px) saturate(165%);-webkit-backdrop-filter:blur(24px) saturate(165%)}html[data-theme="dark"] .three-hud,html[data-theme="dark"] .three-visibility-controls,html[data-theme="dark"] .three-empty{border-color:rgba(239,246,255,0.16);background:rgba(14,15,18,0.36);box-shadow:var(--glass-edge),0 16px 38px rgba(0,0,0,0.34)}.three-hud{top:14px;left:14px;display:grid;grid-template-columns:repeat(4,minmax(86px,auto));gap:8px;padding:8px;border-radius:10px}.three-hud>div{min-width:0;padding:8px 10px;border-radius:7px;background:rgba(255,255,255,0.26)}html[data-theme="dark"] .three-hud>div{background:rgba(255,255,255,0.055)}.three-hud span{display:block;color:var(--muted);font-size:10px;font-weight:760;text-transform:uppercase;letter-spacing:0.04em}.three-hud strong{display:block;margin-top:3px;color:var(--text);font-size:14px;font-weight:850}.three-hud .loss strong{color:var(--heat-loss)}.three-hud .gain strong{color:var(--heat-gain)}.three-visibility-controls{right:14px;bottom:14px;display:flex;align-items:center;gap:7px;padding:7px;border-radius:999px}.three-visibility-controls>span{padding:0 7px 0 5px;color:var(--muted);font-size:10px;font-weight:820;text-transform:uppercase;letter-spacing:0.04em;white-space:nowrap}.three-visibility-controls button{min-width:58px;padding:6px 10px;border:1px solid rgba(148,163,184,0.34);border-radius:999px;background:rgba(255,255,255,0.26);color:var(--muted);font-size:11px;font-weight:820;cursor:pointer;transition:transform 0.16s ease,border-color 0.16s ease,background 0.16s ease,color 0.16s ease}.three-visibility-controls button:hover{transform:translateY(-1px);border-color:rgba(0,122,255,0.44);color:var(--text);background:rgba(255,255,255,0.36)}.three-visibility-controls button.active{border-color:var(--blue-border);background:rgba(0,122,255,0.15);color:#0057b8}html[data-theme="dark"] .three-visibility-controls button{border-color:rgba(239,246,255,0.14);background:rgba(255,255,255,0.055);color:var(--muted)}html[data-theme="dark"] .three-visibility-controls button:hover{border-color:rgba(10,132,255,0.48);background:rgba(255,255,255,0.09);color:var(--text)}html[data-theme="dark"] .three-visibility-controls button.active{border-color:rgba(10,132,255,0.62);background:rgba(10,132,255,0.18);color:#7bb8ff}.three-empty{left:50%;top:50%;display:grid;gap:5px;min-width:280px;padding:18px 20px;border-radius:12px;text-align:center;transform:translate(-50%,-50%)}.three-empty strong{color:var(--text);font-size:16px}.three-empty span{color:var(--muted);font-size:12px;font-weight:680}.schematic-library-panel,.schematic-toolbox,.schematic-stage,.schematic-selection-panel{position:relative;z-index:4;min-width:0;min-height:0;overflow:hidden;border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass-strong);box-shadow:var(--shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.schematic-library-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);padding:12px}.schematic-panel-head{display:grid;gap:3px;padding:4px 4px 12px;border-bottom:1px solid var(--line)}.schematic-panel-head span,.schematic-canvas-head span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:0.04em}.schematic-panel-head strong,.schematic-canvas-head strong{color:var(--text);font-size:17px;font-weight:860}.schematic-library-controls{display:grid;gap:8px;padding:10px 2px;border-bottom:1px solid var(--line)}.schematic-library-controls label{min-width:0;display:grid;gap:4px}.schematic-library-controls label>span{color:var(--muted);font-size:10px;font-weight:820;text-transform:uppercase;letter-spacing:0.04em}.schematic-library-controls select,.schematic-library-controls input{width:100%;min-width:0;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--input-glass);color:var(--text);font:inherit;font-size:12px;font-weight:720;outline:none;box-shadow:var(--glass-edge)}.schematic-library-controls input{padding:0 10px}.schematic-canvas-head small{color:var(--muted);font-size:12px;font-weight:680}.schematic-symbol-list{min-height:0;overflow:auto;display:grid;align-content:start;gap:9px;padding:12px 2px 2px;contain:layout paint style}.schematic-symbol-list::-webkit-scrollbar{width:0;height:0}.schematic-product-section{min-width:0;display:grid;align-content:start;gap:8px}.schematic-product-section+.schematic-product-section{margin-top:6px;padding-top:12px;border-top:1px solid var(--line)}.schematic-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted)}.schematic-section-title strong{min-width:0;overflow:hidden;color:var(--text);font-size:12px;font-weight:840;text-overflow:ellipsis;white-space:nowrap}.schematic-section-title span,.schematic-empty-section{color:var(--muted);font-size:10px;font-weight:720}.schematic-empty-section{padding:10px;border:1px dashed var(--line);border-radius:10px;background:rgba(255,255,255,0.12);line-height:1.35}.schematic-result-limit-note{border-style:solid;background:rgba(0,122,255,0.08);color:var(--text)}.schematic-symbol-card{min-width:0;width:100%;display:grid;grid-template-columns:58px 64px minmax(0,1fr);align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--button-glass);color:var(--text);text-align:left;cursor:pointer;box-shadow:var(--glass-edge);transition:transform 0.16s ease,border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease;content-visibility:auto;contain:layout paint style;contain-intrinsic-size:84px}.schematic-symbol-card:hover{transform:translateY(-1px);border-color:var(--control-hover-border);background:var(--control-hover-bg);box-shadow:var(--control-hover-shadow)}.schematic-symbol-card.active{border-color:var(--blue-border);background:rgba(0,122,255,0.14);box-shadow:var(--glass-edge),0 12px 26px rgba(0,122,255,0.12)}.schematic-symbol-card.selected-product{border-color:rgba(0,122,255,0.34);background:linear-gradient(135deg,rgba(0,122,255,0.12),rgba(255,255,255,0.12))}.schematic-symbol-icon{width:58px;height:54px;display:grid;place-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--blue)}.schematic-symbol-glyph{width:52px;height:50px}.schematic-symbol-asset{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}.schematic-symbol-radiator{width:100%;height:100%}.schematic-symbol-ufh-manifold,.schematic-symbol-pumped-ufh-manifold{width:100%;height:100%}.schematic-symbol-icon .schematic-symbol-ufh-manifold,.schematic-symbol-icon .schematic-symbol-pumped-ufh-manifold,.schematic-product-symbol .schematic-symbol-ufh-manifold,.schematic-product-symbol .schematic-symbol-pumped-ufh-manifold{width:100%;height:100%}.schematic-product-visual{position:relative;width:64px;height:54px;display:grid;place-items:center;overflow:hidden;border:1px solid transparent;border-radius:8px;background:transparent}.schematic-symbol-card:has(.schematic-symbol-ufh-manifold) .schematic-product-visual,.schematic-symbol-card:has(.schematic-symbol-pumped-ufh-manifold) .schematic-product-visual{width:64px;height:54px;overflow:hidden}.schematic-product-visual>img{position:relative;z-index:1;max-width:100%;max-height:100%;object-fit:contain;border-radius:5px;mix-blend-mode:multiply;filter:saturate(1.06) contrast(1.03) drop-shadow(0 5px 9px rgba(15,23,42,0.10))}.schematic-product-symbol{display:grid;place-items:center;color:var(--blue)}html[data-theme="dark"] .schematic-symbol-asset{filter:invert(1) brightness(1.25)}.schematic-symbol-card:has(.schematic-symbol-ufh-manifold) .schematic-product-brand,.schematic-symbol-card:has(.schematic-symbol-pumped-ufh-manifold) .schematic-product-brand{display:none}.schematic-product-brand{position:absolute;right:3px;bottom:2px;max-width:34px;max-height:12px;display:grid;place-items:center;padding:1px 3px;border-radius:999px;background:rgba(255,255,255,0.76);color:var(--text);font-size:7px;font-weight:860;line-height:1;box-shadow:0 2px 8px rgba(15,23,42,0.12)}.schematic-product-brand img,.schematic-product-brand .product-brand-logo{width:auto;max-width:30px;height:auto;max-height:9px;object-fit:contain}.schematic-symbol-copy{min-width:0;display:grid;gap:2px}.schematic-symbol-copy strong{overflow:hidden;color:var(--text);font-size:13px;font-weight:820;text-overflow:ellipsis;white-space:nowrap}.schematic-symbol-copy small{overflow:hidden;color:var(--muted);font-size:11px;font-weight:680;text-overflow:ellipsis;white-space:nowrap}.schematic-symbol-copy em{overflow:hidden;color:var(--muted);font-size:10px;font-style:normal;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.schematic-toolbox{display:grid;align-content:start;gap:9px;padding:12px 8px;position:relative;z-index:12;overflow:visible}.schematic-tool-btn{min-width:0;width:100%;min-height:62px;display:grid;place-items:center;gap:5px;padding:8px 6px;border:1px solid var(--line);border-radius:10px;background:var(--button-glass);color:var(--text);font-size:10px;font-weight:820;cursor:pointer;box-shadow:var(--glass-edge);transition:transform 0.16s ease,border-color 0.16s ease,background 0.16s ease,color 0.16s ease}.schematic-tool-btn svg{width:22px;height:22px}.schematic-tool-btn span{text-align:center;line-height:1.15}.schematic-tool-btn:hover{transform:translateY(-1px);border-color:var(--control-hover-border);background:var(--control-hover-bg);color:var(--blue)}.schematic-tool-btn.active{border-color:var(--blue-border);background:rgba(0,122,255,0.16);color:var(--blue);box-shadow:var(--glass-edge),var(--blue-shadow)}.schematic-zone-node-picker{position:absolute;z-index:30;top:82px;left:calc(100%+10px);width:min(260px,42vw);display:grid;gap:8px;padding:10px;border:1px solid var(--line-strong);border-radius:14px;background:var(--glass-strong);box-shadow:var(--float-shadow);backdrop-filter:blur(22px) saturate(1.25)}.schematic-zone-node-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:0.04em;text-transform:uppercase}.schematic-zone-node-picker-head strong{display:grid;min-width:24px;height:24px;place-items:center;border:1px solid var(--line);border-radius:999px;color:var(--blue);background:var(--button-glass)}.schematic-zone-node-option{width:100%;min-width:0;display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--button-glass);color:var(--text);text-align:left;cursor:pointer;box-shadow:var(--glass-edge);transition:transform 0.16s ease,border-color 0.16s ease,background 0.16s ease}.schematic-zone-node-option:hover,.schematic-zone-node-option.active{transform:translateY(-1px);border-color:var(--blue-border);background:rgba(0,122,255,0.14)}.schematic-zone-node-option.placed{border-color:rgba(52,199,89,0.32)}.schematic-zone-node-option.custom-node{border-style:dashed}.schematic-zone-node-option span{font-size:13px;font-weight:850}.schematic-zone-node-option small,.schematic-zone-node-empty{color:var(--muted);font-size:11px;font-weight:760;line-height:1.35}.schematic-zone-node-empty{padding:10px;border:1px dashed var(--line);border-radius:11px;background:rgba(255,255,255,0.28)}.schematic-pipe-tool-panel{position:absolute;z-index:30;top:164px;left:calc(100%+10px);width:min(286px,44vw);display:grid;gap:9px;padding:11px;border:1px solid var(--line-strong);border-radius:14px;background:var(--glass-strong);box-shadow:var(--float-shadow);backdrop-filter:blur(22px) saturate(1.25)}.schematic-pipe-tool-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:0.04em;text-transform:uppercase}.schematic-pipe-tool-head strong{color:var(--text);font-size:12px;letter-spacing:0;text-transform:none}.schematic-pipe-tool-panel label{display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:820;text-transform:uppercase}.schematic-pipe-tool-panel select{min-width:0;width:100%;height:38px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:var(--input-bg);color:var(--text);font:inherit;font-size:13px;font-weight:820}.schematic-pipe-tool-panel dl{display:grid;grid-template-columns:1fr;gap:6px;margin:0}.schematic-pipe-tool-panel dl>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:var(--button-glass)}.schematic-pipe-tool-panel dt,.schematic-pipe-tool-panel dd,.schematic-pipe-tool-panel p{margin:0}.schematic-pipe-tool-panel dt{color:var(--muted);font-size:10px;font-weight:780}.schematic-pipe-tool-panel dd{min-width:0;color:var(--text);font-size:11px;font-weight:830;text-align:right}.schematic-pipe-tool-panel p{color:var(--muted);font-size:11px;font-weight:720;line-height:1.35}.schematic-selection-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);align-content:start;gap:12px;padding:12px;overflow:auto;scrollbar-width:none}.schematic-selection-panel::-webkit-scrollbar{width:0;height:0}.schematic-selection-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.schematic-selection-head>div{min-width:0;display:grid;gap:3px}.schematic-selection-head span{color:var(--muted);font-size:11px;font-weight:840;letter-spacing:0.04em;text-transform:uppercase}.schematic-selection-head strong{color:var(--text);font-size:17px;font-weight:880}.schematic-selection-head button{width:30px;height:30px;border:1px solid var(--line);border-radius:9px;background:var(--button-glass);color:var(--muted);font-size:18px;font-weight:820;cursor:pointer;box-shadow:var(--glass-edge)}.schematic-reference-field{min-width:0;display:grid;gap:6px}.schematic-reference-field>span{color:var(--muted);font-size:10px;font-weight:830;letter-spacing:0.04em;text-transform:uppercase}.schematic-reference-field input,.schematic-reference-field select{width:100%;min-width:0;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--input-glass);color:var(--text);font:inherit;font-size:12px;font-weight:760;padding:0 10px;outline:none;box-shadow:var(--glass-edge)}.schematic-reference-field input:disabled,.schematic-reference-field select:disabled{opacity:0.72}.schematic-node-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.schematic-node-editor-grid .wide{grid-column:1 / -1}.schematic-readonly-note{min-width:0;padding:9px 10px;border:1px solid rgba(0,122,255,0.22);border-radius:10px;background:rgba(0,122,255,0.08);color:var(--muted);font-size:11px;font-weight:760;line-height:1.35;box-shadow:var(--glass-edge)}.schematic-model-card{min-width:0;display:grid;align-content:start;gap:12px}.schematic-model-hero{min-width:0;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,0.24);box-shadow:var(--glass-edge)}.schematic-model-hero>img,.schematic-model-hero>span{width:76px;height:58px;display:grid;place-items:center;object-fit:contain;border-radius:9px;background:rgba(255,255,255,0.22)}.schematic-model-hero>div{min-width:0;display:grid;gap:3px}.schematic-model-hero span{color:var(--blue);font-size:10px;font-weight:860;letter-spacing:0.04em;text-transform:uppercase}.schematic-model-hero strong{overflow:hidden;color:var(--text);font-size:15px;font-weight:880;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.schematic-model-hero small{overflow:hidden;color:var(--muted);font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.schematic-model-facts{grid-template-columns:1fr}.schematic-stage{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) 30px;padding:14px;background:radial-gradient(circle at 15% 15%,rgba(0,122,255,0.10),transparent 24%),var(--glass-strong)}.studio-shell.workspace-popup-active .schematic-stage,.studio-shell.workspace-popup-active .canvas-scroll,.studio-shell.workspace-popup-active .three-workspace,.studio-shell.workspace-popup-active .minimap{transition:filter 180ms ease,opacity 180ms ease}.studio-shell.workspace-popup-active .schematic-stage::after,.studio-shell.workspace-popup-active .canvas-scroll::after,.studio-shell.workspace-popup-active .three-workspace::after,.studio-shell.workspace-popup-active .minimap::after{content:"";position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;z-index:8}html[data-theme="dark"] .studio-shell.workspace-popup-active .schematic-stage,html[data-theme="dark"] .studio-shell.workspace-popup-active .canvas-scroll,html[data-theme="dark"] .studio-shell.workspace-popup-active .three-workspace,html[data-theme="dark"] .studio-shell.workspace-popup-active .minimap{filter:brightness(0.52) saturate(0.6);opacity:0.56}html[data-theme="dark"] .studio-shell.workspace-popup-active .schematic-stage::after,html[data-theme="dark"] .studio-shell.workspace-popup-active .canvas-scroll::after,html[data-theme="dark"] .studio-shell.workspace-popup-active .three-workspace::after,html[data-theme="dark"] .studio-shell.workspace-popup-active .minimap::after{background:rgba(0,0,0,0.38)}.schematic-canvas-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 2px 12px}.schematic-canvas-head>div{display:grid;gap:3px}.schematic-canvas-head dl{display:grid;grid-template-columns:repeat(3,minmax(86px,auto));gap:8px;margin:0}.schematic-canvas-head dl>div{min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,0.18);box-shadow:var(--glass-edge)}.schematic-canvas-head dt{color:var(--muted);font-size:10px;font-weight:780;text-transform:uppercase}.schematic-canvas-head dd{margin:2px 0 0;color:var(--text);font-size:13px;font-weight:830}.schematic-canvas-wrap{min-width:0;min-height:0;overflow:hidden;overscroll-behavior:none;contain:layout paint size;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,0.34);box-shadow:var(--glass-edge),inset 0 0 0 1px rgba(255,255,255,0.22)}.schematic-cad-canvas{width:100%;height:100%;min-height:0;display:block;cursor:grab;touch-action:none;user-select:none}.schematic-stage.placing .schematic-cad-canvas{cursor:crosshair}.schematic-cad-canvas.is-panning,.schematic-stage.placing .schematic-cad-canvas.is-panning{cursor:grabbing}.schematic-cad-canvas.is-zooming .schematic-pipe-label{opacity:0}.schematic-grid-bg{fill:rgba(248,250,252,0.82)}.schematic-grid-plate{fill:rgba(255,255,255,0.34);stroke:var(--line-strong)}.schematic-grid-small,.schematic-grid-large{fill:none;stroke:rgba(148,163,184,0.22);stroke-width:1}.schematic-floor-guide{pointer-events:none}.schematic-floor-guide line{fill:none;stroke:rgba(71,85,105,0.36);stroke-width:1.6;stroke-dasharray:12 10;vector-effect:non-scaling-stroke}.schematic-floor-guide text{fill:rgba(15,23,42,0.76);stroke:rgba(255,255,255,0.78);stroke-width:3px;font-size:14px;font-weight:900;letter-spacing:0.02em;paint-order:stroke fill}.schematic-grid-large{stroke:rgba(100,116,139,0.26);stroke-width:1.2}.schematic-main-flow,.schematic-branch-flow{fill:none;stroke:var(--heat-loss);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.schematic-main-return,.schematic-branch-return{fill:none;stroke:var(--heat-gain);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.schematic-branch-flow,.schematic-branch-return{stroke-width:3.4;opacity:0.86}.schematic-flow-arrow{fill:var(--heat-loss)}.schematic-return-arrow{fill:var(--heat-gain)}.schematic-pipe-run,.schematic-pipe-draft{pointer-events:none}.schematic-pipe-run{cursor:pointer;pointer-events:visiblePainted}.schematic-pipe-run.generated{pointer-events:visiblePainted}.schematic-pipe-line,.schematic-pipe-draft-line{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.schematic-pipe-line{filter:drop-shadow(0 2px 4px rgba(15,23,42,0.16))}.schematic-pipe-run.pipe-flow .schematic-pipe-line,.schematic-pipe-draft.pipe-flow .schematic-pipe-draft-line{stroke:#ef4444}.schematic-pipe-run.pipe-flow{--schematic-pipe-active-glow:rgba(239,68,68,0.82)}.schematic-pipe-run.pipe-return .schematic-pipe-line,.schematic-pipe-draft.pipe-return .schematic-pipe-draft-line{stroke:#0a84ff}.schematic-pipe-run.pipe-return{--schematic-pipe-active-glow:rgba(10,132,255,0.82)}.schematic-pipe-run.pipe-cooling-flow .schematic-pipe-line,.schematic-pipe-draft.pipe-cooling-flow .schematic-pipe-draft-line{stroke:#38bdf8}.schematic-pipe-run.pipe-cooling-flow{--schematic-pipe-active-glow:rgba(56,189,248,0.82)}.schematic-pipe-run.pipe-cooling-return .schematic-pipe-line,.schematic-pipe-draft.pipe-cooling-return .schematic-pipe-draft-line{stroke:#a855f7}.schematic-pipe-run.pipe-cooling-return{--schematic-pipe-active-glow:rgba(168,85,247,0.82)}.schematic-pipe-run.pipe-domestic-hot-water .schematic-pipe-line,.schematic-pipe-draft.pipe-domestic-hot-water .schematic-pipe-draft-line{stroke:#ef4444}.schematic-pipe-run.pipe-domestic-hot-water{--schematic-pipe-active-glow:rgba(239,68,68,0.82)}.schematic-pipe-run.pipe-domestic-cold-water .schematic-pipe-line,.schematic-pipe-draft.pipe-domestic-cold-water .schematic-pipe-draft-line{stroke:#0a84ff}.schematic-pipe-run.pipe-domestic-cold-water{--schematic-pipe-active-glow:rgba(10,132,255,0.82)}.schematic-pipe-run.pipe-boosted-cold-water .schematic-pipe-line,.schematic-pipe-draft.pipe-boosted-cold-water .schematic-pipe-draft-line{stroke:#22c55e}.schematic-pipe-run.pipe-boosted-cold-water{--schematic-pipe-active-glow:rgba(34,197,94,0.82)}.schematic-pipe-run.pipe-secondary-return .schematic-pipe-line,.schematic-pipe-draft.pipe-secondary-return .schematic-pipe-draft-line{stroke:#f97316}.schematic-pipe-run.pipe-secondary-return{--schematic-pipe-active-glow:rgba(249,115,22,0.82)}.schematic-pipe-hit-line{fill:none;stroke:transparent;stroke-width:24;stroke-linecap:round;stroke-linejoin:round;pointer-events:stroke}.schematic-pipe-run.active .schematic-pipe-line{opacity:1;filter:drop-shadow(0 0 7px var(--schematic-pipe-active-glow,rgba(10,132,255,0.82))) drop-shadow(0 2px 5px rgba(15,23,42,0.18))}.schematic-generated-label{pointer-events:none}.schematic-generated-label rect{fill:rgba(255,255,255,0.92);stroke:rgba(15,23,42,0.28);stroke-width:1.2;filter:drop-shadow(0 5px 12px rgba(15,23,42,0.14))}.schematic-generated-label text{fill:#0f172a;stroke:rgba(255,255,255,0.86);stroke-width:2.2px;font-size:12px;font-weight:900;paint-order:stroke fill}.schematic-generated-label.pipe-flow rect{stroke:rgba(239,68,68,0.54)}.schematic-generated-label.pipe-flow text{fill:#ef4444}.schematic-generated-label.pipe-return rect{stroke:rgba(10,132,255,0.56)}.schematic-generated-label.pipe-return text{fill:#0a84ff}.schematic-generated-label.pipe-cooling-flow rect{stroke:rgba(56,189,248,0.56)}.schematic-generated-label.pipe-cooling-flow text{fill:#0284c7}.schematic-generated-label.pipe-cooling-return rect{stroke:rgba(168,85,247,0.56)}.schematic-generated-label.pipe-cooling-return text{fill:#9333ea}.schematic-generated-label.pipe-domestic-hot-water rect{stroke:rgba(239,68,68,0.54)}.schematic-generated-label.pipe-domestic-hot-water text{fill:#ef4444}.schematic-generated-label.pipe-domestic-cold-water rect{stroke:rgba(10,132,255,0.56)}.schematic-generated-label.pipe-domestic-cold-water text{fill:#0a84ff}.schematic-generated-label.pipe-boosted-cold-water rect{stroke:rgba(34,197,94,0.56)}.schematic-generated-label.pipe-boosted-cold-water text{fill:#16a34a}.schematic-generated-label.pipe-secondary-return rect{stroke:rgba(249,115,22,0.56)}.schematic-generated-label.pipe-secondary-return text{fill:#ea580c}html[data-theme="dark"] .schematic-generated-label rect{fill:rgba(15,23,42,0.88);stroke:rgba(226,232,240,0.36)}html[data-theme="dark"] .schematic-generated-label text{fill:#f8fafc;stroke:rgba(0,0,0,0.62)}html[data-theme="dark"] .schematic-generated-label.pipe-flow text{fill:#ff6b6b}html[data-theme="dark"] .schematic-generated-label.pipe-return text{fill:#5aa9ff}html[data-theme="dark"] .schematic-generated-label.pipe-cooling-flow text{fill:#67e8f9}html[data-theme="dark"] .schematic-generated-label.pipe-cooling-return text{fill:#c084fc}html[data-theme="dark"] .schematic-generated-label.pipe-domestic-hot-water text{fill:#ff6b6b}html[data-theme="dark"] .schematic-generated-label.pipe-domestic-cold-water text{fill:#5aa9ff}html[data-theme="dark"] .schematic-generated-label.pipe-boosted-cold-water text{fill:#4ade80}html[data-theme="dark"] .schematic-generated-label.pipe-secondary-return text{fill:#fb923c}.schematic-pipe-label{filter:drop-shadow(0 2px 4px rgba(15,23,42,0.12));transition:opacity 0.12s ease}.schematic-device>rect,.schematic-legend rect,.schematic-empty-callout rect{fill:rgba(255,255,255,0.72);stroke:rgba(100,116,139,0.42);stroke-width:1.3;filter:drop-shadow(0 12px 22px rgba(15,23,42,0.10))}.schematic-device-symbol{width:100%;height:100%;display:grid;place-items:center;color:var(--text)}.schematic-device-symbol .schematic-symbol-glyph{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}.schematic-device-symbol .schematic-symbol-radiator,.schematic-device-symbol .schematic-symbol-ufh-manifold,.schematic-device-symbol .schematic-symbol-pumped-ufh-manifold{max-width:100%;max-height:100%}.schematic-radiator-art{opacity:0.96}.schematic-device text,.schematic-legend text,.schematic-empty-callout text,.schematic-placement text{fill:var(--text);font-size:13px;font-weight:830}.schematic-device text.muted,.schematic-empty-callout text.muted,.schematic-placement text.muted{fill:var(--muted);font-size:11px;font-weight:720}.schematic-placement{cursor:move;touch-action:none}.schematic-placement.generated{cursor:pointer;pointer-events:visiblePainted}.schematic-placement-hitbox{fill:transparent;stroke:none;pointer-events:all}.schematic-placement .schematic-device-symbol{color:var(--blue)}.schematic-placement.selected .schematic-device-symbol{color:var(--blue);filter:drop-shadow(0 0 5px rgba(0,122,255,0.45))}.schematic-device-radiator .schematic-device-symbol,.schematic-placement-radiator .schematic-device-symbol{color:var(--text)}.schematic-placement-riser .schematic-device-symbol{color:var(--muted)}.schematic-placement-radiator.selected .schematic-device-symbol{color:var(--text);filter:drop-shadow(0 0 5px rgba(0,122,255,0.55))}.schematic-placement:is( .schematic-placement-radiator,.schematic-placement-fan-convector,.schematic-placement-radiant-heater,.schematic-placement-trench-heater,.schematic-placement-towel-rail,.schematic-placement-fan-coil-unit,.schematic-placement-unit-heater,.schematic-placement-finned-pipe-coil,.schematic-placement-pipe-coil,.schematic-placement-air-handling-unit,.schematic-placement-air-curtain,.schematic-placement-duct-heating-coil,.schematic-placement-ufh-manifold,.schematic-placement-pumped-ufh-manifold,.schematic-placement-manifold ) .schematic-device-symbol{color:#111827}.schematic-placement:is( .schematic-placement-radiator,.schematic-placement-fan-convector,.schematic-placement-radiant-heater,.schematic-placement-trench-heater,.schematic-placement-towel-rail,.schematic-placement-fan-coil-unit,.schematic-placement-unit-heater,.schematic-placement-finned-pipe-coil,.schematic-placement-pipe-coil,.schematic-placement-air-handling-unit,.schematic-placement-air-curtain,.schematic-placement-duct-heating-coil,.schematic-placement-ufh-manifold,.schematic-placement-pumped-ufh-manifold,.schematic-placement-manifold ) .schematic-symbol-asset{filter:grayscale(1) brightness(0)}html[data-theme="dark"] .schematic-placement:is( .schematic-placement-radiator,.schematic-placement-fan-convector,.schematic-placement-radiant-heater,.schematic-placement-trench-heater,.schematic-placement-towel-rail,.schematic-placement-fan-coil-unit,.schematic-placement-unit-heater,.schematic-placement-finned-pipe-coil,.schematic-placement-pipe-coil,.schematic-placement-air-handling-unit,.schematic-placement-air-curtain,.schematic-placement-duct-heating-coil,.schematic-placement-ufh-manifold,.schematic-placement-pumped-ufh-manifold,.schematic-placement-manifold ) .schematic-device-symbol{color:#f8fafc}html[data-theme="dark"] .schematic-placement:is( .schematic-placement-radiator,.schematic-placement-fan-convector,.schematic-placement-radiant-heater,.schematic-placement-trench-heater,.schematic-placement-towel-rail,.schematic-placement-fan-coil-unit,.schematic-placement-unit-heater,.schematic-placement-finned-pipe-coil,.schematic-placement-pipe-coil,.schematic-placement-air-handling-unit,.schematic-placement-air-curtain,.schematic-placement-duct-heating-coil,.schematic-placement-ufh-manifold,.schematic-placement-pumped-ufh-manifold,.schematic-placement-manifold ) .schematic-symbol-asset{filter:grayscale(1) invert(1) brightness(1.22) drop-shadow(0 1px 0 rgba(255,255,255,0.08))}.schematic-placement.selected text{fill:var(--blue)}.schematic-placement-zone.schematic-zone-system-heating .schematic-device-symbol,.schematic-placement-zone.schematic-zone-system-heating.selected .schematic-device-symbol,.schematic-placement-zone.schematic-zone-system-heating text{color:#ef4444;fill:#ef4444}.schematic-placement-zone.schematic-zone-system-cooling .schematic-device-symbol,.schematic-placement-zone.schematic-zone-system-cooling.selected .schematic-device-symbol,.schematic-placement-zone.schematic-zone-system-cooling text{color:#0a84ff;fill:#0a84ff}.schematic-placement-zone.schematic-zone-system-public-health .schematic-device-symbol,.schematic-placement-zone.schematic-zone-system-public-health.selected .schematic-device-symbol,.schematic-placement-zone.schematic-zone-system-public-health text{color:#16a34a;fill:#16a34a}.schematic-placement-zone.schematic-zone-system-public-health text.muted,.schematic-placement-zone.schematic-zone-system-cooling text.muted,.schematic-placement-zone.schematic-zone-system-heating text.muted{fill:var(--muted)}.schematic-connection-point{fill:rgba(255,255,255,0.92);stroke-width:2.3;filter:drop-shadow(0 2px 4px rgba(15,23,42,0.18))}.schematic-connection-point.flow{stroke:var(--heat-loss)}.schematic-connection-point.return{stroke:var(--heat-gain)}.schematic-connection-point.any{stroke:var(--muted)}.schematic-connection-point.pipe-domestic-hot-water{stroke:var(--heat-loss)}.schematic-connection-point.pipe-domestic-cold-water{stroke:#0a84ff}.schematic-connection-point.pipe-boosted-cold-water{stroke:#22c55e}.schematic-connection-point.pipe-secondary-return{stroke:#f97316}.schematic-pipe-snap-target{pointer-events:none}.schematic-pipe-snap-target circle{fill:rgba(255,255,255,0.16);stroke-width:2;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 5px rgba(15,23,42,0.22))}.schematic-pipe-snap-target.pipe-flow circle{stroke:#ef4444}.schematic-pipe-snap-target.pipe-return circle{stroke:#0a84ff}.schematic-pipe-snap-target.pipe-cooling-flow circle{stroke:#38bdf8}.schematic-pipe-snap-target.pipe-cooling-return circle{stroke:#a855f7}.schematic-pipe-snap-target.pipe-domestic-hot-water circle{stroke:#ef4444}.schematic-pipe-snap-target.pipe-domestic-cold-water circle{stroke:#0a84ff}.schematic-pipe-snap-target.pipe-boosted-cold-water circle{stroke:#22c55e}.schematic-pipe-snap-target.pipe-secondary-return circle{stroke:#f97316}.schematic-legend text{font-size:12px}.schematic-status{min-width:0;display:flex;align-items:center;gap:16px;overflow:hidden;padding:7px 4px 0;color:var(--muted);font-size:12px;font-weight:650}.schematic-status span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schematic-status strong{color:var(--text)}.schematic-selection-delete{margin-left:auto;min-width:max-content;height:28px;padding:0 12px;border:1px solid rgba(239,68,68,0.38);border-radius:9px;background:rgba(239,68,68,0.10);color:var(--heat-loss);font:inherit;font-size:11px;font-weight:850;cursor:pointer;box-shadow:var(--glass-edge);transition:transform 0.16s ease,border-color 0.16s ease,background 0.16s ease}.schematic-selection-delete:hover{transform:translateY(-1px);border-color:rgba(239,68,68,0.62);background:rgba(239,68,68,0.16)}html[data-theme="dark"] .schematic-library-panel,html[data-theme="dark"] .schematic-toolbox,html[data-theme="dark"] .schematic-zone-node-picker,html[data-theme="dark"] .schematic-pipe-tool-panel,html[data-theme="dark"] .schematic-selection-panel,html[data-theme="dark"] .schematic-stage{border-color:rgba(239,246,255,0.16);background:rgba(16,17,20,0.34);box-shadow:var(--glass-edge),0 22px 58px rgba(0,0,0,0.34)}html[data-theme="dark"] .schematic-canvas-head dl>div,html[data-theme="dark"] .schematic-canvas-wrap{border-color:rgba(239,246,255,0.13);background:rgba(255,255,255,0.06)}html[data-theme="dark"] .schematic-symbol-icon,html[data-theme="dark"] .schematic-product-visual{border-color:transparent;background:transparent}html[data-theme="dark"] .schematic-symbol-card,html[data-theme="dark"] .schematic-tool-btn,html[data-theme="dark"] .schematic-zone-node-option,html[data-theme="dark"] .schematic-zone-node-empty,html[data-theme="dark"] .schematic-pipe-tool-panel dl>div,html[data-theme="dark"] .schematic-pipe-tool-panel select,html[data-theme="dark"] .schematic-selection-head button,html[data-theme="dark"] .schematic-reference-field input,html[data-theme="dark"] .schematic-reference-field select,html[data-theme="dark"] .schematic-readonly-note,html[data-theme="dark"] .schematic-model-hero,html[data-theme="dark"] .schematic-model-hero>img,html[data-theme="dark"] .schematic-model-hero>span,html[data-theme="dark"] .schematic-empty-section,html[data-theme="dark"] .schematic-library-controls select,html[data-theme="dark"] .schematic-library-controls input{border-color:rgba(239,246,255,0.13);background:rgba(255,255,255,0.055);color:var(--text)}html[data-theme="dark"] .schematic-symbol-card.active,html[data-theme="dark"] .schematic-tool-btn.active,html[data-theme="dark"] .schematic-zone-node-option.active{border-color:rgba(10,132,255,0.62);background:rgba(10,132,255,0.18)}html[data-theme="dark"] .schematic-symbol-card.selected-product{border-color:rgba(10,132,255,0.46);background:linear-gradient(135deg,rgba(10,132,255,0.16),rgba(255,255,255,0.05))}html[data-theme="dark"] .schematic-product-brand{background:rgba(17,24,39,0.82);color:var(--text)}html[data-theme="dark"] .schematic-grid-bg{fill:rgba(9,10,13,0.88)}html[data-theme="dark"] .schematic-grid-plate{fill:rgba(255,255,255,0.03);stroke:rgba(239,246,255,0.15)}html[data-theme="dark"] .schematic-grid-small{stroke:rgba(148,163,184,0.13)}html[data-theme="dark"] .schematic-grid-large{stroke:rgba(203,213,225,0.16)}html[data-theme="dark"] .schematic-floor-guide line{stroke:rgba(226,232,240,0.28)}html[data-theme="dark"] .schematic-floor-guide text{fill:rgba(248,250,252,0.82);stroke:rgba(0,0,0,0.72)}html[data-theme="dark"] .schematic-device>rect,html[data-theme="dark"] .schematic-legend rect,html[data-theme="dark"] .schematic-empty-callout rect{fill:rgba(22,24,29,0.78);stroke:rgba(239,246,255,0.18);filter:drop-shadow(0 14px 28px rgba(0,0,0,0.35))}html[data-theme="dark"] .schematic-connection-point{fill:rgba(10,10,12,0.92)}html[data-theme="dark"] .schematic-pipe-snap-target circle{fill:rgba(10,10,12,0.22)}.panel-reopen-stack{position:absolute;z-index:6;top:12px;right:12px;display:grid;gap:8px}.panel-reopen{height:32px;padding:0 11px;border:1px solid #b8c7da;border-radius:var(--radius);background:var(--glass-strong);color:var(--text);box-shadow:0 8px 22px rgba(15,23,42,0.1);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);font-size:12px;font-weight:760;transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.panel-reopen:hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.canvas-scroll{position:relative;min-height:0;overflow-x:hidden;overflow-y:auto;display:grid;place-items:center;padding:34px 34px 26px}.pan-active .canvas-scroll{cursor:grab}.pan-active .canvas-scroll.is-panning{cursor:grabbing;user-select:none}.canvas-scroll.is-panning{cursor:grabbing;user-select:none}.sheet{position:relative;width:calc(980px * var(--zoom));height:calc(610px * var(--zoom));flex:0 0 auto;background:rgba(255,255,255,0.92);box-shadow:0 1px 0 rgba(255,255,255,0.72),0 18px 46px rgba(0,0,0,0.12);transform-origin:center;transform:translate(var(--pan-x,0px),var(--pan-y,0px))}.sheet>svg{position:absolute;inset:0;width:100%;height:100%}.pdf-image-svg{opacity:0.86;filter:saturate(0.1) contrast(0.94)}.fallback-plan.hidden{display:none}.show-grid::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(15,23,42,0.045) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,0.045) 1px,transparent 1px);background-size:28px 28px}.fallback-plan{color:#5b6675}.plan-lines{fill:none;stroke:#5f6b7a;stroke-width:2}.furniture{fill:none;stroke:#a7b1bf;stroke-width:1.3}.dimensions{fill:#64748b;stroke:#9aa6b5;font-size:10px;font-weight:500}.empty-floor-label{fill:#334155;font-size:18px;font-weight:820}.empty-floor-hint{fill:#64748b;font-size:12px;font-weight:650}.overlay{z-index:3;overflow:visible}.zone rect{stroke-width:1.8}.zone.active rect{stroke-width:3;filter:drop-shadow(0 0 0.35rem rgba(75,85,99,0.25))}.zone text{pointer-events:none}.room-canvas-label{pointer-events:none}.room-canvas-label text{letter-spacing:0;paint-order:stroke;stroke:rgba(255,255,255,0.96);stroke-linejoin:round;stroke-width:calc(4px * var(--canvas-text-scale,1))}.room-name-label{fill:#0f172a;font-size:calc(12px * var(--canvas-text-scale,1));font-weight:820}.room-area-label{fill:#334155;font-size:calc(10px * var(--canvas-text-scale,1));font-weight:680}.room-heat-loss-label{fill:var(--heat-loss);font-size:calc(10px * var(--canvas-text-scale,1));font-weight:820}.room-heat-gain-label{fill:var(--heat-gain);font-size:calc(10px * var(--canvas-text-scale,1));font-weight:820}.sheet.zoom-lod-compact .room-heat-gain-label{display:none}.sheet.zoom-lod-overview .room-area-label,.sheet.zoom-lod-overview .room-heat-loss-label,.sheet.zoom-lod-overview .room-heat-gain-label{display:none}.pipe{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.pipe.supply{stroke:var(--red)}.pipe.return{stroke:#4b5563;stroke-dasharray:9 7}.drawn-pipe-line,.pipe-draft-line{fill:none;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.drawn-pipe-hit-line,.drawn-pipe-segment-hit{fill:none;stroke:transparent;stroke-width:14;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:stroke}.drawn-pipe-segment-hit{cursor:move}.drawn-pipe-run{cursor:pointer}.drawn-pipe-run.active .drawn-pipe-line,.drawn-pipe-segment-line.active{opacity:1}.drawn-pipe-run.pipe-flow.active .drawn-pipe-line,.drawn-pipe-run.pipe-flow .drawn-pipe-segment-line.active{filter:drop-shadow(0 0 6px rgba(239,68,68,0.82)) drop-shadow(0 2px 5px rgba(15,23,42,0.18))}.drawn-pipe-run.pipe-return.active .drawn-pipe-line,.drawn-pipe-run.pipe-return .drawn-pipe-segment-line.active{filter:drop-shadow(0 0 6px rgba(10,132,255,0.82)) drop-shadow(0 2px 5px rgba(15,23,42,0.18))}.drawn-pipe-run.pipe-cooling-flow.active .drawn-pipe-line,.drawn-pipe-run.pipe-cooling-flow .drawn-pipe-segment-line.active{filter:drop-shadow(0 0 6px rgba(56,189,248,0.82)) drop-shadow(0 2px 5px rgba(15,23,42,0.18))}.drawn-pipe-run.pipe-cooling-return.active .drawn-pipe-line,.drawn-pipe-run.pipe-cooling-return .drawn-pipe-segment-line.active{filter:drop-shadow(0 0 6px rgba(168,85,247,0.82)) drop-shadow(0 2px 5px rgba(15,23,42,0.18))}.drawn-pipe-run.pipe-domestic-hot-water.active .drawn-pipe-line,.drawn-pipe-run.pipe-domestic-hot-water .drawn-pipe-segment-line.active{filter:drop-shadow(0 0 6px rgba(239,68,68,0.82)) drop-shadow(0 2px 5px rgba(15,23,42,0.18))}.drawn-pipe-run.pipe-domestic-cold-water.active .drawn-pipe-line,.drawn-pipe-run.pipe-domestic-cold-water .drawn-pipe-segment-line.active{filter:drop-shadow(0 0 6px rgba(10,132,255,0.82)) drop-shadow(0 2px 5px rgba(15,23,42,0.18))}.drawn-pipe-run.pipe-boosted-cold-water.active .drawn-pipe-line,.drawn-pipe-run.pipe-boosted-cold-water .drawn-pipe-segment-line.active{filter:drop-shadow(0 0 6px rgba(34,197,94,0.82)) drop-shadow(0 2px 5px rgba(15,23,42,0.18))}.drawn-pipe-run.pipe-secondary-return.active .drawn-pipe-line,.drawn-pipe-run.pipe-secondary-return .drawn-pipe-segment-line.active{filter:drop-shadow(0 0 6px rgba(249,115,22,0.82)) drop-shadow(0 2px 5px rgba(15,23,42,0.18))}.pipe-flow .drawn-pipe-line,.pipe-flow .pipe-draft-line{stroke:#ef4444}.pipe-return .drawn-pipe-line,.pipe-return .pipe-draft-line{stroke:#0a84ff}.pipe-cooling-flow .drawn-pipe-line,.pipe-cooling-flow .pipe-draft-line{stroke:#38bdf8}.pipe-cooling-return .drawn-pipe-line,.pipe-cooling-return .pipe-draft-line{stroke:#a855f7}.pipe-domestic-hot-water .drawn-pipe-line,.pipe-domestic-hot-water .pipe-draft-line{stroke:#ef4444}.pipe-domestic-cold-water .drawn-pipe-line,.pipe-domestic-cold-water .pipe-draft-line{stroke:#0a84ff}.pipe-boosted-cold-water .drawn-pipe-line,.pipe-boosted-cold-water .pipe-draft-line{stroke:#22c55e}.pipe-secondary-return .drawn-pipe-line,.pipe-secondary-return .pipe-draft-line{stroke:#f97316}.pipe-valves{pointer-events:none}.pipe-valve-node{--pipe-valve-color:#64748b;cursor:grab;pointer-events:all}.pipe-valve-node.pipe-flow,.pipe-valve-node.pipe-domestic-hot-water{--pipe-valve-color:#ef4444}.pipe-valve-node.pipe-return,.pipe-valve-node.pipe-domestic-cold-water{--pipe-valve-color:#0a84ff}.pipe-valve-node.pipe-cooling-flow{--pipe-valve-color:#38bdf8}.pipe-valve-node.pipe-cooling-return{--pipe-valve-color:#a855f7}.pipe-valve-node.pipe-boosted-cold-water{--pipe-valve-color:#22c55e}.pipe-valve-node.pipe-secondary-return{--pipe-valve-color:#f97316}.pipe-valve-node.active{cursor:grabbing}.pipe-valve-hit{fill:transparent;pointer-events:all}.pipe-valve-body,.pipe-valve-stem{fill:none;stroke:var(--pipe-valve-color);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.1;vector-effect:non-scaling-stroke}.pipe-valve-handle{fill:var(--surface);stroke:var(--pipe-valve-color);stroke-width:2;vector-effect:non-scaling-stroke}.pipe-valve-symbol-asset{pointer-events:none;overflow:visible;filter:drop-shadow(0 1px 0 rgba(255,255,255,0.72))}.pipe-valve-symbol-fill{fill:var(--pipe-valve-color);pointer-events:none;filter:drop-shadow(0 1px 0 rgba(255,255,255,0.72))}.pipe-valve-occluder{fill:#fff;stroke:color-mix(in srgb,var(--pipe-valve-color) 28%,transparent);stroke-width:0.8;vector-effect:non-scaling-stroke;pointer-events:none}.pipe-valve-node.active .pipe-valve-body,.pipe-valve-node.active .pipe-valve-stem,.pipe-valve-node.active .pipe-valve-handle,.pipe-valve-node.active .pipe-valve-symbol-asset,.pipe-valve-node.active .pipe-valve-symbol-fill{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--pipe-valve-color) 72%,transparent));stroke-width:2.8}.schematic-generated-valve{cursor:pointer;pointer-events:all}.schematic-generated-valve .pipe-valve-hit{pointer-events:all}.schematic-generated-valve .pipe-valve-body,.schematic-generated-valve .pipe-valve-stem{stroke-width:2.8}.schematic-generated-valve .pipe-valve-handle{fill:color-mix(in srgb,var(--surface) 88%,transparent)}html[data-theme="dark"] .pipe-valve-symbol-asset{filter:invert(1) brightness(1.35) drop-shadow(0 0 3px rgba(0,0,0,0.55))}html[data-theme="dark"] .pipe-valve-occluder{fill:rgba(15,18,24,0.92)}html[data-theme="dark"] .pipe-valve-node.active .pipe-valve-symbol-asset,html[data-theme="dark"] .pipe-valve-node.active .pipe-valve-symbol-fill{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--pipe-valve-color) 70%,transparent))}html[data-theme="dark"] .schematic-generated-valve .pipe-valve-handle{fill:rgba(9,10,13,0.94)}html[data-theme="dark"] .schematic-generated-valve .pipe-valve-occluder{fill:rgba(9,10,13,0.94)}.pipe-draft-line.pipe-flow{stroke:#ef4444}.pipe-draft-line.pipe-return{stroke:#0a84ff}.pipe-draft-line.pipe-cooling-flow{stroke:#38bdf8}.pipe-draft-line.pipe-cooling-return{stroke:#a855f7}.pipe-draft-line.pipe-domestic-hot-water{stroke:#ef4444}.pipe-draft-line.pipe-domestic-cold-water{stroke:#0a84ff}.pipe-draft-line.pipe-boosted-cold-water{stroke:#22c55e}.pipe-draft-line.pipe-secondary-return{stroke:#f97316}.pipe-draft-line{stroke-dasharray:8 6;opacity:0.82}.multi-pipe-centre-line{fill:none;stroke:rgba(15,23,42,0.32);stroke-width:1.2;stroke-dasharray:3 5;stroke-linecap:round;pointer-events:none}.pipe-draft-point,.pipe-guide-point,.pipe-vertex{fill:rgba(255,255,255,0.92);stroke:#111827;stroke-width:1.4;vector-effect:non-scaling-stroke}.pipe-flow .pipe-draft-point,.pipe-flow .pipe-guide-point,.pipe-flow .pipe-vertex{stroke:#ef4444}.pipe-return .pipe-draft-point,.pipe-return .pipe-guide-point,.pipe-return .pipe-vertex{stroke:#0a84ff}.pipe-cooling-flow .pipe-draft-point,.pipe-cooling-flow .pipe-guide-point,.pipe-cooling-flow .pipe-vertex{stroke:#38bdf8}.pipe-cooling-return .pipe-draft-point,.pipe-cooling-return .pipe-guide-point,.pipe-cooling-return .pipe-vertex{stroke:#a855f7}.pipe-domestic-hot-water .pipe-draft-point,.pipe-domestic-hot-water .pipe-guide-point,.pipe-domestic-hot-water .pipe-vertex{stroke:#ef4444}.pipe-domestic-cold-water .pipe-draft-point,.pipe-domestic-cold-water .pipe-guide-point,.pipe-domestic-cold-water .pipe-vertex{stroke:#0a84ff}.pipe-boosted-cold-water .pipe-draft-point,.pipe-boosted-cold-water .pipe-guide-point,.pipe-boosted-cold-water .pipe-vertex{stroke:#22c55e}.pipe-secondary-return .pipe-draft-point,.pipe-secondary-return .pipe-guide-point,.pipe-secondary-return .pipe-vertex{stroke:#f97316}.pipe-vertex{cursor:grab;stroke-width:2;filter:drop-shadow(0 1px 3px rgba(15,23,42,0.22))}.pipe-vertex.active{fill:#ffffff}.pipe-snap-target{fill:rgba(255,255,255,0.16);stroke-width:2;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;pointer-events:none}.pipe-snap-target.pipe-flow{stroke:#ef4444}.pipe-snap-target.pipe-return{stroke:#0a84ff}.pipe-snap-target.pipe-cooling-flow{stroke:#38bdf8}.pipe-snap-target.pipe-cooling-return{stroke:#a855f7}.pipe-snap-target.pipe-domestic-hot-water{stroke:#ef4444}.pipe-snap-target.pipe-domestic-cold-water{stroke:#0a84ff}.pipe-snap-target.pipe-boosted-cold-water{stroke:#22c55e}.pipe-snap-target.pipe-secondary-return{stroke:#f97316}.pipe-alignment-guides{pointer-events:none}.pipe-guide-axis{stroke:rgba(15,23,42,0.22);stroke-width:1.1;stroke-dasharray:7 7;vector-effect:non-scaling-stroke}.pipe-alignment-guides.pipe-flow .pipe-guide-axis{stroke:rgba(239,68,68,0.35)}.pipe-alignment-guides.pipe-return .pipe-guide-axis{stroke:rgba(10,132,255,0.35)}.pipe-alignment-guides.pipe-cooling-flow .pipe-guide-axis{stroke:rgba(56,189,248,0.38)}.pipe-alignment-guides.pipe-cooling-return .pipe-guide-axis{stroke:rgba(168,85,247,0.38)}.pipe-alignment-guides.pipe-domestic-hot-water .pipe-guide-axis{stroke:rgba(239,68,68,0.35)}.pipe-alignment-guides.pipe-domestic-cold-water .pipe-guide-axis{stroke:rgba(10,132,255,0.35)}.pipe-alignment-guides.pipe-boosted-cold-water .pipe-guide-axis{stroke:rgba(34,197,94,0.38)}.pipe-alignment-guides.pipe-secondary-return .pipe-guide-axis{stroke:rgba(249,115,22,0.38)}.pipe-flow-direction{pointer-events:none;filter:drop-shadow(0 1px 2px rgba(15,23,42,0.22))}.pipe-flow-direction path{fill:#ef4444;stroke:rgba(255,255,255,0.9);stroke-width:1;vector-effect:non-scaling-stroke}.pipe-flow-direction.pipe-return path{fill:#0a84ff}.pipe-flow-direction.pipe-cooling-flow path{fill:#38bdf8}.pipe-flow-direction.pipe-cooling-return path{fill:#a855f7}.pipe-flow-direction.pipe-domestic-hot-water path{fill:#ef4444}.pipe-flow-direction.pipe-domestic-cold-water path{fill:#0a84ff}.pipe-flow-direction.pipe-boosted-cold-water path{fill:#22c55e}.pipe-flow-direction.pipe-secondary-return path{fill:#f97316}.pipe-reference{fill:var(--text);font-size:calc(10px * var(--canvas-text-scale,1));font-weight:900;paint-order:stroke;stroke:rgba(255,255,255,0.9);stroke-width:3px;vector-effect:non-scaling-stroke;pointer-events:none}.pipe-size-label-grid{pointer-events:none}.pipe-label-layer{pointer-events:none}.pipe-pill-label{filter:drop-shadow(0 5px 12px rgba(15,23,42,0.14))}.pipe-size-label-pill-bg{fill:rgba(255,255,255,0.86);stroke:rgba(100,116,139,0.34);stroke-width:max(0.8px,calc(1.2px * var(--pipe-label-scale,var(--canvas-text-scale,1))));vector-effect:non-scaling-stroke}.pipe-pill-label.compact .pipe-size-label-pill-bg{fill:rgba(255,255,255,0.78)}.pipe-size-label-grid.pipe-flow .pipe-size-label-pill-bg,.pipe-size-label-grid.pipe-domestic-hot-water .pipe-size-label-pill-bg{stroke:rgba(239,68,68,0.54);fill:rgba(255,255,255,0.86)}.pipe-size-label-grid.pipe-return .pipe-size-label-pill-bg,.pipe-size-label-grid.pipe-domestic-cold-water .pipe-size-label-pill-bg{stroke:rgba(10,132,255,0.54);fill:rgba(255,255,255,0.86)}.pipe-size-label-grid.pipe-cooling-flow .pipe-size-label-pill-bg{stroke:rgba(2,132,199,0.54)}.pipe-size-label-grid.pipe-cooling-return .pipe-size-label-pill-bg{stroke:rgba(147,51,234,0.54)}.pipe-size-label-grid.pipe-boosted-cold-water .pipe-size-label-pill-bg{stroke:rgba(22,163,74,0.54)}.pipe-size-label-grid.pipe-secondary-return .pipe-size-label-pill-bg{stroke:rgba(234,88,12,0.54)}.pipe-size-label-grid.compact .pipe-size-label{font-size:calc(6.8px * var(--pipe-label-scale,var(--canvas-text-scale,1)))}.pipe-size-label-grid.expanded .pipe-size-label{font-size:calc(7.4px * var(--pipe-label-scale,var(--canvas-text-scale,1)))}.pipe-size-label-secondary{opacity:0.92}.pipe-size-label-grid .pipe-label-divider{stroke:rgba(71,85,105,0.52);stroke-width:max(0.45px,calc(0.85px * var(--pipe-label-scale,var(--canvas-text-scale,1))));stroke-linecap:round;vector-effect:non-scaling-stroke}.pipe-size-label-grid.pipe-flow .pipe-label-divider{stroke:rgba(239,68,68,0.46)}.pipe-size-label-grid.pipe-return .pipe-label-divider{stroke:rgba(10,132,255,0.46)}.pipe-size-label-grid.pipe-cooling-flow .pipe-label-divider{stroke:rgba(56,189,248,0.5)}.pipe-size-label-grid.pipe-cooling-return .pipe-label-divider{stroke:rgba(168,85,247,0.5)}.pipe-size-label-grid.pipe-domestic-hot-water .pipe-label-divider{stroke:rgba(239,68,68,0.46)}.pipe-size-label-grid.pipe-domestic-cold-water .pipe-label-divider{stroke:rgba(10,132,255,0.46)}.pipe-size-label-grid.pipe-boosted-cold-water .pipe-label-divider{stroke:rgba(34,197,94,0.48)}.pipe-size-label-grid.pipe-secondary-return .pipe-label-divider{stroke:rgba(249,115,22,0.5)}.pipe-size-label{font-size:calc(8.4px * var(--pipe-label-scale,var(--canvas-text-scale,1)));font-weight:900;letter-spacing:0.01em;paint-order:stroke;stroke:rgba(255,255,255,0.95);stroke-width:max(1.2px,calc(2.8px * var(--pipe-label-scale,var(--canvas-text-scale,1))));stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.pipe-size-label-grid.pipe-flow .pipe-size-label,.pipe-size-label.pipe-flow{fill:#ef4444}.pipe-size-label-grid.pipe-return .pipe-size-label,.pipe-size-label.pipe-return{fill:#0a84ff}.pipe-size-label-grid.pipe-cooling-flow .pipe-size-label,.pipe-size-label.pipe-cooling-flow{fill:#0284c7}.pipe-size-label-grid.pipe-cooling-return .pipe-size-label,.pipe-size-label.pipe-cooling-return{fill:#9333ea}.pipe-size-label-grid.pipe-domestic-hot-water .pipe-size-label,.pipe-size-label.pipe-domestic-hot-water{fill:#ef4444}.pipe-size-label-grid.pipe-domestic-cold-water .pipe-size-label,.pipe-size-label.pipe-domestic-cold-water{fill:#0a84ff}.pipe-size-label-grid.pipe-boosted-cold-water .pipe-size-label,.pipe-size-label.pipe-boosted-cold-water{fill:#16a34a}.pipe-size-label-grid.pipe-secondary-return .pipe-size-label,.pipe-size-label.pipe-secondary-return{fill:#ea580c}.sheet.zoom-lod-compact .pipe-size-label-grid{opacity:0.9}.sheet.zoom-lod-overview .pipe-elbow text,.sheet.zoom-lod-overview .pipe-tee-fitting text,.sheet.zoom-lod-overview .pipe-reducer-fitting text,.sheet.zoom-lod-compact .pipe-elbow text,.sheet.zoom-lod-compact .pipe-tee-fitting text,.sheet.zoom-lod-compact .pipe-reducer-fitting text{display:none}.sheet.zoom-lod-overview .pipe-elbow circle,.sheet.zoom-lod-overview .pipe-tee-fitting circle,.sheet.zoom-lod-overview .pipe-reducer-fitting circle,.sheet.zoom-lod-overview .pipe-draft-elbow,.sheet.zoom-lod-overview .pipe-vertex:not(.active),.sheet.zoom-lod-overview .pipe-snap-target,.sheet.zoom-lod-overview .radiator-connection-anchor,.sheet.zoom-lod-overview .ufh-manifold-connection-anchor,.sheet.zoom-lod-overview .outlet-connection-anchor,.sheet.zoom-lod-overview .plant-room-connection-port,.sheet.zoom-lod-overview .riser-halo,.sheet.zoom-lod-overview .riser-marker{opacity:0.52}.sheet.zoom-lod-overview .radiator-connection-stem,.sheet.zoom-lod-overview .ufh-manifold-connection-stem,.sheet.zoom-lod-overview .outlet-connection-stem,.sheet.zoom-lod-overview .plant-room-port-stem{opacity:0.45}.sheet.zoom-lod-overview .riser-node:not(.active) text,.sheet.zoom-lod-overview .plant-room-node:not(.active) text{display:none}.sheet.zoom-lod-compact .riser-node:not(.active) text,.sheet.zoom-lod-compact .plant-room-node:not(.active) text{opacity:0.78}.plant-room-node{cursor:grab}.riser-node{cursor:grab}.plant-room-node:active,.riser-node:active{cursor:grabbing}.plant-room-halo{fill:rgba(14,165,233,0.12);stroke:rgba(14,165,233,0.36);stroke-width:1.2;vector-effect:non-scaling-stroke}.plant-room-marker{fill:rgba(255,255,255,0.88);stroke:#0f172a;stroke-width:1.5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 3px 8px rgba(15,23,42,0.22))}.plant-room-symbol{fill:none;stroke:#0a84ff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.plant-room-node.plant-room-system-heating .plant-room-halo{fill:rgba(239,68,68,0.14);stroke:rgba(239,68,68,0.44)}.plant-room-node.plant-room-system-heating .plant-room-marker{fill:rgba(254,242,242,0.92);stroke:#ef4444}.plant-room-node.plant-room-system-heating .plant-room-symbol{stroke:#ef4444}.plant-room-node.plant-room-system-heating text{fill:#991b1b}.plant-room-node.plant-room-system-cooling .plant-room-halo{fill:rgba(14,165,233,0.15);stroke:rgba(14,165,233,0.48)}.plant-room-node.plant-room-system-cooling .plant-room-marker{fill:rgba(240,249,255,0.92);stroke:#0a84ff}.plant-room-node.plant-room-system-cooling .plant-room-symbol{stroke:#0a84ff}.plant-room-node.plant-room-system-cooling text{fill:#075985}.plant-room-node.plant-room-system-public-health .plant-room-halo{fill:rgba(34,197,94,0.16);stroke:rgba(34,197,94,0.5)}.plant-room-node.plant-room-system-public-health .plant-room-marker{fill:rgba(240,253,244,0.92);stroke:#16a34a}.plant-room-node.plant-room-system-public-health .plant-room-symbol{stroke:#16a34a}.plant-room-node.plant-room-system-public-health text{fill:#166534}.plant-room-node.active .plant-room-marker{stroke-width:2.1}.plant-room-node.active .plant-room-halo{filter:drop-shadow(0 0 5px currentColor)}.plant-room-port-stem{fill:none;stroke-width:1.25;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}.plant-room-port-flow,.plant-room-connection-flow{stroke:#ef4444}.plant-room-port-return,.plant-room-connection-return{stroke:#0a84ff}.plant-room-port-cooling-flow,.plant-room-connection-cooling-flow{stroke:#38bdf8}.plant-room-port-cooling-return,.plant-room-connection-cooling-return{stroke:#a855f7}.plant-room-port-domestic-hot-water,.plant-room-connection-domestic-hot-water{stroke:#ef4444}.plant-room-port-domestic-cold-water,.plant-room-connection-domestic-cold-water{stroke:#0a84ff}.plant-room-port-boosted-cold-water,.plant-room-connection-boosted-cold-water{stroke:#22c55e}.plant-room-port-secondary-return,.plant-room-connection-secondary-return{stroke:#f97316}.plant-room-connection-port{fill:rgba(255,255,255,0.94);stroke-width:1.25;vector-effect:non-scaling-stroke;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(15,23,42,0.2))}.plant-room-connection-flow{fill:rgba(254,226,226,0.94)}.plant-room-connection-return{fill:rgba(219,234,254,0.94)}.plant-room-connection-cooling-flow{fill:rgba(224,242,254,0.94)}.plant-room-connection-cooling-return{fill:rgba(243,232,255,0.94)}.plant-room-connection-domestic-hot-water{fill:rgba(254,226,226,0.94)}.plant-room-connection-domestic-cold-water{fill:rgba(219,234,254,0.94)}.plant-room-connection-boosted-cold-water{fill:rgba(220,252,231,0.94)}.plant-room-connection-secondary-return{fill:rgba(255,237,213,0.94)}.plant-room-node text{fill:var(--text);font-size:calc(8.5px * var(--canvas-text-scale,1));font-weight:900;paint-order:stroke;stroke:rgba(255,255,255,0.92);stroke-width:3px;vector-effect:non-scaling-stroke;pointer-events:none}.plant-room-node.plant-room-system-heating text{fill:#991b1b}.plant-room-node.plant-room-system-cooling text{fill:#075985}.plant-room-node.plant-room-system-public-health text{fill:#166534}.riser-halo{fill:rgba(245,158,11,0.12);stroke:rgba(245,158,11,0.42);stroke-width:1.2;vector-effect:non-scaling-stroke}.riser-marker{fill:rgba(255,255,255,0.9);stroke:#92400e;stroke-width:1.5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 3px 8px rgba(15,23,42,0.2))}.riser-symbol{fill:none;stroke:#d97706;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.riser-node.pipe-flow .riser-halo{fill:rgba(239,68,68,0.14);stroke:rgba(239,68,68,0.5)}.riser-node.pipe-flow .riser-marker{stroke:#ef4444}.riser-node.pipe-flow .riser-symbol{stroke:#ef4444}.riser-node.pipe-flow text{fill:#ef4444}.riser-node.pipe-return .riser-halo{fill:rgba(10,132,255,0.14);stroke:rgba(10,132,255,0.54)}.riser-node.pipe-return .riser-marker{stroke:#0a84ff}.riser-node.pipe-return .riser-symbol{stroke:#0a84ff}.riser-node.pipe-return text{fill:#0a84ff}.riser-node.pipe-cooling-flow .riser-halo{fill:rgba(56,189,248,0.14);stroke:rgba(56,189,248,0.54)}.riser-node.pipe-cooling-flow .riser-marker{stroke:#38bdf8}.riser-node.pipe-cooling-flow .riser-symbol{stroke:#38bdf8}.riser-node.pipe-cooling-flow text{fill:#0284c7}.riser-node.pipe-cooling-return .riser-halo{fill:rgba(168,85,247,0.14);stroke:rgba(168,85,247,0.54)}.riser-node.pipe-cooling-return .riser-marker{stroke:#a855f7}.riser-node.pipe-cooling-return .riser-symbol{stroke:#a855f7}.riser-node.pipe-cooling-return text{fill:#9333ea}.riser-node.pipe-domestic-hot-water .riser-halo{fill:rgba(239,68,68,0.14);stroke:rgba(239,68,68,0.5)}.riser-node.pipe-domestic-hot-water .riser-marker,.riser-node.pipe-domestic-hot-water .riser-symbol{stroke:#ef4444}.riser-node.pipe-domestic-hot-water text{fill:#ef4444}.riser-node.pipe-domestic-cold-water .riser-halo{fill:rgba(10,132,255,0.14);stroke:rgba(10,132,255,0.54)}.riser-node.pipe-domestic-cold-water .riser-marker,.riser-node.pipe-domestic-cold-water .riser-symbol{stroke:#0a84ff}.riser-node.pipe-domestic-cold-water text{fill:#0a84ff}.riser-node.pipe-boosted-cold-water .riser-halo{fill:rgba(34,197,94,0.14);stroke:rgba(34,197,94,0.54)}.riser-node.pipe-boosted-cold-water .riser-marker,.riser-node.pipe-boosted-cold-water .riser-symbol{stroke:#22c55e}.riser-node.pipe-boosted-cold-water text{fill:#16a34a}.riser-node.pipe-secondary-return .riser-halo{fill:rgba(249,115,22,0.14);stroke:rgba(249,115,22,0.54)}.riser-node.pipe-secondary-return .riser-marker,.riser-node.pipe-secondary-return .riser-symbol{stroke:#f97316}.riser-node.pipe-secondary-return text{fill:#ea580c}.riser-node.active .riser-marker{stroke-width:2}.riser-node text{fill:var(--text);font-size:calc(8.5px * var(--canvas-text-scale,1));font-weight:900;paint-order:stroke;stroke:rgba(255,255,255,0.92);stroke-width:3px;vector-effect:non-scaling-stroke;pointer-events:none}.pipe-plant-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pipe-elbow circle,.pipe-draft-elbow{fill:rgba(255,255,255,0.96);stroke:#334155;stroke-width:1.5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px rgba(15,23,42,0.18))}.pipe-tee-fitting,.pipe-reducer-fitting{pointer-events:none}.pipe-tee-fitting circle,.pipe-reducer-fitting circle{fill:rgba(255,255,255,0.97);stroke:#334155;stroke-width:1.6;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px rgba(15,23,42,0.2))}.pipe-tee-fitting path,.pipe-reducer-fitting path{fill:none;stroke:#334155;stroke-width:1.5;stroke-linecap:round;vector-effect:non-scaling-stroke}.pipe-tee-fitting.pipe-flow circle,.pipe-tee-fitting.pipe-flow path,.pipe-junction-elbow.pipe-flow circle,.pipe-reducer-fitting.pipe-flow circle,.pipe-reducer-fitting.pipe-flow path{stroke:#ef4444}.pipe-tee-fitting.pipe-return circle,.pipe-tee-fitting.pipe-return path,.pipe-junction-elbow.pipe-return circle,.pipe-reducer-fitting.pipe-return circle,.pipe-reducer-fitting.pipe-return path{stroke:#0a84ff}.pipe-tee-fitting.pipe-cooling-flow circle,.pipe-tee-fitting.pipe-cooling-flow path,.pipe-junction-elbow.pipe-cooling-flow circle,.pipe-reducer-fitting.pipe-cooling-flow circle,.pipe-reducer-fitting.pipe-cooling-flow path{stroke:#38bdf8}.pipe-tee-fitting.pipe-cooling-return circle,.pipe-tee-fitting.pipe-cooling-return path,.pipe-junction-elbow.pipe-cooling-return circle,.pipe-reducer-fitting.pipe-cooling-return circle,.pipe-reducer-fitting.pipe-cooling-return path{stroke:#a855f7}.pipe-tee-fitting.pipe-domestic-hot-water circle,.pipe-tee-fitting.pipe-domestic-hot-water path,.pipe-junction-elbow.pipe-domestic-hot-water circle,.pipe-reducer-fitting.pipe-domestic-hot-water circle,.pipe-reducer-fitting.pipe-domestic-hot-water path{stroke:#ef4444}.pipe-tee-fitting.pipe-domestic-cold-water circle,.pipe-tee-fitting.pipe-domestic-cold-water path,.pipe-junction-elbow.pipe-domestic-cold-water circle,.pipe-reducer-fitting.pipe-domestic-cold-water circle,.pipe-reducer-fitting.pipe-domestic-cold-water path{stroke:#0a84ff}.pipe-tee-fitting.pipe-boosted-cold-water circle,.pipe-tee-fitting.pipe-boosted-cold-water path,.pipe-junction-elbow.pipe-boosted-cold-water circle,.pipe-reducer-fitting.pipe-boosted-cold-water circle,.pipe-reducer-fitting.pipe-boosted-cold-water path{stroke:#22c55e}.pipe-tee-fitting.pipe-secondary-return circle,.pipe-tee-fitting.pipe-secondary-return path,.pipe-junction-elbow.pipe-secondary-return circle,.pipe-reducer-fitting.pipe-secondary-return circle,.pipe-reducer-fitting.pipe-secondary-return path{stroke:#f97316}.pipe-reducer-fitting path{fill:rgba(255,255,255,0.88)}.pipe-tee-fitting.reducing-tee circle{stroke-width:2.2}.pipe-elbow text,.pipe-tee-fitting text,.pipe-reducer-fitting text{fill:#334155;font-size:calc(6.5px * var(--canvas-text-scale,1));font-weight:900;paint-order:stroke;stroke:rgba(255,255,255,0.9);stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:none}.pipe-measurement{fill:#172033;font-size:calc(9px * var(--canvas-text-scale,1));font-weight:850;paint-order:stroke;stroke:rgba(255,255,255,0.88);stroke-width:2px;vector-effect:non-scaling-stroke}.node{stroke:white;stroke-width:2}.node.red{fill:var(--red)}.node.blue{fill:#4b5563}.radiator rect{fill:rgba(240,68,56,0.1);stroke:var(--red);stroke-width:2}.radiator path{stroke:var(--red);stroke-width:1.4}.equipment rect{fill:#f8fafc;stroke:#475569;stroke-width:2}.equipment text{fill:#172033;font-size:10px;font-weight:800}.calibration-line path{stroke:#111827;stroke-width:2.5}.calibration-line circle{fill:var(--blue);stroke:white;stroke-width:2}.calibration-line text{fill:white;font-size:11px;font-weight:800}.calibration-line.editing path{stroke:var(--blue);stroke-dasharray:8 5}.alignment-marker{pointer-events:none}.alignment-marker path{stroke:var(--teal);stroke-width:2.5}.alignment-marker circle{fill:rgba(107,114,128,0.15);stroke:var(--teal);stroke-width:2}.alignment-marker text{fill:#4b5563;font-size:11px;font-weight:800}.alignment-marker.editing path,.alignment-marker.editing circle{filter:drop-shadow(0 0 0.25rem rgba(107,114,128,0.35))}.drawn-room .room-fill{stroke:transparent;stroke-width:0}.drawn-room.active .room-fill{stroke:rgba(75,85,99,0.45);stroke-width:1.5;filter:drop-shadow(0 0 0.28rem rgba(75,85,99,0.22))}.lower-floor-room-underlay,.lower-floor-room-underlay *{pointer-events:none}.lower-floor-room-reference{opacity:0.34}.lower-floor-room-fill{fill:rgba(107,114,128,0.18);stroke:rgba(107,114,128,0.62);stroke-width:1.6;stroke-dasharray:9 7}.lower-floor-room-reference .room-wall{opacity:0.68}.lower-floor-room-reference .wall-window,.lower-floor-room-reference .wall-door,.lower-floor-room-reference .roof-skylight{opacity:0.72}.room-wall-group{pointer-events:none}.room-wall{fill:none;stroke-linecap:square;stroke-linejoin:miter;pointer-events:none}.room-wall-segment-hit{fill:none;stroke:transparent;stroke-width:18;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;cursor:move;pointer-events:stroke}.room-wall.cavity-wall-casing.external{stroke:#253244}.room-wall.cavity-wall-void.external{stroke:#f8fafc}.cavity-wall-tie{fill:none;stroke:rgba(71,85,105,0.42);stroke-linecap:round;stroke-width:0.36;pointer-events:none}.wall-window,.wall-door{cursor:grab;pointer-events:visibleStroke}.shared-door-opening-only:not(.wall-door){pointer-events:none}.roof-skylight{cursor:grab;pointer-events:all}.radiant-effect-zone{fill:rgba(249,115,22,0.5);stroke:rgba(194,65,12,0.72);stroke-width:1.4;stroke-dasharray:8 6;mix-blend-mode:multiply;pointer-events:none}html[data-theme="dark"] .radiant-effect-zone{fill:rgba(251,146,60,0.46);stroke:rgba(253,186,116,0.76);mix-blend-mode:screen}.wall-radiator{cursor:grab;pointer-events:all}.wall-window:active,.wall-door:active,.roof-skylight:active,.wall-radiator:active{cursor:grabbing}.wall-window .window-opening,.wall-window .window-frame,.wall-window .window-pane,.wall-window .window-jamb{pointer-events:stroke}.wall-door .door-opening,.wall-door .door-hit,.wall-door .door-leaf,.wall-door .door-swing,.wall-door .door-jamb{pointer-events:stroke}.window-preview{filter:drop-shadow(0 0 0.18rem rgba(75,85,99,0.55));opacity:0.94;pointer-events:none}.window-preview .window-opening{stroke:rgba(75,85,99,0.24)}.window-preview .window-glass{fill:rgba(156,163,175,0.42);stroke:rgba(75,85,99,0.4)}.window-preview .window-frame,.window-preview .window-jamb,.window-preview .window-pane{stroke:#4b5563;stroke-dasharray:2.4 1.6}.door-preview{filter:drop-shadow(0 0 0.18rem rgba(107,114,128,0.5));opacity:0.95;pointer-events:none}.door-preview .door-opening{stroke:rgba(107,114,128,0.24)}.door-preview .door-leaf,.door-preview .door-swing,.door-preview .door-jamb{stroke:#6b7280;stroke-dasharray:2.4 1.6}.skylight-preview{filter:drop-shadow(0 0 0.18rem rgba(107,114,128,0.52));opacity:0.9;pointer-events:none}.skylight-preview .skylight-opening{stroke:#6b7280;stroke-dasharray:2.4 1.6}.skylight-preview .skylight-glass{fill:rgba(209,213,219,0.46);stroke:rgba(2,132,199,0.42)}.skylight-preview .skylight-pane{stroke:#6b7280;stroke-dasharray:2.4 1.6}.radiator-preview{filter:drop-shadow(0 0 0.18rem rgba(0,122,255,0.38));opacity:0.9;pointer-events:none}.radiator-preview.invalid{filter:drop-shadow(0 0 0.2rem rgba(239,68,68,0.45))}.radiator-preview.invalid .radiator-body{fill:rgba(254,226,226,0.86);stroke:#ef4444}.radiator-preview.invalid .radiator-panel,.radiator-preview.invalid .radiator-end-cap,.radiator-preview.invalid .radiator-convector-fin{stroke:#ef4444}.ufh-manifold-preview{filter:drop-shadow(0 0 0.18rem rgba(245,158,11,0.38));opacity:0.88;pointer-events:none}.ufh-manifold-preview.invalid{filter:drop-shadow(0 0 0.2rem rgba(239,68,68,0.45))}.ufh-manifold-preview.invalid .ufh-manifold-body{fill:rgba(254,226,226,0.72);stroke:#ef4444}.ufh-manifold-preview.invalid .ufh-manifold-port{stroke:#ef4444}.window-opening{fill:none;stroke:#ffffff;stroke-linecap:butt;stroke-linejoin:miter}.door-opening{fill:none;stroke:#ffffff;stroke-linecap:butt;stroke-linejoin:miter}.door-hit{fill:none;stroke:rgba(0,0,0,0);stroke-linecap:square;pointer-events:stroke}.window-glass{fill:rgba(209,213,219,0.38);stroke:rgba(75,85,99,0.16);stroke-width:0.45;pointer-events:none}.window-frame{fill:none;stroke:#4b5563;stroke-linecap:butt;stroke-linejoin:miter}.window-jamb{fill:none;stroke:#4b5563;stroke-linecap:square;stroke-linejoin:miter}.window-pane{fill:none;stroke:#9ca3af;stroke-linecap:butt;stroke-linejoin:miter}.door-leaf,.door-jamb{fill:none;stroke:#374151;stroke-linecap:square;stroke-linejoin:miter}.door-fold{stroke-linejoin:round}.door-swing{fill:none;stroke:rgba(107,114,128,0.72);stroke-width:0.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.skylight-hit{fill:rgba(0,0,0,0);stroke:transparent;pointer-events:all}.skylight-opening{fill:rgba(229,231,235,0.42);stroke:#0f172a;stroke-width:1.15;vector-effect:non-scaling-stroke;pointer-events:none}.skylight-glass{fill:rgba(209,213,219,0.72);stroke:rgba(107,114,128,0.42);stroke-width:0.7;vector-effect:non-scaling-stroke;pointer-events:none}.skylight-pane{fill:none;stroke:rgba(107,114,128,0.72);stroke-width:0.75;vector-effect:non-scaling-stroke;pointer-events:none}.radiator-body{fill:rgba(255,255,255,0.58);stroke:#0f172a;stroke-width:0.85;vector-effect:non-scaling-stroke;pointer-events:all}.radiator-panel,.radiator-end-cap,.radiator-convector-fin,.heat-emitter-grille,.heat-emitter-line,.heat-emitter-side-rail,.heat-emitter-towel-bar,.heat-emitter-radiant-line,.heat-emitter-radiant-wave,.heat-emitter-radiant-edge,.heat-emitter-radiant-header,.heat-emitter-radiant-tube,.heat-emitter-radiant-strap,.heat-emitter-coil,.heat-emitter-fin,.heat-emitter-towel-upright,.heat-emitter-finned-core,.heat-emitter-finned-shell,.heat-emitter-finned-rib,.heat-emitter-finned-collar,.heat-emitter-finned-pipe-end,.heat-emitter-pipe-core,.heat-emitter-pipe-shell,.heat-emitter-pipe-collar,.heat-emitter-pipe-end,.heat-emitter-trench-frame,.heat-emitter-trench-slat,.heat-emitter-trench-coil,.heat-emitter-fcu-edge,.heat-emitter-fcu-panel,.heat-emitter-fcu-fold,.heat-emitter-fcu-duct-tail,.heat-emitter-coil-bank,.heat-emitter-fan-ring,.heat-emitter-fan-blade{fill:none;stroke:rgba(51,65,85,0.78);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.radiator-panel{stroke:rgba(15,23,42,0.92);stroke-width:2.2}.radiator-end-cap{stroke:rgba(15,23,42,0.72);stroke-width:1.05}.radiator-convector-fin{stroke:rgba(51,65,85,0.64);stroke-width:0.82}.heat-emitter-grille,.heat-emitter-fin{stroke:rgba(15,23,42,0.66);stroke-width:0.9}.radiator-type-trench-heater .radiator-body{fill:rgba(15,23,42,0.12);stroke:rgba(15,23,42,0.32)}.heat-emitter-trench-void{fill:rgba(15,23,42,0.74);stroke:none;pointer-events:none}.heat-emitter-trench-frame{stroke:rgba(226,232,240,0.95);stroke-width:2.1}.heat-emitter-trench-slat{stroke:rgba(248,250,252,0.92);stroke-width:1.2}.heat-emitter-trench-coil{stroke:rgba(71,85,105,0.78);stroke-width:1.45}html[data-theme="dark"] .radiator-type-trench-heater .radiator-body{fill:rgba(248,250,252,0.05);stroke:rgba(226,232,240,0.24)}.radiator-type-fan-coil .radiator-body{fill:rgba(248,250,252,0.42);stroke:rgba(15,23,42,0.32)}.heat-emitter-fcu-case{fill:rgba(248,250,252,0.72);stroke:rgba(15,23,42,0.26);stroke-width:0.8;vector-effect:non-scaling-stroke;pointer-events:none}.heat-emitter-fcu-edge{stroke:rgba(15,23,42,0.68);stroke-width:1.3}.heat-emitter-fcu-panel,.heat-emitter-fcu-fold{stroke:rgba(100,116,139,0.74);stroke-width:1}.heat-emitter-fcu-duct-tail{stroke:rgba(15,23,42,0.58);stroke-width:1.6}.heat-emitter-fcu-duct-rim{fill:rgba(226,232,240,0.86);stroke:rgba(71,85,105,0.62);stroke-width:0.5;vector-effect:non-scaling-stroke;pointer-events:none}.heat-emitter-fcu-duct{fill:rgba(15,23,42,0.82);stroke:none;pointer-events:none}html[data-theme="dark"] .radiator-type-fan-coil .radiator-body{fill:rgba(248,250,252,0.08);stroke:rgba(226,232,240,0.24)}html[data-theme="dark"] .heat-emitter-fcu-case{fill:rgba(226,232,240,0.28);stroke:rgba(248,250,252,0.2)}.heat-emitter-line,.heat-emitter-coil-bank,.heat-emitter-towel-bar,.heat-emitter-side-rail,.heat-emitter-towel-upright{stroke:rgba(15,23,42,0.82);stroke-width:1.4}.radiator-type-towel-rail .radiator-body{fill:rgba(248,250,252,0.28);stroke:rgba(15,23,42,0.28)}.heat-emitter-towel-upright{stroke-width:2.1}.heat-emitter-towel-bar{stroke:rgba(15,23,42,0.88);stroke-width:1.55}.heat-emitter-towel-valve{fill:rgba(15,23,42,0.82);stroke:rgba(248,250,252,0.86);stroke-width:0.45;vector-effect:non-scaling-stroke;pointer-events:none}.heat-emitter-coil,.heat-emitter-radiant-wave{stroke:rgba(15,23,42,0.8);stroke-width:1.15}.radiator-type-finned-coil .radiator-body{fill:rgba(148,163,184,0.12);stroke:rgba(15,23,42,0.26)}.heat-emitter-finned-core{stroke:rgba(15,23,42,0.92);stroke-width:2.25}.heat-emitter-finned-shell{stroke:rgba(15,23,42,0.84);stroke-width:1.35}.heat-emitter-finned-rib{stroke:rgba(15,23,42,0.9);stroke-width:1.05}.heat-emitter-finned-collar{stroke:rgba(71,85,105,0.86);stroke-width:1.55}.heat-emitter-finned-pipe-end{stroke:rgba(100,116,139,0.82);stroke-width:2}.radiator-type-pipe-coil .radiator-body{fill:rgba(148,163,184,0.1);stroke:rgba(15,23,42,0.22)}.heat-emitter-pipe-core{stroke:rgba(71,85,105,0.9);stroke-width:3}.heat-emitter-pipe-shell{stroke:rgba(15,23,42,0.72);stroke-width:1.5}.heat-emitter-pipe-collar{stroke:rgba(15,23,42,0.72);stroke-width:1.45}.heat-emitter-pipe-end{stroke:rgba(100,116,139,0.8);stroke-width:1.35}.heat-emitter-radiant-line{stroke:rgba(14,165,233,0.62);stroke-width:1}.radiator-type-radiant-heater .radiator-body{fill:rgba(248,250,252,0.22);stroke:rgba(15,23,42,0.28)}.heat-emitter-radiant-panel-face{fill:rgba(248,250,252,0.76);stroke:rgba(15,23,42,0.26);stroke-width:0.7;vector-effect:non-scaling-stroke;pointer-events:none}.heat-emitter-radiant-edge{stroke:rgba(15,23,42,0.72);stroke-width:1.15}.heat-emitter-radiant-header{stroke:rgba(15,23,42,0.76);stroke-width:2.2}.heat-emitter-radiant-tube{stroke:rgba(30,41,59,0.72);stroke-width:1.45}.heat-emitter-radiant-strap{stroke:rgba(71,85,105,0.72);stroke-width:1.2}html[data-theme="dark"] .radiator-type-radiant-heater .radiator-body{fill:rgba(226,232,240,0.05);stroke:rgba(226,232,240,0.24)}html[data-theme="dark"] .heat-emitter-radiant-panel-face{fill:rgba(226,232,240,0.18);stroke:rgba(226,232,240,0.34)}html[data-theme="dark"] .heat-emitter-radiant-edge,html[data-theme="dark"] .heat-emitter-radiant-header,html[data-theme="dark"] .heat-emitter-radiant-tube,html[data-theme="dark"] .heat-emitter-radiant-strap{stroke:rgba(248,250,252,0.76)}.heat-emitter-fan-ring,.heat-emitter-fan-blade{stroke:rgba(15,23,42,0.72);stroke-width:1.05}.heat-emitter-fan-hub{fill:rgba(15,23,42,0.72);stroke:none;pointer-events:none}.radiator-connection-anchors{pointer-events:none}.radiator-connection-stem{fill:none;stroke:rgba(15,23,42,0.64);stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}.radiator-connection-anchor{fill:rgba(255,255,255,0.9);stroke-width:1.35;vector-effect:non-scaling-stroke;pointer-events:all;filter:drop-shadow(0 1px 2px rgba(15,23,42,0.24))}.radiator-connection-stem.radiator-connection-flow,.radiator-connection-anchor.radiator-connection-flow{stroke:#ef4444}.radiator-connection-stem.radiator-connection-return,.radiator-connection-anchor.radiator-connection-return{stroke:#0a84ff}.radiator-connection-stem.radiator-connection-cooling-flow,.radiator-connection-anchor.radiator-connection-cooling-flow{stroke:#38bdf8}.radiator-connection-stem.radiator-connection-cooling-return,.radiator-connection-anchor.radiator-connection-cooling-return{stroke:#a855f7}.radiator-connection-anchor.radiator-connection-flow{fill:rgba(254,226,226,0.94)}.radiator-connection-anchor.radiator-connection-return{fill:rgba(219,234,254,0.94)}.radiator-connection-anchor.radiator-connection-cooling-flow{fill:rgba(224,242,254,0.94)}.radiator-connection-anchor.radiator-connection-cooling-return{fill:rgba(243,232,255,0.94)}.floor-outlet{cursor:pointer;pointer-events:all}.outlet-symbol-body{fill:rgba(255,255,255,0.01);stroke:transparent;stroke-width:1.2;vector-effect:non-scaling-stroke;pointer-events:all}.outlet-symbol-asset{pointer-events:none;filter:drop-shadow(0 2px 4px rgba(15,23,42,0.16))}.outlet-symbol-glyph{color:#0f172a;pointer-events:none}.outlet-reference{fill:#0f172a;font-size:calc(8px * var(--canvas-text-scale,1));font-weight:900;paint-order:stroke;stroke:rgba(255,255,255,0.86);stroke-width:2.2px;vector-effect:non-scaling-stroke;pointer-events:none}.outlet-connection-anchors{pointer-events:none}.outlet-connection-stem{fill:none;stroke-linecap:round;stroke-width:1.25;vector-effect:non-scaling-stroke;pointer-events:none}.outlet-connection-anchor{fill:rgba(255,255,255,0.9);stroke-width:1.35;vector-effect:non-scaling-stroke;pointer-events:all;filter:drop-shadow(0 1px 2px rgba(15,23,42,0.24))}.outlet-connection-hot{stroke:#ef4444;fill:rgba(254,226,226,0.94)}.outlet-connection-cold{stroke:#0a84ff;fill:rgba(219,234,254,0.94)}.floor-outlet.active .outlet-symbol-body{fill:rgba(219,234,254,0.18);stroke:#0a84ff}.ufh-manifold{cursor:pointer}.ufh-loop-layer{pointer-events:none}.ufh-loop-path{fill:none;stroke:var(--ufh-loop-color,rgba(245,158,11,0.74));stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:0.5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px rgba(120,53,15,0.16));transition:opacity 160ms ease,stroke-width 160ms ease}.ufh-loop-path.active{opacity:1;stroke-width:1.7}.ufh-loop-path.inactive{opacity:0.5}.ufh-loop-connector{fill:none;stroke:rgba(245,158,11,0.5);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.ufh-loop-pattern-linear{stroke-dasharray:none}.ufh-loop-pattern-spiral{stroke:var(--ufh-loop-color,rgba(217,119,6,0.82))}.ufh-manifold-body{fill:rgba(245,158,11,0.2);stroke:rgba(120,53,15,0.88);stroke-width:1.25;vector-effect:non-scaling-stroke;filter:drop-shadow(0 3px 8px rgba(15,23,42,0.2));pointer-events:all}.ufh-manifold-port{fill:none;stroke:rgba(120,53,15,0.58);stroke-width:0.9;vector-effect:non-scaling-stroke;pointer-events:none}.ufh-manifold-connection-anchors{pointer-events:none}.ufh-manifold-connection-stem{fill:none;stroke-linecap:round;stroke-width:1.6;vector-effect:non-scaling-stroke;pointer-events:none}.ufh-manifold-connection-anchor{fill:rgba(255,255,255,0.9);stroke-width:1.35;vector-effect:non-scaling-stroke;pointer-events:all;filter:drop-shadow(0 1px 2px rgba(15,23,42,0.24))}.ufh-manifold-connection-flow{stroke:#ef4444}.ufh-manifold-connection-return{stroke:#0a84ff}.ufh-manifold.active .ufh-manifold-body{fill:rgba(254,243,199,0.74);stroke:#f59e0b}.ufh-manifold-reference{fill:#78350f;font-size:calc(9px * var(--canvas-text-scale,1));font-weight:900;paint-order:stroke;stroke:rgba(255,255,255,0.86);stroke-width:2.4px;vector-effect:non-scaling-stroke;pointer-events:none}.wall-radiator.active .radiator-connection-anchor{stroke-width:1.75}.radiator-reference{fill:#0f172a;font-size:9px;font-weight:900;paint-order:stroke;stroke:rgba(255,255,255,0.82);stroke-width:2.4px;vector-effect:non-scaling-stroke;pointer-events:none}.wall-radiator.active .radiator-body{fill:rgba(219,234,254,0.92);stroke:#0a84ff;stroke-width:1.25}.wall-radiator.active .radiator-panel,.wall-radiator.active .radiator-end-cap,.wall-radiator.active .radiator-convector-fin{stroke:#0a84ff}.wall-window.active .window-frame,.wall-window.active .window-jamb{stroke:#f59e0b}.wall-window.active .window-opening{stroke:#fff7ed}.wall-door.active .door-leaf,.wall-door.active .door-jamb,.wall-door.active .door-swing{stroke:#f59e0b}.wall-door.active .door-opening{stroke:#fff7ed}.roof-skylight.active .skylight-opening{stroke:#f59e0b;stroke-width:1.6}.roof-skylight.active .skylight-pane{stroke:#f59e0b}.window-handle,.door-handle,.skylight-handle,.radiator-handle{fill:#ffffff;stroke:#f59e0b;stroke-width:1.2;vector-effect:non-scaling-stroke;pointer-events:all}.window-handle,.door-handle,.radiator-handle{cursor:ew-resize}.lower-floor-room-underlay .wall-window,.lower-floor-room-underlay .wall-door,.lower-floor-room-underlay .roof-skylight,.lower-floor-room-underlay .window-opening,.lower-floor-room-underlay .window-frame,.lower-floor-room-underlay .window-pane,.lower-floor-room-underlay .window-jamb,.lower-floor-room-underlay .door-opening,.lower-floor-room-underlay .door-hit,.lower-floor-room-underlay .door-leaf,.lower-floor-room-underlay .door-swing,.lower-floor-room-underlay .door-jamb,.lower-floor-room-underlay .skylight-hit,.lower-floor-room-underlay .skylight-opening,.lower-floor-room-underlay .skylight-glass,.lower-floor-room-underlay .skylight-pane,.lower-floor-room-underlay .window-handle,.lower-floor-room-underlay .door-handle,.lower-floor-room-underlay .skylight-handle,.lower-floor-room-underlay .radiator-handle,.reference-opening{cursor:default;pointer-events:none}.skylight-handle.width{cursor:ew-resize}.skylight-handle.height{cursor:ns-resize}.measurement-label{fill:#111827;font-size:calc(10px * var(--canvas-text-scale,1));font-weight:800;letter-spacing:0;paint-order:stroke;pointer-events:none;stroke:rgba(255,255,255,0.96);stroke-linejoin:round;stroke-width:calc(4px * var(--canvas-text-scale,1))}.measurement-label.editable{cursor:text;pointer-events:all}.room-wall-measurement{fill:#4b5563}.window-measurement{fill:#b45309}.door-measurement{fill:#4b5563}.skylight-measurement{fill:#4b5563}.skylight-measurement.editable{pointer-events:bounding-box}.window-measurement.preview{fill:#4b5563}.door-measurement.preview{fill:#4b5563}.skylight-measurement.preview{fill:#6b7280}.radiator-measurement{fill:#007aff;font-weight:880}.radiator-measurement.invalid{fill:#ef4444}.measurement-editor-object{overflow:visible;pointer-events:all}.measurement-editor{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;width:124px;height:34px;padding:3px 8px 3px 4px;border:1px solid rgba(255,255,255,0.46);border-radius:9px;background:linear-gradient(135deg,rgba(255,255,255,0.22),rgba(255,255,255,0.055) 48%,rgba(255,255,255,0.15)),rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.72),inset 0 -1px 0 rgba(255,255,255,0.12),inset 0 0 18px rgba(255,255,255,0.10),0 14px 30px rgba(15,23,42,0.18);backdrop-filter:blur(38px) saturate(2.15);-webkit-backdrop-filter:blur(38px) saturate(2.15)}.measurement-editor::before{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,rgba(255,255,255,0.66),rgba(255,255,255,0.16) 31%,transparent 56%),radial-gradient(circle at 14% 0%,rgba(255,255,255,0.42),transparent 42%);opacity:0.78}.measurement-editor input{position:relative;z-index:1;width:100%;min-width:0;height:28px;border:1px solid rgba(255,255,255,0.20);border-radius:7px;background:rgba(255,255,255,0.09);color:#111827;font-size:12px;font-weight:800;outline:0;padding:0 4px 0 7px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.34),inset 0 -1px 0 rgba(255,255,255,0.08);backdrop-filter:blur(10px) saturate(1.45);-webkit-backdrop-filter:blur(10px) saturate(1.45)}.measurement-editor span{position:relative;z-index:1;color:#334155;font-size:10px;font-weight:800}html[data-theme="dark"] .measurement-editor{color-scheme:dark;border-color:rgba(239,246,255,0.18);background:linear-gradient(135deg,rgba(58,61,68,0.48),rgba(15,17,22,0.28) 48%,rgba(255,255,255,0.08)),rgba(7,9,13,0.42);box-shadow:inset 0 1px 0 rgba(255,255,255,0.22),inset 0 -1px 0 rgba(255,255,255,0.06),inset 0 0 20px rgba(255,255,255,0.045),0 16px 34px rgba(0,0,0,0.48)}html[data-theme="dark"] .measurement-editor::before{background:linear-gradient(110deg,rgba(255,255,255,0.24),rgba(255,255,255,0.07) 31%,transparent 56%),radial-gradient(circle at 14% 0%,rgba(255,255,255,0.16),transparent 42%);opacity:0.74}html[data-theme="dark"] .measurement-editor input{color-scheme:dark;border-color:rgba(239,246,255,0.14);background:linear-gradient(145deg,rgba(37,40,48,0.72),rgba(10,12,16,0.48)),rgba(10,12,16,0.32);color:#f8fafc;caret-color:var(--blue);box-shadow:inset 0 1px 0 rgba(255,255,255,0.14),inset 0 -1px 0 rgba(255,255,255,0.04),0 1px 0 rgba(255,255,255,0.04)}html[data-theme="dark"] .measurement-editor input::-webkit-inner-spin-button,html[data-theme="dark"] .measurement-editor input::-webkit-outer-spin-button{filter:invert(1) brightness(1.2) contrast(0.9);opacity:0.82}html[data-theme="dark"] .measurement-editor span{color:rgba(226,232,240,0.72)}.room-wall.wall-casing.internal{stroke:#64748b}.room-wall.wall-face.internal{stroke:#eef2f7}.room-wall.wall-centre.internal{stroke:#475569}.room-draft polyline{fill:none;stroke:#4b5563;stroke-width:3;stroke-dasharray:7 5}.room-guide-line{fill:none;stroke:#6b7280;stroke-width:2.5;stroke-dasharray:10 6;pointer-events:none}.room-guide-point{fill:white;stroke:#6b7280;stroke-width:2.5}.room-alignment-guides{pointer-events:none}.room-alignment-axis{fill:none;stroke:rgba(37,99,235,0.32);stroke-width:1.15;stroke-dasharray:8 7;vector-effect:non-scaling-stroke}.room-corner-guides circle{fill:#fefce8;stroke:#ca8a04;stroke-width:2;pointer-events:none}.room-snap-target{fill:rgba(250,204,21,0.22);stroke:#ca8a04;stroke-width:2.5;pointer-events:none}.vertex-drag-guide path{fill:none;stroke:#6b7280;stroke-width:2.5;stroke-dasharray:10 6;pointer-events:none}.vertex-drag-guide circle{fill:white;stroke:#4b5563;stroke-width:2.5;pointer-events:none}.room-draft circle{fill:white;stroke:#4b5563;stroke-width:2.5}.room-draft .room-snap-target,.vertex-drag-guide .room-snap-target{fill:rgba(250,204,21,0.22);stroke:#ca8a04;stroke-width:2.5}.room-vertex{fill:white;stroke:#4b5563;stroke-width:2.5;cursor:move;pointer-events:all}.room-vertex:hover{fill:#f1f3f5;stroke-width:3.5}.drawing-origin path{stroke:#4b5563;stroke-width:2.5}.drawing-origin circle{fill:#4b5563;stroke:white;stroke-width:2}.drawing-origin text{fill:#4b5563;font-size:11px;font-weight:800}.north,.scale-text{fill:#172033;font-size:13px;font-weight:800}.north-arrow{fill:rgba(15,23,42,0.1);stroke:#172033;stroke-width:1.5}.calibration-popover{position:absolute;z-index:5;top:12px;left:24px;width:min(920px,calc(100% - 48px));display:none;padding:13px 14px 12px;background:var(--glass-strong);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.calibration-popover.active{display:block}.floor-plan-popover{position:absolute;z-index:7;top:12px;left:24px;width:min(980px,calc(100% - 48px));max-height:calc(100% - 42px);overflow:auto;padding:13px 14px 12px;background:var(--glass-strong);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.floor-plan-head{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:10px}.floor-plan-head div{display:grid;gap:3px}.floor-plan-head strong{font-size:13px;font-weight:820}.floor-plan-head span,.plan-note{color:var(--muted);font-size:11px;font-weight:620}.floor-plan-head button{width:26px;height:26px;display:grid;place-items:center;border:1px solid transparent;border-radius:4px;color:#647184;font-size:18px;transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.floor-plan-head button:hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}html[data-theme="dark"] .floor-plan-head button{color:var(--muted)}html[data-theme="dark"] .floor-plan-head button:hover{color:var(--text)}.settings-backdrop{position:fixed;z-index:12;inset:0;pointer-events:none}.brand-menu-backdrop{position:fixed;z-index:15;inset:0;pointer-events:none}.project-settings-popover{position:absolute;top:72px;right:18px;width:min(860px,calc(100vw - 36px));max-height:calc(100vh - 104px);overflow:auto;padding:14px;border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass-strong);box-shadow:var(--shadow);pointer-events:auto;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.brand-menu-popover{position:absolute;inset:64px 14px 14px;overflow:auto;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:16px;border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass-strong);box-shadow:var(--shadow);pointer-events:auto;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.history-backdrop{position:fixed;z-index:13;inset:0;pointer-events:none}.methodology-backdrop{position:fixed;z-index:13;inset:0;pointer-events:none}.export-backdrop{position:fixed;z-index:14;inset:0;pointer-events:none}.history-popover{position:absolute;top:72px;right:304px;width:min(430px,calc(100vw - 36px));max-height:calc(100vh - 104px);overflow:auto;padding:14px;border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass-strong);box-shadow:var(--shadow);pointer-events:auto;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.methodology-popover{position:absolute;top:72px;right:156px;width:min(760px,calc(100vw - 36px));max-height:calc(100vh - 104px);overflow:auto;padding:14px;border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass-strong);box-shadow:var(--shadow);pointer-events:auto;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.export-popover{position:absolute;inset:64px 14px 14px;overflow:auto;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:16px;border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass-strong);box-shadow:var(--shadow);pointer-events:auto;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.product-library-backdrop{position:fixed;z-index:14;inset:0;pointer-events:none}.product-library-popover{position:absolute;inset:64px 14px 14px;overflow:auto;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:16px;border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass-strong);box-shadow:var(--shadow);pointer-events:auto;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.mode-tab.product-library-tab{min-width:154px}.product-library-head{display:flex;align-items:start;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.product-library-head div{display:grid;gap:3px}.product-library-head strong{color:#172033;font-size:15px;font-weight:860}.product-library-head span{color:var(--muted);font-size:11px;font-weight:650}.product-library-head button{width:30px;height:30px;display:grid;place-items:center;border:1px solid transparent;border-radius:4px;color:#647184;font-size:20px;transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.product-library-head button:hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.product-library-body{min-height:0;display:grid;grid-template-columns:minmax(220px,280px) minmax(360px,1fr) minmax(300px,380px);gap:14px;align-content:start}.product-library-rail,.product-library-main,.product-detail-panel{min-width:0;align-self:start;border:1px solid rgba(255,255,255,0.48);border-radius:var(--radius);background:var(--tile-glass);box-shadow:var(--glass-edge),0 16px 30px rgba(0,0,0,0.07);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.product-library-rail,.product-library-main{display:grid;gap:10px;padding:12px}.product-library-rail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px;font-weight:780;text-transform:uppercase}.product-library-rail-head strong{color:var(--blue);font-size:12px}.product-category-list{display:grid;gap:8px}.product-category-card{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,0.36);color:#172033;text-align:left;box-shadow:var(--glass-edge);transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.product-category-card span{min-width:0;display:grid;gap:3px}.product-category-card strong{font-size:12px;font-weight:840}.product-category-card small{color:var(--muted);font-size:10px;font-weight:650;line-height:1.25}.product-category-card em{min-width:28px;height:24px;display:grid;place-items:center;border:1px solid var(--blue-border);border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:10px;font-style:normal;font-weight:860}.product-category-card.active,.product-category-card:hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.product-category-card.active{border-color:var(--blue-border);color:#0057b8}.product-library-title-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;padding:12px;border:1px solid rgba(255,255,255,0.46);border-radius:7px;background:var(--tile-glass-strong);box-shadow:var(--glass-edge)}.product-library-title-card div{display:grid;gap:2px}.product-library-title-card span,.product-library-title-card em{color:var(--muted);font-size:10px;font-style:normal;font-weight:760;text-transform:uppercase}.product-library-title-card strong{color:#172033;font-size:18px;font-weight:880}.product-library-title-card small{color:var(--muted);font-size:11px;font-weight:650;line-height:1.3}.product-subcategory-tabs{display:flex;flex-wrap:wrap;gap:7px}.product-subcategory-tabs button{min-height:32px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,0.38);color:#334155;font-size:11px;font-weight:780;box-shadow:var(--glass-edge);transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.product-subcategory-tabs button span{color:var(--muted);font-size:10px}.product-subcategory-tabs button.active,.product-subcategory-tabs button:hover{border-color:var(--blue-border);background:var(--blue-glass);color:var(--blue);box-shadow:var(--glass-edge),0 8px 18px rgba(0,122,255,0.12);transform:translateY(-1px)}.product-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.product-search,.product-filter-grid label{display:grid;gap:5px;color:#334155;font-size:11px;font-weight:760}.product-search input,.product-filter-grid input,.product-filter-grid select{width:100%;min-width:0;height:34px;border:1px solid var(--line-strong);border-radius:6px;background:var(--input-glass);color:#172033;font-size:12px;font-weight:700;padding:0 9px;box-shadow:var(--glass-edge)}.product-clear-filters{height:34px;white-space:nowrap}.product-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:8px}.product-results-head{display:flex;align-items:end;justify-content:space-between;gap:12px;padding-top:4px}.product-results-head div{display:grid;gap:2px}.product-results-head span,.product-results-head small{color:var(--muted);font-size:10px;font-weight:760;text-transform:uppercase}.product-results-head strong{color:#172033;font-size:14px;font-weight:860}.product-result-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.product-range-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.product-model-groups{display:grid;gap:14px}.product-model-group{min-width:0;display:grid;gap:10px}.product-model-group-head{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(255,255,255,0.5);border-radius:var(--radius);background:rgba(255,255,255,0.38);box-shadow:var(--glass-edge)}.product-model-group-head div{display:grid;gap:2px}.product-model-group-head span,.product-model-group-head small{color:var(--muted);font-size:10px;font-weight:780;text-transform:uppercase}.product-model-group-head strong{color:#172033;font-size:15px;font-weight:880}.product-model-group-head small{text-align:right;line-height:1.35}.product-result-card{min-width:0;display:grid;grid-template-columns:78px minmax(0,1fr);grid-template-rows:auto auto;gap:10px;padding:10px;border:1px solid rgba(255,255,255,0.48);border-radius:var(--radius);background:rgba(255,255,255,0.36);color:#172033;text-align:left;box-shadow:var(--glass-edge),0 10px 24px rgba(0,0,0,0.045);transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.product-result-card:hover,.product-result-card.active{border-color:var(--blue-border);background:var(--control-hover-bg);box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.product-result-card.sponsored{border-color:rgba(0,122,255,0.36)}.product-range-card{grid-template-columns:112px minmax(0,1fr);align-items:center;padding:12px;text-align:left}.product-range-card .product-card-copy strong{font-size:15px}.product-range-card .product-card-copy,.product-range-card .product-card-kicker,.product-range-card .product-card-summary,.product-range-card .product-card-range{justify-content:start;justify-items:start;text-align:left}.product-card-summary{color:#334155;font-size:11px;font-weight:760;line-height:1.35}.product-range-cta{width:fit-content;min-height:30px;display:inline-flex;align-items:center;justify-content:center;text-align:center;margin-top:4px;padding:0 12px;border:1px solid rgba(0,122,255,0.48);border-radius:7px;background:linear-gradient(145deg,rgba(0,122,255,0.96),rgba(10,132,255,0.84));color:white;font-size:11px;font-weight:840;line-height:1;box-shadow:0 10px 20px rgba(0,122,255,0.18),inset 0 1px 0 rgba(255,255,255,0.34)}.product-range-card .product-card-copy .product-range-cta{color:white}.product-detail-select{width:100%;min-height:36px;margin-top:0;cursor:pointer;font-size:12px;letter-spacing:0}.product-detail-select:focus-visible{outline:2px solid rgba(10,132,255,0.4);outline-offset:2px}.product-range-card:hover .product-range-cta,.product-range-card.active .product-range-cta,.product-detail-select:hover{border-color:rgba(0,122,255,0.72);background:linear-gradient(145deg,#0a84ff,#0066d6);box-shadow:0 12px 24px rgba(0,122,255,0.26),inset 0 1px 0 rgba(255,255,255,0.38)}.product-range-card .product-card-metrics i{min-height:34px;font-size:10px;place-items:center start;text-align:left}.product-result-card .product-photo{grid-row:span 2}.product-card-copy{min-width:0;display:grid;gap:4px}.product-card-kicker{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.product-card-kicker em{display:inline-flex;align-items:center;height:18px;padding:0 6px;border:1px solid var(--blue-border);border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:9px;font-style:normal;font-weight:880;text-transform:uppercase}.product-card-kicker small,.product-card-copy>span:last-child{color:var(--muted);font-size:10px;font-weight:680;line-height:1.3}.product-card-range{display:block;color:#475569;font-size:10px;font-weight:820;line-height:1.35}.product-card-copy strong{overflow-wrap:anywhere;color:#172033;font-size:13px;font-weight:860}.product-card-metrics{grid-column:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.product-card-metrics i{min-width:0;display:grid;place-items:center;min-height:26px;padding:3px 5px;border:1px solid rgba(255,255,255,0.42);border-radius:6px;background:var(--tile-glass);color:#334155;font-size:10px;font-style:normal;font-weight:820;text-align:center;box-shadow:var(--glass-edge)}.product-photo{position:relative;min-height:74px;display:grid;place-items:center;gap:4px;padding:9px;border:1px solid rgba(255,255,255,0.42);border-radius:8px;color:white;box-shadow:inset 0 1px 0 rgba(255,255,255,0.26),0 10px 22px rgba(15,23,42,0.08)}.product-photo svg{width:24px;height:24px}.product-photo span{font-size:9px;font-weight:820;text-align:center}.product-photo-image{overflow:hidden;background:radial-gradient(circle at 18% 18%,rgba(255,255,255,0.10),transparent 42%),linear-gradient(145deg,rgba(255,255,255,0.06),rgba(255,255,255,0.01));color:#334155;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}.product-photo-image>img:not(.product-brand-logo){position:relative;z-index:1;width:100%;max-width:138px;height:56px;object-fit:contain;border-radius:6px;mix-blend-mode:normal;filter:saturate(1.06) contrast(1.03) drop-shadow(0 9px 14px rgba(15,23,42,0.12))}.product-range-card .product-photo-image{min-height:96px;padding:12px;border-color:rgba(255,255,255,0.54);background:radial-gradient(circle at 24% 18%,rgba(255,255,255,0.10),transparent 50%),linear-gradient(145deg,rgba(255,255,255,0.05),rgba(226,232,240,0.02));box-shadow:inset 0 1px 0 rgba(255,255,255,0.18),0 10px 22px rgba(15,23,42,0.04)}.product-range-card .product-photo-image>img:not(.product-brand-logo){max-width:154px;height:68px}.product-photo .product-brand-logo{width:auto;max-width:82px;height:18px;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(15,23,42,0.10))}.product-detail-panel .product-photo-image>img:not(.product-brand-logo){max-width:310px;height:116px}.product-detail-panel .product-photo .product-brand-logo{max-width:130px;height:26px}.product-photo-blue{background:linear-gradient(145deg,#0ea5e9,#1d4ed8)}.product-photo-green{background:linear-gradient(145deg,#10b981,#047857)}.product-photo-warm{background:linear-gradient(145deg,#f97316,#b45309)}.product-photo-amber,.product-photo-copper,.product-photo-brass{background:linear-gradient(145deg,#d97706,#92400e)}.product-photo-neutral{background:linear-gradient(145deg,#64748b,#334155)}.product-detail-panel{display:grid;gap:12px;padding:12px}.product-detail-panel .product-photo{min-height:140px}.product-detail-title{display:grid;gap:4px}.product-detail-title span{color:var(--blue);font-size:10px;font-weight:860;text-transform:uppercase}.product-detail-title strong{color:#172033;font-size:18px;font-weight:880;line-height:1.12}.product-detail-title small,.product-detail-panel p{color:var(--muted);font-size:11px;font-weight:650;line-height:1.4}.product-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.product-detail-facts div{min-width:0;display:grid;gap:2px;padding:8px;border:1px solid rgba(255,255,255,0.42);border-radius:7px;background:rgba(255,255,255,0.34);box-shadow:var(--glass-edge)}.product-detail-facts dt{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.product-detail-facts dd{margin:0;color:#172033;font-size:12px;font-weight:850}.product-detail-panel section{display:grid;gap:4px;padding-top:10px;border-top:1px solid var(--line)}.product-compatibility-section{gap:8px}.product-compatibility-list{display:grid;gap:10px;max-height:320px;overflow:auto;padding-right:4px}.product-compatibility-group{display:grid;gap:6px}.product-compatibility-group h4{margin:0;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;font-weight:860;letter-spacing:0.02em;text-transform:uppercase}.product-compatibility-group h4 span{padding:2px 7px;border:1px solid rgba(59,130,246,0.22);border-radius:999px;background:rgba(59,130,246,0.08);color:var(--blue);font-size:10px}.product-compatibility-row{display:grid;gap:3px;padding:8px;border:1px solid rgba(203,213,225,0.62);border-radius:8px;background:rgba(255,255,255,0.38);box-shadow:var(--glass-edge)}.product-compatibility-row strong{color:#172033;font-size:12px;font-weight:850;line-height:1.25}.product-compatibility-row span,.product-compatibility-row small,.product-compatibility-row em{color:var(--muted);font-size:11px;font-style:normal;font-weight:650;line-height:1.35}.product-compatibility-row small{color:#334155}.product-document-section{display:grid;gap:10px}.product-document-featured,.product-document-grid,.product-document-group{display:grid;gap:8px}.product-document-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.product-document-group h4{margin:0;color:var(--muted);font-size:10px;font-weight:860;text-transform:uppercase}.product-document-link{min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:8px;border:1px solid rgba(203,213,225,0.66);border-radius:8px;background:rgba(255,255,255,0.42);color:#172033;text-decoration:none;box-shadow:var(--glass-edge)}.product-document-link:hover{border-color:rgba(0,102,255,0.42);background:rgba(0,102,255,0.08)}.product-document-link svg{width:20px;height:20px;color:var(--blue)}.product-document-link span{min-width:0;display:grid;gap:2px}.product-document-link strong,.product-document-link small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-document-link strong{color:inherit;font-size:11px;font-weight:850}.product-document-link small{color:var(--muted);font-size:10px;font-weight:700}.product-document-link.featured{border-color:rgba(0,102,255,0.38);background:linear-gradient(145deg,rgba(0,102,255,0.12),rgba(255,255,255,0.52))}.product-document-source{margin:0}.product-document-source a{color:var(--blue);font-weight:820}.radiator-model-finder{display:grid;gap:10px;padding:10px;border:1px solid rgba(203,213,225,0.64);border-radius:var(--radius);background:rgba(255,255,255,0.34);box-shadow:var(--glass-edge)}.radiator-model-finder-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.radiator-model-finder-head span{color:var(--muted);font-size:10px;font-weight:820;text-transform:uppercase}.radiator-model-search{display:grid;gap:5px}.radiator-model-search span{color:var(--muted);font-size:10px;font-weight:760}.radiator-model-search input{width:100%;height:34px;border:1px solid var(--line-strong);border-radius:6px;background:var(--input-glass);color:#172033;padding:0 9px;font-size:12px;font-weight:700;box-shadow:var(--glass-edge);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.radiator-model-results{max-height:230px;display:grid;gap:6px;overflow:auto;scrollbar-width:none}.radiator-model-results::-webkit-scrollbar{display:none}.radiator-model-results button{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(203,213,225,0.74);border-radius:8px;background:rgba(255,255,255,0.48);color:#172033;text-align:left;box-shadow:var(--glass-edge)}.radiator-model-results button:hover,.radiator-model-results button.active{border-color:var(--blue-border);background:var(--control-hover-bg);color:var(--blue)}.radiator-model-results strong{font-size:11px;font-weight:860}.radiator-model-results span{color:var(--muted);font-size:10px;font-weight:720;text-align:right}.radiator-model-info{padding:10px;border:1px solid rgba(203,213,225,0.64);border-radius:var(--radius);background:rgba(255,255,255,0.28);box-shadow:var(--glass-edge)}.product-detail-panel h3{margin:0;color:#172033;font-size:12px;font-weight:850}.product-detail-empty,.product-empty-state{min-height:160px;display:grid;place-items:center;gap:8px;padding:18px;border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted);text-align:center}.product-detail-empty svg,.product-empty-state svg{width:28px;height:28px}.product-detail-empty strong{color:#172033;font-size:14px;font-weight:860}.project-settings-head{display:flex;align-items:start;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.project-settings-head div{display:grid;gap:3px}.project-settings-head strong{color:#172033;font-size:14px;font-weight:840}.project-settings-head span{color:var(--muted);font-size:11px;font-weight:650}.project-settings-head button{width:28px;height:28px;display:grid;place-items:center;border:1px solid transparent;border-radius:4px;color:#647184;font-size:18px;transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.project-settings-head button:hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.history-popover-head{display:flex;align-items:start;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.history-popover-head div{display:grid;gap:3px}.history-popover-head strong{color:#172033;font-size:14px;font-weight:840}.history-popover-head span{color:var(--muted);font-size:11px;font-weight:650}.history-popover-head button{width:28px;height:28px;display:grid;place-items:center;border:1px solid transparent;border-radius:4px;color:#647184;font-size:18px;transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.history-popover-head button:hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.export-popover-head{display:flex;align-items:start;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.export-popover-head div{display:grid;gap:3px}.export-popover-head strong{color:#172033;font-size:15px;font-weight:860}.export-popover-head span{color:var(--muted);font-size:11px;font-weight:650}.export-popover-head button{width:30px;height:30px;display:grid;place-items:center;border:1px solid transparent;border-radius:4px;color:#647184;font-size:20px;transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.export-popover-head button:hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.export-popover-body{min-height:0;display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-content:start;gap:14px}.brand-menu-body{min-height:0;display:grid;grid-template-columns:minmax(270px,360px) minmax(0,1fr);align-content:start;gap:14px}.brand-menu-hero,.export-hero{display:grid;gap:14px;align-self:start;padding:14px;border:1px solid rgba(255,255,255,0.46);border-radius:var(--radius);background:var(--tile-glass-strong);box-shadow:var(--glass-edge),0 16px 32px rgba(0,0,0,0.08);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.brand-menu-logo-lockup{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:12px}.brand-menu-logo{width:50px;height:50px}.brand-menu-logo .brand-logo{width:42px;height:42px}.brand-menu-logo .brand-logo-icon img{width:42px;height:42px}.brand-menu-wordmark{display:inline-flex;width:150px;height:34px;overflow:visible}.brand-menu-wordmark .brand-logo-wordmark{width:150px;height:34px}.brand-menu-wordmark .brand-logo-wordmark img{width:150px;height:100%;object-fit:contain}.brand-menu-logo-lockup>div:last-child{display:grid;gap:4px;min-width:0}.brand-menu-logo-lockup span,.brand-menu-logo-lockup small{color:var(--muted);font-size:11px;font-weight:740}.brand-menu-logo-lockup strong{color:var(--text);font-size:28px;line-height:1;letter-spacing:0}.brand-menu-logo-lockup strong.brand-menu-wordmark{color:inherit;font-size:0;line-height:0}.brand-menu-head-logo{display:inline-flex;width:118px;height:30px;overflow:visible}.brand-menu-head-logo .brand-logo-wordmark{width:118px;height:30px}.brand-menu-head-logo .brand-logo-wordmark img{width:118px;height:100%;object-fit:contain}.brand-menu-hero dl{display:grid;gap:8px;margin:0}.brand-menu-hero dl div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:8px;border:1px solid rgba(255,255,255,0.34);border-radius:4px;background:var(--tile-glass);box-shadow:var(--glass-edge)}.brand-menu-hero dt,.brand-menu-hero dd{margin:0;font-size:11px;font-weight:780}.brand-menu-hero dt{color:var(--muted)}.brand-menu-hero dd{color:var(--text);text-align:right}.brand-menu-hero .heat-loss-text{color:var(--heat-loss)}.brand-menu-hero .heat-gain-text{color:var(--heat-gain)}.brand-menu-content{min-width:0;display:grid;align-content:start;gap:12px}.brand-menu-body-logout{grid-template-columns:minmax(0,1fr);place-items:center}.brand-logout-screen{width:min(560px,100%);display:grid;place-items:center}.brand-logout-card{width:100%;display:grid;gap:14px;padding:20px;border:1px solid rgba(255,255,255,0.50);border-radius:var(--radius);background:var(--tile-glass-strong);box-shadow:var(--glass-edge),0 20px 42px rgba(0,0,0,0.10);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.brand-logout-logo,.auth-gate-logo{width:180px;height:44px;display:inline-flex;overflow:visible}.brand-logout-logo .brand-logo-wordmark,.auth-gate-logo .brand-logo-wordmark{width:180px;height:44px}.brand-logout-logo .brand-logo-wordmark img,.auth-gate-logo .brand-logo-wordmark img{width:180px;height:100%;object-fit:contain}.brand-logout-card h3{margin:0;color:var(--text);font-size:22px;font-weight:880}.brand-logout-card p{margin:0;color:var(--muted);font-size:13px;font-weight:720}.brand-logout-profile{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px}.brand-logout-profile .user-profile-avatar{width:72px;height:72px}.brand-logout-profile span,.brand-logout-summary span{display:block;color:var(--muted);font-size:10px;font-weight:820;letter-spacing:0.05em;text-transform:uppercase}.brand-logout-profile strong,.brand-logout-summary strong{display:block;margin-top:2px;color:var(--text);font-size:16px;font-weight:880;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-logout-profile small{display:block;margin-top:2px;color:var(--muted);font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-logout-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.brand-logout-summary>div{min-width:0;padding:10px;border:1px solid rgba(255,255,255,0.38);border-radius:8px;background:var(--tile-glass);box-shadow:var(--glass-edge)}.brand-logout-actions,.auth-gate-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.brand-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.brand-action-card span{display:grid;gap:5px}.brand-action-card i{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--blue-border);border-radius:6px;background:var(--blue-glass);color:var(--blue);font-style:normal}.export-hero>div{display:grid;gap:4px}.export-hero span{color:var(--muted);font-size:11px;font-weight:740}.export-hero strong{color:var(--text);font-size:22px;line-height:1.1}.export-hero dl{display:grid;gap:8px;margin:0}.export-hero dl div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:8px;border:1px solid rgba(255,255,255,0.34);border-radius:4px;background:var(--tile-glass);box-shadow:var(--glass-edge)}.export-hero dt,.export-hero dd{margin:0;font-size:11px;font-weight:780}.export-hero dt{color:var(--muted)}.export-hero dd{color:var(--text);text-align:right}.export-section{margin-top:0}.export-section-wide{grid-column:1 / -1}.export-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.export-section-wide .export-report-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.export-empty-note{padding:16px;border:1px solid rgba(255,255,255,0.46);border-radius:var(--radius);background:var(--tile-glass);color:var(--muted);box-shadow:var(--glass-edge),0 10px 22px rgba(0,0,0,0.055);font-size:12px;font-weight:760}.export-report-card{min-height:96px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px;border:1px solid rgba(255,255,255,0.46);border-radius:var(--radius);background:var(--tile-glass);color:var(--text);text-align:left;box-shadow:var(--glass-edge),0 10px 22px rgba(0,0,0,0.055);cursor:pointer;transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.export-report-card:hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.export-report-card span{min-width:0;display:grid;gap:6px}.export-report-card strong{font-size:13px;font-weight:860}.export-report-card small{color:var(--muted);font-size:11px;font-weight:650;line-height:1.35}.export-report-card em{max-width:116px;padding:5px 7px;border:1px solid var(--blue-border);border-radius:999px;background:var(--blue-soft);color:var(--blue);overflow:hidden;font-size:10px;font-style:normal;font-weight:840;text-align:right;text-overflow:ellipsis;white-space:nowrap}.change-log-list{display:grid;gap:10px;margin:12px 0 0;padding:0;list-style:none}.change-log-item{display:grid;gap:8px}.change-log-entry{width:100%;display:grid;grid-template-columns:74px minmax(0,1fr);gap:10px;padding:10px;border:1px solid rgba(255,255,255,0.58);border-radius:var(--radius);background:var(--tile-glass);color:var(--text);cursor:pointer;font:inherit;text-align:left;box-shadow:var(--glass-edge),0 8px 18px rgba(0,0,0,0.045);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,transform 0.16s ease}.change-log-entry:hover,.change-log-entry:focus-visible,.change-log-item.restore-pending .change-log-entry{border-color:var(--blue-border);background:var(--control-hover-bg);box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.history-restore-confirm{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--blue-border);border-radius:var(--radius);background:var(--blue-soft);box-shadow:var(--glass-edge),0 12px 26px rgba(0,122,255,0.1)}.history-restore-confirm span{color:var(--text);font-size:12px;font-weight:820}.history-restore-confirm div{display:flex;gap:8px}.history-restore-confirm button{min-height:32px;padding-inline:14px}.methodology-intro,.methodology-summary{margin-top:12px;padding:12px;border:1px solid rgba(255,255,255,0.58);border-radius:var(--radius);background:var(--tile-glass);color:var(--text);box-shadow:var(--glass-edge),0 8px 18px rgba(0,0,0,0.045);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.methodology-intro p,.methodology-summary p{margin:0;color:var(--muted);font-size:12px;line-height:1.55;font-weight:650}.methodology-sections{display:grid;gap:12px;margin-top:12px}.methodology-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.method-card{display:grid;gap:7px;padding:12px;border:1px solid rgba(255,255,255,0.58);border-radius:var(--radius);background:var(--tile-glass);box-shadow:var(--glass-edge),0 8px 18px rgba(0,0,0,0.045);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.method-card h4{margin:0;color:var(--text);font-size:12px;font-weight:840}.method-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.45;font-weight:620}.method-card code{display:block;padding:8px 9px;border:1px solid rgba(0,122,255,0.18);border-radius:6px;background:rgba(0,122,255,0.08);color:#174ea6;font-size:11px;font-weight:760;white-space:normal}.methodology-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.method-detail-card{padding:12px;border:1px solid rgba(255,255,255,0.58);border-radius:var(--radius);background:var(--tile-glass);box-shadow:var(--glass-edge),0 8px 18px rgba(0,0,0,0.04);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.method-detail-card h4{margin:0 0 8px;color:var(--text);font-size:12px;font-weight:840}.method-detail-card ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.method-detail-card li{position:relative;padding-left:13px;color:var(--muted);font-size:11px;line-height:1.38;font-weight:620}.method-detail-card li::before{content:"";position:absolute;left:0;top:0.58em;width:5px;height:5px;border-radius:50%;background:var(--blue);transform:translateY(-50%)}.method-flow{display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none;counter-reset:method-step}.method-flow li{counter-increment:method-step;position:relative;display:grid;gap:3px;min-height:42px;padding:9px 10px 9px 44px;border:1px solid rgba(255,255,255,0.58);border-radius:var(--radius);background:var(--tile-glass);box-shadow:var(--glass-edge),0 8px 18px rgba(0,0,0,0.04)}.method-flow li::before{content:counter(method-step);position:absolute;left:10px;top:10px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-size:11px;font-weight:840}.method-flow strong{color:var(--text);font-size:12px;font-weight:820}.method-flow span{color:var(--muted);font-size:11px;line-height:1.35;font-weight:620}.change-log-entry time{color:#526176;font-size:11px;font-weight:760}.change-log-entry div{display:grid;gap:3px;min-width:0}.change-log-entry strong{color:#172033;font-size:12px;font-weight:820}.change-log-entry span{color:#647184;font-size:11px;font-weight:620;overflow-wrap:anywhere}.change-log-empty{min-height:190px;display:grid;place-items:center;align-content:center;gap:8px;color:#647184;text-align:center}.change-log-empty svg{color:#4b5563}.change-log-empty strong{color:#172033;font-size:13px;font-weight:820}.change-log-empty span{max-width:260px;font-size:12px;font-weight:620}.project-settings-tabs{display:flex;gap:6px;margin:12px 0 4px;padding:3px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,0.44);box-shadow:inset 0 1px 0 rgba(255,255,255,0.58)}.project-settings-tabs button{flex:1;height:32px;border:1px solid transparent;border-radius:4px;color:#526176;font-size:12px;font-weight:780;transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.project-settings-tabs button.active,.project-settings-tabs button[aria-selected="true"]{border-color:var(--blue-border);background:linear-gradient(180deg,rgba(0,122,255,0.16),rgba(0,122,255,0.09));color:#0057b8;box-shadow:inset 0 1px 0 rgba(255,255,255,0.76),0 6px 18px rgba(0,122,255,0.10)}.project-settings-tabs button:not(.active):not([aria-selected="true"]):hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}html[data-theme="dark"] .project-settings-tabs{border-color:rgba(239,246,255,0.12);background:rgba(255,255,255,0.055);box-shadow:var(--glass-edge)}html[data-theme="dark"] .project-settings-tabs button{color:var(--muted)}html[data-theme="dark"] .project-settings-tabs button.active,html[data-theme="dark"] .project-settings-tabs button[aria-selected="true"]{border-color:var(--blue-border);background:linear-gradient(180deg,rgba(10,132,255,0.30),rgba(10,132,255,0.14));color:#e0f2fe;box-shadow:var(--glass-edge),0 8px 20px rgba(10,132,255,0.16)}html[data-theme="dark"] .project-settings-tabs button:not(.active):not([aria-selected="true"]):hover{color:var(--text)}.project-settings-tab-panel{min-height:280px}.project-settings-section{padding:12px 0;border-bottom:1px solid rgba(148,163,184,0.25)}.project-settings-tab-panel>.settings-collapsible-section{margin-top:0;margin-bottom:10px}.project-settings-section:last-child{border-bottom:0;padding-bottom:0}.project-settings-section h3{margin:0 0 8px;color:#223047;font-size:12px;font-weight:820}.settings-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.settings-section-head h3{margin:0}.settings-mini-btn,.danger-mini{height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;padding:0 9px;font-size:11px;font-weight:780;white-space:nowrap;transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.settings-mini-btn{border:1px solid rgba(255,255,255,0.62);background:var(--button-glass);color:#4b5563;box-shadow:var(--glass-edge),0 5px 12px rgba(0,0,0,0.05);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.danger-mini{border:1px solid #fecaca;background:#fff7f7;color:#991b1b}.danger-mini:disabled{opacity:0.5;cursor:not-allowed}.settings-mini-btn:not(:disabled):hover,.secondary-mini:not(.active):not(:disabled):hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.settings-mini-btn.danger{border-color:#fecaca;color:#991b1b}.danger-btn:not(:disabled):hover,.danger-mini:not(:disabled):hover{border-color:var(--danger-hover-border);background:var(--danger-hover-bg);color:#be123c;box-shadow:var(--danger-hover-shadow);transform:translateY(-1px)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}.settings-grid.uvalue-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.user-account-tile,.company-logo-card{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);gap:12px;align-items:stretch}.user-profile-card,.company-logo-preview,.company-logo-copy{min-width:0;border:1px solid rgba(255,255,255,0.50);border-radius:var(--radius);background:var(--tile-glass);box-shadow:var(--glass-edge),0 10px 22px rgba(0,0,0,0.055);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.user-profile-card{display:grid;place-items:center;align-content:center;gap:12px;padding:14px}.user-profile-avatar{width:104px;height:104px;display:grid;place-items:center;border:1px solid var(--blue-border);border-radius:50%;background:linear-gradient(145deg,rgba(0,122,255,0.24),rgba(255,255,255,0.34));color:var(--blue);overflow:hidden;box-shadow:var(--glass-edge),0 14px 28px rgba(0,122,255,0.14)}.user-profile-avatar img{width:100%;height:100%;object-fit:cover}.user-profile-avatar span{font-size:28px;font-weight:880;letter-spacing:0}.user-profile-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.user-account-fields{min-width:0}.auth-cloud-card{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid rgba(255,255,255,0.50);border-radius:var(--radius);background:var(--tile-glass);box-shadow:var(--glass-edge),0 10px 22px rgba(0,0,0,0.055);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.auth-cloud-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.auth-cloud-head>div,.auth-cloud-meta{min-width:0}.auth-cloud-head span,.auth-cloud-meta span{display:block;color:var(--muted);font-size:10px;font-weight:820;letter-spacing:0.05em;text-transform:uppercase}.auth-cloud-head strong,.auth-cloud-meta strong{display:block;margin-top:2px;color:var(--text);font-size:13px;font-weight:860;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-cloud-head small{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:680;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-cloud-actions{display:flex;align-items:end;flex-wrap:wrap;gap:8px}.auth-cloud-message{margin:0;padding:7px 8px;border:1px solid var(--line);border-radius:4px;background:rgba(255,255,255,0.48);color:#334155;font-size:11px;font-weight:720}.auth-cloud-message.saved{border-color:rgba(34,197,94,0.28);background:rgba(240,253,244,0.72);color:#166534}.auth-cloud-message.error{border-color:rgba(248,113,113,0.36);background:rgba(254,242,242,0.82);color:#991b1b}.auth-company-requests{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid rgba(255,255,255,0.50);border-radius:var(--radius);background:var(--tile-glass);box-shadow:var(--glass-edge),0 10px 22px rgba(0,0,0,0.055);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.auth-company-requests-head,.auth-company-request{display:flex;align-items:center;justify-content:space-between;gap:10px}.auth-company-requests-head span{display:block;color:var(--muted);font-size:10px;font-weight:820;letter-spacing:0.05em;text-transform:uppercase}.auth-company-requests-head strong,.auth-company-request strong{color:var(--text);font-size:13px;font-weight:860}.auth-company-request-list{display:grid;gap:8px}.auth-company-request{align-items:flex-start;padding:9px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,0.42)}.auth-company-request small{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:680}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:3px 8px;border:1px solid var(--blue-border);border-radius:999px;background:rgba(0,122,255,0.10);color:var(--blue);font-size:10px;font-weight:860;letter-spacing:0.02em}.auth-company-request-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.auth-gate-backdrop{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:24px;pointer-events:auto;background:radial-gradient(circle at 50% 18%,rgba(0,122,255,0.14),transparent 34%),rgba(241,245,249,0.62);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}.auth-gate-card{width:min(560px,calc(100vw - 32px));display:grid;gap:14px;padding:24px;border:1px solid rgba(255,255,255,0.62);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,0.78),rgba(255,255,255,0.48));box-shadow:var(--glass-edge),0 28px 72px rgba(15,23,42,0.18);backdrop-filter:blur(28px) saturate(170%);-webkit-backdrop-filter:blur(28px) saturate(170%)}.auth-gate-kicker{color:var(--blue);font-size:11px;font-weight:860;letter-spacing:0.08em;text-transform:uppercase}.auth-gate-card h1{margin:0;color:var(--text);font-size:clamp(28px,4vw,42px);line-height:1.05;font-weight:900}.auth-gate-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.5;font-weight:720}.auth-gate-form{display:grid;gap:12px}.auth-gate-form .settings-field{min-height:auto;padding:10px;border-color:rgba(148,163,184,0.24);background:rgba(255,255,255,0.58)}.auth-gate-form .settings-field>span{font-size:11px;color:var(--muted)}.auth-gate-form input,.auth-gate-form select{min-height:38px}.auth-gate-primary,.auth-gate-secondary{min-width:150px;justify-content:center}.auth-gate-meta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;padding-top:4px;color:var(--muted);font-size:11px;font-weight:760}.auth-gate-meta span{color:var(--blue);font-weight:880}.auth-gate-meta strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-setup-backdrop{position:fixed;z-index:130;inset:0;display:grid;place-items:center;padding:24px;overflow:auto;background:radial-gradient(circle at 50% 18%,rgba(0,122,255,0.12),transparent 34%),rgba(241,245,249,0.58);backdrop-filter:blur(16px) saturate(145%);-webkit-backdrop-filter:blur(16px) saturate(145%)}.project-setup-card{width:min(880px,calc(100vw - 32px));max-height:calc(100vh - 48px);display:grid;gap:14px;padding:22px;overflow:auto;border:1px solid rgba(255,255,255,0.64);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,0.82),rgba(255,255,255,0.54));box-shadow:var(--glass-edge),0 28px 72px rgba(15,23,42,0.18);backdrop-filter:blur(28px) saturate(170%);-webkit-backdrop-filter:blur(28px) saturate(170%)}.project-setup-header{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);gap:18px;align-items:center;padding-bottom:4px}.project-setup-logo .brand-logo-wordmark{width:100%;max-width:180px}.project-setup-kicker{color:var(--blue);font-size:11px;font-weight:880;letter-spacing:0.08em;text-transform:uppercase}.project-setup-card h1,.project-setup-card h2,.project-setup-card p{margin:0}.project-setup-card h1{color:var(--text);font-size:clamp(24px,3.5vw,36px);line-height:1.05;font-weight:900}.project-setup-card p{color:var(--muted);font-size:13px;line-height:1.45;font-weight:720}.project-setup-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:4px 0 2px}.project-setup-step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;min-width:0;padding:10px;color:var(--muted);border:1px solid rgba(255,255,255,0.52);border-radius:8px;background:rgba(255,255,255,0.30);box-shadow:inset 0 1px 0 rgba(255,255,255,0.56)}.project-setup-step span{width:24px;height:24px;display:grid;place-items:center;color:var(--muted);font-size:12px;font-weight:900;border:1px solid rgba(148,163,184,0.34);border-radius:999px;background:rgba(255,255,255,0.42)}.project-setup-step strong{min-width:0;overflow:hidden;color:inherit;font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.project-setup-step.active,.project-setup-step.complete{color:var(--blue);border-color:rgba(0,122,255,0.34);background:rgba(0,122,255,0.10)}.project-setup-step.active span,.project-setup-step.complete span{color:white;border-color:rgba(0,122,255,0.42);background:var(--blue)}.project-setup-section{display:grid;gap:10px;padding:14px;border:1px solid rgba(255,255,255,0.54);border-radius:8px;background:rgba(255,255,255,0.32)}.project-setup-section h2{color:var(--text);font-size:13px;font-weight:900}.project-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-setup-grid .full{grid-column:1 / -1}.project-setup-toggle{min-height:70px;align-self:stretch}.project-setup-uvalues{display:grid;gap:10px;min-width:0}.project-setup-uvalue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.project-setup-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.project-setup-action-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.project-setup-actions .primary-mini{min-width:150px;justify-content:center}@media (max-width:720px){.project-setup-header,.project-setup-actions{grid-template-columns:1fr}.project-setup-progress,.project-setup-grid,.project-setup-uvalue-grid{grid-template-columns:1fr}.project-setup-action-buttons{justify-content:stretch}.project-setup-action-buttons>button{flex:1 1 140px}}.company-logo-preview{min-height:144px;display:grid;place-items:center;gap:5px;padding:12px;color:var(--muted);text-align:center;overflow:hidden}.company-logo-preview.has-logo{background:linear-gradient(45deg,rgba(148,163,184,0.10) 25%,transparent 25%),linear-gradient(-45deg,rgba(148,163,184,0.10) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(148,163,184,0.10) 75%),linear-gradient(-45deg,transparent 75%,rgba(148,163,184,0.10) 75%),var(--tile-glass);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.company-logo-preview img{max-width:100%;max-height:118px;object-fit:contain}.company-logo-empty{display:grid;place-items:center;gap:6px}.company-logo-preview svg{width:30px;height:30px;color:var(--blue)}.company-logo-preview strong{color:var(--text);font-size:12px;font-weight:820}.company-logo-preview small{color:var(--muted);font-size:10px;font-weight:650}.company-logo-copy{display:grid;align-content:start;gap:8px;padding:14px}.company-logo-copy strong{color:var(--text);font-size:14px;font-weight:840}.company-logo-copy p{max-width:420px;margin:0;color:var(--muted);font-size:11px;line-height:1.45;font-weight:650}.company-logo-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.company-logo-actions .settings-field-label{flex-basis:100%}html[data-theme="dark"] .user-profile-avatar{background:linear-gradient(145deg,rgba(10,132,255,0.26),rgba(255,255,255,0.06))}.uvalue-setpoint-card{min-width:0;display:grid;gap:8px;padding:9px;border:1px solid rgba(255,255,255,0.58);border-radius:5px;background:var(--tile-glass);box-shadow:var(--glass-edge),0 8px 18px rgba(0,0,0,0.045);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.uvalue-setpoint-note{color:var(--muted);font-size:10px;font-weight:720;line-height:1.35}.infiltration-preset-card{display:grid;gap:8px;margin-bottom:9px;padding:9px;border:1px solid rgba(255,255,255,0.52);border-radius:var(--radius);background:var(--tile-glass);box-shadow:var(--glass-edge),0 8px 18px rgba(0,0,0,0.045);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.settings-grid.defaults-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pipe-panel .pipe-plant-card .settings-grid.defaults-grid{grid-template-columns:minmax(0,1fr)}.pipe-panel .compact-field-grid{grid-template-columns:minmax(0,1fr)}.pipe-panel .pipe-plant-card .field{min-width:0;grid-template-columns:minmax(0,1fr) minmax(86px,104px)}.pipe-panel .product-selection-facts dt,.pipe-panel .product-selection-facts dd{min-width:0;overflow-wrap:anywhere}.pipe-panel .product-selection-facts dd{white-space:normal}.pipe-panel-actions.top-actions{display:grid;gap:6px}.simplified-pipe-card{gap:8px}.compact-facts{gap:5px}.settings-collapsible-section{margin-top:0}.internal-gain-defaults,.internal-gain-counts{display:grid;gap:6px}.internal-gain-default-head,.internal-gain-default-row,.internal-gain-count-head,.internal-gain-count-row{display:grid;align-items:center;gap:8px}.internal-gain-default-head,.internal-gain-default-row{grid-template-columns:minmax(180px,1fr) minmax(130px,190px)}.internal-gain-count-head,.internal-gain-count-row{grid-template-columns:minmax(0,1fr) 58px 72px}.internal-gain-default-head,.internal-gain-count-head{padding:0 2px;color:#64748b;font-size:10px;font-weight:820;text-transform:uppercase}.internal-gain-default-head span:last-child,.internal-gain-count-head span:nth-child(2),.internal-gain-count-head span:last-child{text-align:right}.internal-gain-default-row,.internal-gain-count-row{min-width:0;padding:7px 8px;border:1px solid rgba(255,255,255,0.56);border-radius:5px;background:var(--tile-glass);color:#223047;font-size:11px;font-weight:720;box-shadow:var(--glass-edge)}.internal-gain-default-row>span:first-child,.internal-gain-count-row>span:first-child{min-width:0}.internal-gain-count-row>span:first-child{display:grid;gap:2px;overflow-wrap:anywhere;line-height:1.22}.internal-gain-count-row small{color:#64748b;font-size:10px;font-weight:650}.internal-gain-count-row input{min-width:0;height:27px;border:1px solid var(--line-strong);border-radius:4px;background:var(--input-glass);color:var(--text);padding:0 6px;text-align:right;font-size:11px;font-weight:720}.internal-gain-count-row strong{color:#172033;text-align:right;font-size:11px;font-weight:820}.inspector .internal-gain-count-head{display:none}.inspector .internal-gain-count-row{grid-template-columns:minmax(0,1fr) 58px;gap:7px}.inspector .internal-gain-count-row strong{grid-column:1 / -1;color:#475569;text-align:left;font-size:10px}.settings-field{display:grid;gap:5px;color:#354259;font-size:11px;font-weight:680}.settings-field-label{position:relative;display:inline-flex;align-items:center;gap:5px;width:fit-content;max-width:100%;min-height:16px}.settings-cost-source{color:var(--muted);font-size:9px;font-weight:680;line-height:1.25}.settings-tooltip-wrap{position:relative;display:inline-flex;align-items:center}.settings-tooltip{width:15px;height:15px;display:inline-grid;place-items:center;border:1px solid var(--blue-border);border-radius:999px;background:var(--button-glass);color:var(--blue);font-size:10px;font-weight:850;line-height:1;cursor:help;box-shadow:var(--glass-edge)}.settings-tooltip:focus{outline:2px solid rgba(75,85,99,0.3);outline-offset:2px}.settings-tooltip-bubble{position:absolute;z-index:50;left:50%;bottom:calc(100%+8px);width:260px;max-width:min(260px,calc(100vw - 56px));padding:8px 9px;border:1px solid var(--tooltip-border);border-radius:6px;background:var(--tooltip-bg);color:var(--tooltip-text);box-shadow:var(--tooltip-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);font-size:11px;font-weight:650;line-height:1.35;text-transform:none;display:none;transform:translate(calc(-50%+var(--tooltip-shift-x,0px)),4px);opacity:0;pointer-events:none;transition:opacity 0.12s ease,transform 0.12s ease}.settings-tooltip-wrap.align-left .settings-tooltip-bubble{left:0;transform:translate(var(--tooltip-shift-x,0px),4px)}.settings-tooltip-wrap.align-right .settings-tooltip-bubble{right:0;left:auto;transform:translate(var(--tooltip-shift-x,0px),4px)}.settings-tooltip-wrap.align-below .settings-tooltip-bubble{top:calc(100%+8px);bottom:auto}.settings-tooltip-bubble::after{content:"";position:absolute;left:calc(50% - var(--tooltip-shift-x,0px));top:100%;width:8px;height:8px;background:var(--tooltip-arrow-bg);border-right:1px solid var(--tooltip-border);border-bottom:1px solid var(--tooltip-border);transform:translate(-50%,-4px) rotate(45deg)}.settings-tooltip-wrap.align-left .settings-tooltip-bubble::after{left:12px;transform:translate(0,-4px) rotate(45deg)}.settings-tooltip-wrap.align-right .settings-tooltip-bubble::after{right:12px;left:auto;transform:translate(0,-4px) rotate(45deg)}.settings-tooltip-wrap.align-below .settings-tooltip-bubble::after{top:auto;bottom:100%;transform:translate(-50%,4px) rotate(45deg)}.settings-tooltip-wrap.align-left.align-below .settings-tooltip-bubble::after,.settings-tooltip-wrap.align-right.align-below .settings-tooltip-bubble::after{transform:translate(0,4px) rotate(45deg)}.settings-tooltip-wrap:hover .settings-tooltip,.settings-tooltip:focus{border-color:var(--blue-border);background:var(--blue-soft);color:var(--blue)}.settings-tooltip-wrap:hover .settings-tooltip-bubble,.settings-tooltip:focus+.settings-tooltip-bubble,.settings-tooltip-wrap.open .settings-tooltip-bubble{display:block;opacity:1;transform:translate(calc(-50%+var(--tooltip-shift-x,0px)),0)}.settings-tooltip-wrap.align-left:hover .settings-tooltip-bubble,.settings-tooltip-wrap.align-left .settings-tooltip:focus+.settings-tooltip-bubble,.settings-tooltip-wrap.align-left.open .settings-tooltip-bubble,.settings-tooltip-wrap.align-right:hover .settings-tooltip-bubble,.settings-tooltip-wrap.align-right .settings-tooltip:focus+.settings-tooltip-bubble,.settings-tooltip-wrap.align-right.open .settings-tooltip-bubble{transform:translate(var(--tooltip-shift-x,0px),0)}.settings-field.full{grid-column:1 / -1}.settings-field input,.settings-field select,.settings-toggle{min-width:0;height:31px;border:1px solid var(--line-strong);border-radius:4px;background:var(--input-glass);color:var(--text);padding:0 8px;font-size:12px;font-weight:640;box-shadow:var(--glass-edge),0 1px 2px rgba(0,0,0,0.035);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.settings-field input[readonly]{background:rgba(245,245,247,0.72);color:#475569}html[data-theme="dark"] .settings-field input[readonly]{border-color:rgba(239,246,255,0.16);background:rgba(255,255,255,0.12);color:#e2e8f0}.settings-toggle{display:inline-flex;align-items:center;gap:7px;width:fit-content;color:#223047;font-size:12px;font-weight:740}.settings-toggle-inline{margin-bottom:8px}.settings-toggle-field{width:100%;align-self:end}.settings-toggle input{width:15px;height:15px;padding:0}.room-service-toggles,.annual-energy-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 0}.room-service-toggles .settings-toggle,.annual-energy-controls .settings-toggle{min-height:32px;margin-bottom:0}.room-service-note{margin-top:6px}.zone-inline-warning{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:9px;margin:8px 0 10px;padding:10px 11px;border:1px solid rgba(245,158,11,0.62);border-radius:var(--radius);background:linear-gradient(180deg,rgba(251,191,36,0.20),rgba(245,158,11,0.12));color:#92400e;font-size:11px;font-weight:720;line-height:1.35;box-shadow:inset 0 1px 0 rgba(255,255,255,0.64),0 8px 18px rgba(245,158,11,0.10)}.zone-inline-warning-icon{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(245,158,11,0.48);border-radius:999px;background:rgba(255,251,235,0.72);color:#b45309}.zone-inline-warning-icon svg{width:16px;height:16px}.zone-inline-warning strong,.zone-inline-warning small{display:block}.zone-inline-warning strong{color:#7c2d12;font-size:11px;font-weight:860}.zone-inline-warning small{margin-top:2px;color:#92400e;font-size:10px;font-weight:670}.settings-section-actions{display:flex;justify-content:flex-end;margin-bottom:8px}.settings-note{margin:8px 0;padding:7px 8px;border:1px solid var(--line);border-radius:4px;background:rgba(255,255,255,0.48);color:#334155;font-size:11px;font-weight:650}html[data-theme="dark"] .settings-toggle{color:var(--text)}html[data-theme="dark"] .zone-inline-warning{background:linear-gradient(180deg,rgba(245,158,11,0.22),rgba(146,64,14,0.16));border-color:rgba(251,191,36,0.42);color:#fcd34d;box-shadow:inset 0 1px 0 rgba(255,255,255,0.08),0 8px 18px rgba(0,0,0,0.22)}html[data-theme="dark"] .zone-inline-warning-icon{background:rgba(120,53,15,0.48);border-color:rgba(251,191,36,0.42);color:#fbbf24}html[data-theme="dark"] .zone-inline-warning strong{color:#fde68a}html[data-theme="dark"] .zone-inline-warning small{color:#fcd34d}html[data-theme="dark"] .settings-note{border-color:rgba(239,246,255,0.14);background:rgba(255,255,255,0.07);color:var(--muted)}html[data-theme="dark"] .settings-note strong{color:var(--text)}html[data-theme="dark"] .auth-cloud-card{border-color:rgba(239,246,255,0.16);background:linear-gradient(145deg,rgba(255,255,255,0.10),rgba(255,255,255,0.04));box-shadow:var(--glass-edge),0 12px 24px rgba(0,0,0,0.20)}html[data-theme="dark"] .auth-cloud-message{border-color:rgba(239,246,255,0.14);background:rgba(255,255,255,0.07);color:var(--muted)}html[data-theme="dark"] .auth-cloud-message.saved{border-color:rgba(74,222,128,0.30);background:rgba(22,101,52,0.20);color:#bbf7d0}html[data-theme="dark"] .auth-cloud-message.error{border-color:rgba(248,113,113,0.34);background:rgba(127,29,29,0.24);color:#fecaca}html[data-theme="dark"] .auth-gate-backdrop{background:radial-gradient(circle at 50% 18%,rgba(0,122,255,0.20),transparent 34%),rgba(2,6,12,0.66)}html[data-theme="dark"] .auth-gate-card,html[data-theme="dark"] .brand-logout-card{border-color:rgba(239,246,255,0.18);background:linear-gradient(145deg,rgba(255,255,255,0.12),rgba(255,255,255,0.045));box-shadow:var(--glass-edge),0 30px 70px rgba(0,0,0,0.42)}html[data-theme="dark"] .auth-gate-form .settings-field{border-color:rgba(239,246,255,0.14);background:rgba(255,255,255,0.065)}html[data-theme="dark"] .project-setup-backdrop{background:radial-gradient(circle at 50% 18%,rgba(0,122,255,0.16),transparent 34%),rgba(2,6,12,0.72)}html[data-theme="dark"] .project-setup-card{border-color:rgba(239,246,255,0.18);background:linear-gradient(145deg,rgba(255,255,255,0.12),rgba(255,255,255,0.045));box-shadow:var(--glass-edge),0 30px 70px rgba(0,0,0,0.44)}html[data-theme="dark"] .project-setup-section{border-color:rgba(239,246,255,0.14);background:rgba(255,255,255,0.06)}html[data-theme="dark"] .project-setup-step{border-color:rgba(239,246,255,0.14);background:rgba(255,255,255,0.055);box-shadow:inset 0 1px 0 rgba(255,255,255,0.10)}html[data-theme="dark"] .project-setup-step span{color:rgba(226,232,240,0.78);border-color:rgba(239,246,255,0.16);background:rgba(255,255,255,0.08)}html[data-theme="dark"] .project-setup-step.active,html[data-theme="dark"] .project-setup-step.complete{color:var(--blue);border-color:rgba(0,122,255,0.38);background:rgba(0,122,255,0.15)}html[data-theme="dark"] .project-setup-step.active span,html[data-theme="dark"] .project-setup-step.complete span{color:white;background:var(--blue)}html[data-theme="dark"] .brand-logout-summary>div{border-color:rgba(239,246,255,0.14);background:rgba(255,255,255,0.06)}.room-type-category-list,.room-type-preset-list{display:grid;gap:10px}.room-type-category{border:1px solid rgba(255,255,255,0.58);border-radius:5px;background:var(--tile-glass);overflow:hidden;box-shadow:var(--glass-edge),0 8px 20px rgba(0,0,0,0.045);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.room-type-category-head,.collapsible-section-head{width:100%;min-height:36px;min-width:0;position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;border:1px solid rgba(60,60,67,0.16);border-radius:var(--radius);background:var(--tile-glass);color:var(--text);text-align:left;font-size:12px;font-weight:820;letter-spacing:0;box-shadow:var(--glass-edge),0 6px 14px rgba(0,0,0,0.045);cursor:pointer;transition:border-color 0.16s ease,background 0.16s ease,color 0.16s ease,box-shadow 0.16s ease,transform 0.16s ease}html[data-theme="dark"] .room-type-category-head,html[data-theme="dark"] .collapsible-section-head{border-color:rgba(239,246,255,0.16);background:var(--tile-glass);color:var(--text);box-shadow:var(--glass-edge),0 6px 14px rgba(0,0,0,0.12)}.room-type-category-head:hover,.collapsible-section-head:hover{border-color:rgba(60,60,67,0.28);background:var(--button-glass-hover);box-shadow:var(--glass-edge),0 8px 18px rgba(0,0,0,0.065);transform:translateY(-1px)}html[data-theme="dark"] .room-type-category-head:hover,html[data-theme="dark"] .collapsible-section-head:hover{border-color:rgba(245,245,247,0.26);background:var(--button-glass-hover);box-shadow:var(--glass-edge),0 8px 18px rgba(0,0,0,0.22)}.room-type-category-head{height:34px;padding:0 10px}.room-type-category-head small,.collapsible-section-head small{color:var(--muted);font-size:10px;font-weight:700}.collapse-chevron{width:18px;height:18px;display:grid;place-items:center;border:1px solid rgba(60,60,67,0.18);border-radius:999px;background:rgba(255,255,255,0.34);color:#647184;font-size:11px;font-weight:900;box-shadow:inset 0 1px 0 rgba(255,255,255,0.62);transition:transform 0.12s ease,border-color 0.16s ease,background 0.16s ease,color 0.16s ease}html[data-theme="dark"] .collapse-chevron{border-color:rgba(245,245,247,0.16);background:rgba(255,255,255,0.055);color:#c7cbd1;box-shadow:inset 0 1px 0 rgba(255,255,255,0.09)}.room-type-category-head:hover .collapse-chevron,.collapsible-section-head:hover .collapse-chevron{border-color:rgba(60,60,67,0.32);background:rgba(255,255,255,0.48);color:#3f4856}html[data-theme="dark"] .room-type-category-head:hover .collapse-chevron,html[data-theme="dark"] .collapsible-section-head:hover .collapse-chevron{border-color:rgba(245,245,247,0.28);background:rgba(255,255,255,0.11);color:#ffffff}.is-collapsed>.room-type-category-head .collapse-chevron,.is-collapsed>.collapsible-section-head .collapse-chevron{transform:rotate(-90deg)}.room-type-category .room-type-preset-list{padding:10px;border-top:1px solid var(--line)}.room-type-preset-card{display:grid;gap:9px;padding:10px;border:1px solid rgba(255,255,255,0.58);border-radius:5px;background:var(--tile-glass);box-shadow:var(--glass-edge),0 8px 18px rgba(0,0,0,0.045);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.room-type-preset-card.new-room-type{border-color:var(--blue-border);background:linear-gradient(145deg,rgba(255,255,255,0.86),rgba(222,239,255,0.54));box-shadow:var(--glass-edge),0 10px 24px rgba(0,122,255,0.12)}.room-type-new-callout{padding:7px 8px;border:1px solid rgba(75,85,99,0.24);border-radius:5px;background:rgba(255,255,255,0.72);color:#374151;font-size:11px;font-weight:820}.room-type-preset-head{display:grid;grid-template-columns:minmax(0,0.75fr) minmax(0,1fr) auto;align-items:end;gap:10px}.room-type-reference-card{display:grid;gap:8px;padding:9px;border:1px solid var(--line);border-radius:5px;background:rgba(255,255,255,0.36);box-shadow:inset 0 1px 0 rgba(255,255,255,0.34)}.room-type-reference-title{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text);font-size:11px;font-weight:820}.room-type-reference-title span{color:var(--muted);font-size:10px;font-weight:760}.room-type-reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:7px;margin:0}.room-type-reference-grid div{display:grid;grid-template-columns:minmax(86px,0.75fr) minmax(0,1.25fr);align-items:start;gap:8px;min-width:0;padding:7px;border:1px solid var(--line);border-radius:4px;background:rgba(255,255,255,0.34)}.room-type-reference-grid dt{margin-bottom:3px;color:var(--muted);font-size:10px;font-weight:780}.room-type-reference-grid dd{min-width:0;margin:0;color:var(--text);font-size:11px;font-weight:720;line-height:1.25;overflow-wrap:anywhere;text-align:left}.outlet-type-preset-head{grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr) auto}.outlet-type-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.outlet-standard-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:9px}.outlet-standard-card{min-width:0;display:grid;gap:8px;padding:9px;border:1px solid var(--line);border-radius:5px;background:rgba(255,255,255,0.34);box-shadow:inset 0 1px 0 rgba(255,255,255,0.36)}.outlet-standard-card-head{display:grid;gap:2px}.outlet-standard-card-head strong{color:var(--text);font-size:11px;font-weight:840;line-height:1.2}.outlet-standard-card-head small{color:var(--muted);font-size:9.5px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.outlet-standard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}html[data-theme="dark"] .outlet-standard-card{border-color:rgba(239,246,255,0.14);background:rgba(255,255,255,0.065);box-shadow:inset 0 1px 0 rgba(255,255,255,0.08)}.material-category-list{display:grid;gap:12px}.material-library-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin:10px 0 12px}.material-library-toolbar>span{padding-bottom:8px;color:var(--muted);font-size:11px;font-weight:760;white-space:nowrap}.material-search-field input{height:34px}.material-category{min-width:0;display:grid;gap:0;padding:0;border:1px solid rgba(255,255,255,0.58);border-radius:6px;background:var(--tile-glass);overflow:hidden;box-shadow:var(--glass-edge),0 8px 20px rgba(0,0,0,0.045);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.material-category-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:0;padding:8px;border-bottom:1px solid var(--line)}.material-category.is-collapsed .material-category-head{border-bottom:0}.material-category-toggle{min-width:0;height:34px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:0 8px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--text);text-align:left;font-size:12px;font-weight:820;transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease}.material-category-toggle:hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);box-shadow:var(--control-hover-shadow)}.material-category-toggle small{color:var(--muted);font-size:10px;font-weight:720;white-space:nowrap}.material-category.is-collapsed .material-category-toggle .collapse-chevron{transform:rotate(-90deg)}.material-list{display:grid;gap:9px;padding:10px}.material-card{min-width:0;display:grid;gap:9px;padding:10px;border:1px solid rgba(255,255,255,0.58);border-radius:5px;background:var(--tile-glass);box-shadow:var(--glass-edge),0 8px 18px rgba(0,0,0,0.045);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.material-card.new-material{border-color:var(--blue-border);background:linear-gradient(145deg,rgba(255,255,255,0.86),rgba(222,239,255,0.54));box-shadow:var(--glass-edge),0 10px 24px rgba(0,122,255,0.12)}.material-new-callout{padding:7px 8px;border:1px solid rgba(75,85,99,0.24);border-radius:5px;background:rgba(255,255,255,0.76);color:#374151;font-size:11px;font-weight:820}.material-card-head{min-width:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(130px,0.55fr) minmax(130px,0.55fr) auto;align-items:end;gap:10px}.floor-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.floor-plan-card{display:grid;align-content:start;gap:8px;padding:10px;border:1px solid rgba(255,255,255,0.58);border-radius:var(--radius);background:var(--tile-glass);box-shadow:var(--glass-edge),0 9px 22px rgba(0,0,0,0.05);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.floor-plan-card.wide{grid-column:1 / -1}.floor-plan-card h3{display:inline-flex;align-items:center;gap:6px;margin:0 0 2px;font-size:12px;font-weight:820}.auto-setup-badge{display:inline-flex;align-items:center;justify-content:center;min-height:17px;padding:0 7px;border:1px solid rgba(0,122,255,0.32);border-radius:999px;background:rgba(0,122,255,0.12);color:var(--blue);font-size:9px;font-weight:880;line-height:1;text-transform:uppercase;letter-spacing:0;box-shadow:var(--glass-edge)}html[data-theme="dark"] .auto-setup-badge{border-color:rgba(96,165,250,0.42);background:rgba(59,130,246,0.18);color:#93c5fd}.floor-plan-card label{display:grid;gap:4px;color:#334155;font-size:11px;font-weight:740}.floor-trace-actions{display:grid;gap:6px}.pdf-setup-status{display:grid;gap:3px;padding:8px;border:1px solid rgba(245,158,11,0.28);border-radius:var(--radius);background:rgba(245,158,11,0.08);color:#92400e;box-shadow:var(--glass-edge)}.pdf-setup-status strong{font-size:11px;font-weight:840}.pdf-setup-status span{color:var(--muted);font-size:11px;font-weight:660;line-height:1.25}html[data-theme="dark"] .pdf-setup-status{border-color:rgba(251,191,36,0.36);background:rgba(251,191,36,0.10);color:#facc15}.trace-alpha-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.trace-alpha-button:disabled{pointer-events:none}.alpha-preview-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:18px;padding:0 7px;border:1px solid rgba(180,83,9,0.36);border-radius:999px;background:linear-gradient(145deg,rgba(254,240,138,0.98),rgba(250,204,21,0.92));color:#713f12;font-size:9px;font-weight:860;line-height:1;text-transform:uppercase;letter-spacing:0;box-shadow:inset 0 1px 0 rgba(255,255,255,0.58),0 4px 10px rgba(202,138,4,0.18)}.alpha-preview-badge::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100%+8px);z-index:50;width:max-content;max-width:180px;padding:6px 8px;border:1px solid var(--tooltip-border);border-radius:8px;background:var(--tooltip-bg);color:var(--tooltip-text);font-size:11px;font-weight:760;line-height:1.1;text-transform:none;pointer-events:none;opacity:0;transform:translate(-50%,4px);transition:opacity 0.14s ease,transform 0.14s ease;box-shadow:var(--tooltip-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.floor-trace-actions:hover .alpha-preview-badge::after,.trace-alpha-button:hover .alpha-preview-badge::after,.alpha-preview-badge:hover::after,.alpha-preview-badge:focus-visible::after{opacity:1;transform:translate(-50%,0)}html[data-theme="dark"] .alpha-preview-badge{border-color:rgba(250,204,21,0.52);background:linear-gradient(145deg,rgba(253,224,71,0.96),rgba(202,138,4,0.92));color:#1f1300}.trace-status{display:grid;gap:3px;padding:8px;border:1px solid rgba(0,122,255,0.22);border-radius:var(--radius);background:rgba(0,122,255,0.07);color:#1d4ed8;box-shadow:var(--glass-edge)}.trace-status strong{font-size:11px;font-weight:820}.trace-status span{color:var(--muted);font-size:11px;font-weight:650;line-height:1.25}html[data-theme="dark"] .floor-plan-card label{color:var(--text)}.floor-plan-card select,.floor-plan-card input{width:100%;height:30px;border:1px solid var(--line-strong);border-radius:4px;background:var(--input-glass);color:var(--text);padding:0 8px;font-size:12px;font-weight:650;box-shadow:var(--glass-edge),0 1px 2px rgba(0,0,0,0.035)}.inline-unit{display:grid;grid-template-columns:minmax(0,1fr) 26px;align-items:center;gap:6px}.inline-unit small{color:var(--muted);font-size:10px}.floor-rename-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.floor-rename-row label{min-width:0;margin:0}.floor-rename-row .secondary-mini{min-width:76px;white-space:nowrap}.add-floor{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:6px;align-items:end;padding-top:4px;border-top:1px solid var(--line)}.add-floor button{grid-column:1 / -1}.floor-actions{display:grid;gap:6px}.floor-actions .danger-mini{width:100%;height:30px}.floor-upload{position:relative;min-height:84px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 13px;margin-top:0;border-style:dashed;border-color:rgba(0,122,255,0.30);border-radius:8px;background:linear-gradient(145deg,rgba(255,255,255,0.88),rgba(233,244,255,0.54));box-shadow:var(--glass-edge),0 10px 26px rgba(0,122,255,0.08);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,transform 0.16s ease}.floor-upload:hover{border-color:rgba(0,122,255,0.48);background:linear-gradient(145deg,rgba(255,255,255,0.96),rgba(222,239,255,0.7));box-shadow:var(--glass-edge),0 14px 30px rgba(0,122,255,0.12);transform:translateY(-1px)}.floor-upload-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(0,122,255,0.18);border-radius:8px;background:rgba(255,255,255,0.58);color:var(--blue);box-shadow:var(--glass-edge)}.floor-upload-icon svg{width:21px;height:21px}.floor-upload-copy{min-width:0;display:grid;gap:4px}.floor-upload-copy strong{color:#172033;font-size:13px;font-weight:840;line-height:1.2}.floor-upload-copy small{color:#64748b;font-size:11px;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floor-upload-action{align-self:center;padding:6px 9px;border:1px solid rgba(75,85,99,0.24);border-radius:999px;background:rgba(255,255,255,0.76);color:#374151;font-size:10px;font-weight:850;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,0.74)}html[data-theme="dark"] .floor-upload{border-color:rgba(10,132,255,0.36);background:linear-gradient(145deg,rgba(10,132,255,0.18),rgba(255,255,255,0.045));box-shadow:var(--glass-edge),0 12px 28px rgba(10,132,255,0.10)}html[data-theme="dark"] .floor-upload:hover{border-color:rgba(64,156,255,0.58);background:linear-gradient(145deg,rgba(10,132,255,0.25),rgba(255,255,255,0.07));box-shadow:var(--glass-edge),0 16px 34px rgba(10,132,255,0.16)}html[data-theme="dark"] .floor-upload-icon,html[data-theme="dark"] .floor-upload-action{border-color:rgba(239,246,255,0.16);background:rgba(255,255,255,0.12);color:var(--text);box-shadow:var(--glass-edge)}html[data-theme="dark"] .floor-upload-action{border-color:rgba(64,156,255,0.48);background:rgba(10,132,255,0.24);color:#f8fbff}html[data-theme="dark"] .floor-upload-copy strong{color:var(--text)}html[data-theme="dark"] .floor-upload-copy small{color:var(--muted)}.datum-preview-wrap{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:rgba(255,255,255,0.76);box-shadow:inset 0 1px 0 rgba(255,255,255,0.7)}.datum-preview-wrap.picking{border-color:var(--blue);box-shadow:inset 0 0 0 1px rgba(75,85,99,0.24)}.datum-preview-tools{position:absolute;z-index:2;top:6px;right:6px;display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid rgba(148,163,184,0.5);border-radius:5px;background:rgba(255,255,255,0.74);box-shadow:0 6px 18px rgba(15,23,42,0.12);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.datum-preview-tools button{min-width:25px;height:24px;padding:0 6px;border:1px solid rgba(255,255,255,0.58);border-radius:4px;background:var(--button-glass);color:#17437a;font-size:11px;font-weight:840;box-shadow:var(--glass-edge);transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.datum-preview-tools button:hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}.datum-preview-tools strong{min-width:38px;color:#334155;font-size:10px;font-weight:850;text-align:center}.datum-preview{display:block;width:100%;height:auto;aspect-ratio:980 / 610;cursor:crosshair}.datum-preview-wrap.zoomed .datum-preview{cursor:grab}.datum-preview-wrap.zoomed.picking .datum-preview{cursor:grab}.datum-preview-wrap.is-panning .datum-preview,.datum-preview-wrap.zoomed.is-panning .datum-preview,.datum-preview-wrap.zoomed.picking.is-panning .datum-preview{cursor:grabbing;user-select:none}.datum-preview text{fill:#64748b;font-size:24px;font-weight:720}.datum-preview-origin path{fill:none;stroke:#4b5563;stroke-width:8}.datum-preview-origin circle{fill:rgba(15,118,110,0.22);stroke:#4b5563;stroke-width:6}.datum-preview-marker{pointer-events:none}.datum-preview-calibration{pointer-events:none}.datum-preview-calibration path{fill:none;stroke:#b45309;stroke-width:7;stroke-linecap:round;stroke-dasharray:18 12}.datum-preview-calibration circle{fill:#fffbeb;stroke:#b45309;stroke-width:6}.datum-preview-calibration text{fill:#78350f;font-size:18px;font-weight:840}.datum-preview-calibration.editing path{stroke:#f59e0b}.datum-preview-marker path{stroke:var(--blue);stroke-width:8;stroke-linecap:round}.datum-preview-marker circle{fill:rgba(75,85,99,0.2);stroke:var(--blue);stroke-width:6}.datum-status{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border:1px solid var(--line);border-radius:4px;background:rgba(255,255,255,0.62);color:#475569;font-size:11px;font-weight:650}.datum-status strong{color:#172033;font-weight:790}html[data-theme="dark"] .datum-status strong{color:var(--text)}.floor-height-meta{padding-top:0}.room-draft-panel{position:absolute;z-index:6;left:24px;bottom:42px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,0.98);box-shadow:0 10px 28px rgba(15,23,42,0.12);color:#334155;font-size:12px}.room-draft-panel strong{color:#172033;font-weight:820}.room-draft-warning{max-width:min(360px,calc(100vw - 120px));padding:5px 8px;border:1px solid rgba(245,158,11,0.5);border-radius:8px;background:rgba(255,247,237,0.88);color:#92400e;font-weight:780}.room-draft-panel button:disabled{opacity:0.45;cursor:default}.pipe-draft-panel{width:min(390px,calc(100vw - 64px));max-height:min(420px,calc(100vh - 180px));display:grid;align-items:stretch;gap:7px;padding:8px 10px;overflow:auto;scrollbar-width:none}.pipe-draft-panel::-webkit-scrollbar{display:none}.pipe-draft-summary,.pipe-draft-actions{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.pipe-draft-summary{justify-content:space-between}.pipe-draft-summary span{color:var(--muted);font-weight:740}.pipe-draft-panel .pipe-drawing-defaults{padding:8px;gap:7px}.pipe-draft-panel .field,.pipe-draft-panel select{min-width:0;width:100%}.pipe-defaults-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.pipe-defaults-heading span{color:var(--muted);font-size:11px;font-weight:820}.pipe-defaults-grid{display:grid;grid-template-columns:minmax(0,0.86fr) minmax(0,1.14fr);gap:8px}.multi-pipe-defaults-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pipe-defaults-grid .field{grid-template-columns:1fr;gap:4px}.heat-emitter-draft-panel{width:min(430px,calc(100vw - 64px))}.heat-emitter-placement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:10px}.heat-emitter-placement-grid .field{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:5px;min-width:0;width:100%}.heat-emitter-placement-grid .input-unit{grid-template-columns:minmax(0,1fr) max-content}.heat-emitter-static-field{display:grid;gap:4px;color:var(--muted);font-size:11px;font-weight:760}.heat-emitter-static-field strong{min-height:30px;display:inline-flex;align-items:center;padding:0 8px;border:1px solid var(--line-strong);border-radius:4px;background:var(--input-glass);color:var(--text);font-size:12px;font-weight:760;box-shadow:var(--glass-edge),0 1px 2px rgba(0,0,0,0.035)}.pipe-compact-spec{display:flex;align-items:center;flex-wrap:wrap;gap:5px;color:var(--muted);font-size:10px;font-weight:820}.pipe-compact-spec span{padding:4px 6px;border:1px solid var(--glass-border);border-radius:999px;background:rgba(255,255,255,0.34);box-shadow:var(--glass-edge)}.multi-pipe-service-list{gap:6px}.pipe-service-chip{color:var(--text)}.pipe-service-chip.pipe-flow,.pipe-service-chip.pipe-domestic-hot-water{border-color:rgba(239,68,68,0.36);color:#dc2626}.pipe-service-chip.pipe-return,.pipe-service-chip.pipe-domestic-cold-water{border-color:rgba(10,132,255,0.36);color:#0a84ff}.pipe-service-chip.pipe-cooling-flow{border-color:rgba(56,189,248,0.4);color:#0284c7}.pipe-service-chip.pipe-cooling-return{border-color:rgba(168,85,247,0.4);color:#7e22ce}.pipe-service-chip.pipe-boosted-cold-water{border-color:rgba(34,197,94,0.42);color:#15803d}.pipe-service-chip.pipe-secondary-return{border-color:rgba(249,115,22,0.42);color:#c2410c}.pipe-draft-actions{justify-content:flex-end}html[data-theme="dark"] .room-draft-panel{border-color:rgba(239,246,255,0.18);background:linear-gradient(145deg,rgba(26,28,34,0.90),rgba(10,11,14,0.82));color:var(--text);box-shadow:var(--glass-edge),0 18px 42px rgba(0,0,0,0.34);backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%)}html[data-theme="dark"] .room-draft-panel strong{color:var(--text)}html[data-theme="dark"] .pipe-draft-summary span,html[data-theme="dark"] .pipe-defaults-heading span{color:var(--muted)}html[data-theme="dark"] .pipe-draft-panel .pipe-drawing-defaults{border-color:rgba(239,246,255,0.14);background:linear-gradient(145deg,rgba(38,42,52,0.58),rgba(12,14,19,0.42));box-shadow:var(--glass-edge),inset 0 1px 0 rgba(255,255,255,0.06)}html[data-theme="dark"] .pipe-draft-panel select,html[data-theme="dark"] .pipe-draft-panel .input-unit input{border-color:rgba(239,246,255,0.22);background:linear-gradient(145deg,rgba(73,78,89,0.82),rgba(37,40,48,0.72));color:var(--text);box-shadow:var(--glass-edge),0 8px 18px rgba(0,0,0,0.20)}html[data-theme="dark"] .pipe-draft-panel select:focus,html[data-theme="dark"] .pipe-draft-panel .input-unit input:focus{border-color:rgba(10,132,255,0.72);box-shadow:var(--glass-edge),0 0 0 3px rgba(10,132,255,0.20)}html[data-theme="dark"] .pipe-compact-spec span{border-color:rgba(239,246,255,0.12);background:rgba(255,255,255,0.08);color:var(--muted)}html[data-theme="dark"] .multi-pipe-centre-line{stroke:rgba(226,232,240,0.34)}html[data-theme="dark"] .room-draft-warning{border-color:rgba(251,191,36,0.42);background:rgba(120,53,15,0.46);color:#fde68a}.cal-title{font-size:13px;font-weight:800;margin-bottom:8px}.cal-setup,.cal-steps,.cal-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#475569;font-size:12px}html[data-theme="dark"] .cal-setup,html[data-theme="dark"] .cal-steps,html[data-theme="dark"] .cal-meta{color:var(--muted)}html[data-theme="dark"] .cal-meta strong{color:var(--text)}.cal-setup{align-items:end;padding-bottom:9px;margin-bottom:9px;border-bottom:1px solid var(--line)}.cal-setup label{display:grid;gap:4px;min-width:112px;color:#334155;font-size:11px;font-weight:740}.cal-setup select,.cal-setup input{height:30px;border:1px solid var(--line-strong);border-radius:4px;background:var(--input-glass);color:var(--text);padding:0 8px;font-size:12px;font-weight:650;box-shadow:var(--glass-edge),0 1px 2px rgba(0,0,0,0.035)}.muted-control{opacity:0.52}.step-dot{width:19px;height:19px;display:inline-grid;place-items:center;border-radius:50%;background:var(--blue);color:white;font-size:11px;font-weight:800}.arrow{color:#94a3b8}.cal-steps label{display:inline-flex;align-items:center;gap:7px;margin-left:auto}.cal-steps input{width:82px;height:30px;border:1px solid var(--line);border-radius:4px;padding:0 8px}.primary-mini{height:30px;padding:0 12px;border:1px solid rgba(0,98,204,0.68);border-radius:4px;color:white;background:linear-gradient(145deg,rgba(40,160,255,0.94),rgba(0,122,255,0.86));font-size:12px;font-weight:760;box-shadow:inset 0 1px 0 rgba(255,255,255,0.34),0 8px 18px rgba(0,122,255,0.20);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.secondary-mini{height:30px;padding:0 12px;border:1px solid rgba(255,255,255,0.62);border-radius:4px;background:var(--button-glass);color:#243148;font-size:12px;font-weight:760;box-shadow:var(--glass-edge),0 5px 12px rgba(0,0,0,0.05);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.secondary-mini.active{border-color:#f59e0b;background:#fffbeb;color:#92400e}html[data-theme="dark"] .secondary-mini,html[data-theme="dark"] .settings-mini-btn{border-color:rgba(239,246,255,0.20);background:linear-gradient(145deg,rgba(255,255,255,0.15),rgba(255,255,255,0.06));color:var(--text);box-shadow:var(--glass-edge),0 7px 16px rgba(0,0,0,0.12)}html[data-theme="dark"] .secondary-mini.active{border-color:rgba(245,158,11,0.62);background:linear-gradient(145deg,rgba(245,158,11,0.24),rgba(120,53,15,0.18));color:#fde68a}html[data-theme="dark"] .danger-mini{border-color:rgba(248,113,113,0.36);background:rgba(127,29,29,0.24);color:#fecaca}html[data-theme="dark"] .danger-mini:disabled{border-color:rgba(239,246,255,0.16);background:rgba(255,255,255,0.12);color:rgba(244,247,251,0.82);opacity:1}.cal-meta{padding-top:9px}.green{color:var(--green)}.canvas-status{height:28px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 14px;border-top:1px solid var(--line);background:rgba(255,255,255,0.58);color:var(--muted);font-size:12px;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%)}.canvas-status span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html[data-theme="dark"] .canvas-status{border-top-color:rgba(239,246,255,0.12);background:rgba(16,19,25,0.62);color:var(--muted)}.three-bottombar .three-navigation-hint,.schematic-bottombar .three-navigation-hint{height:34px;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 12px;border:1px solid rgba(255,255,255,0.66);border-radius:var(--radius);background:var(--button-glass);color:var(--muted);font-size:12px;box-shadow:var(--glass-edge),0 10px 24px rgba(0,122,255,0.08);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.three-bottombar .three-navigation-hint strong,.schematic-bottombar .three-navigation-hint strong{min-width:0;height:auto;display:inline-flex;align-items:center;padding:0 10px 0 0;border:0;border-right:1px solid var(--line);background:transparent;color:var(--text);font-size:12px;font-weight:820}.three-bottombar .three-navigation-hint span,.schematic-bottombar .three-navigation-hint span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html[data-theme="dark"] .three-bottombar .three-navigation-hint,html[data-theme="dark"] .schematic-bottombar .three-navigation-hint{border-color:rgba(239,246,255,0.14);background:rgba(255,255,255,0.07);box-shadow:var(--glass-edge),0 10px 24px rgba(0,0,0,0.24)}html[data-theme="dark"] .three-bottombar .three-navigation-hint strong,html[data-theme="dark"] .schematic-bottombar .three-navigation-hint strong{border-right-color:rgba(239,246,255,0.14);color:var(--text)}.inspector,.product-panel,.pipe-panel,.results-panel{padding:14px 12px}.inspector.closed-panel,.product-panel.closed-panel,.pipe-panel.closed-panel,.results-panel.closed-panel{display:none;width:0;min-width:0;padding:0;border:0;overflow:hidden}.panel-head h2{margin:0;font-size:13px;font-weight:820}.panel-head button{width:24px;height:24px;display:grid;place-items:center;border:1px solid transparent;border-radius:4px;color:#647184;font-size:18px;line-height:1;transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.panel-head button:hover{border-color:var(--control-hover-border);background:var(--control-hover-bg);color:#374151;box-shadow:var(--control-hover-shadow);transform:translateY(-1px)}html[data-theme="dark"] .panel-head button:hover{color:var(--text)}.id-chip{margin:8px 0 12px;color:var(--muted);font-size:11px;font-weight:650}.wall-list{display:grid;gap:6px}.wall-list .wall-item{display:grid;grid-template-columns:minmax(0,1fr) 78px;align-items:end;gap:6px 8px;padding:7px 8px;border:1px solid rgba(255,255,255,0.56);border-radius:4px;background:var(--tile-glass);color:#334155;font-size:11px;font-weight:720;box-shadow:var(--glass-edge)}.wall-list .wall-item-title{grid-column:1 / -1;display:grid;gap:2px;min-width:0}.wall-list small{color:var(--muted);font-size:10px;font-weight:620;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wall-list select{width:100%;height:28px;border:1px solid var(--line-strong);border-radius:4px;background:var(--input-glass);color:var(--text);padding:0 6px;font-size:11px;font-weight:650}.wall-list select:disabled{background:rgba(242,242,247,0.72);color:#475569;opacity:1}.material-select-control{grid-column:1 / -1;min-width:0;display:grid;gap:4px}.material-select-control span{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:#334155;font-size:10px;font-weight:780}.material-select-control span small{color:#64748b;font-size:9px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-select-control select{height:28px}.opening-material-item{background:linear-gradient(145deg,rgba(255,255,255,0.66),rgba(233,244,255,0.42))}.opening-material-item .material-summary{grid-column:1 / -1;color:#526176}.roof-type-controls{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;padding-top:2px}.roof-type-controls label{min-width:0;display:grid;gap:4px;color:#334155;font-size:10px;font-weight:780}.roof-type-controls select,.roof-type-controls input{width:100%;min-width:0}.roof-type-controls>small{grid-column:1 / -1;color:var(--muted);font-size:10px;font-weight:680}.wall-thickness-control{display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:4px}.wall-thickness-control input{width:100%;min-width:0;height:28px;border:1px solid var(--line-strong);border-radius:4px;background:var(--input-glass);color:var(--text);padding:0 5px;font-size:11px;font-weight:720}.wall-thickness-control input:disabled{background:rgba(242,242,247,0.72);color:#64748b;opacity:1}.wall-thickness-control small{color:var(--muted);font-size:10px;font-weight:700}.window-list{grid-column:1 / -1;display:grid;gap:6px;margin-top:2px;padding-top:6px;border-top:1px solid rgba(148,163,184,0.32)}.window-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) 26px;align-items:center;gap:6px;padding:5px;border-radius:4px;background:rgba(255,255,255,0.56);color:#334155}.window-row.active{outline:1px solid rgba(75,85,99,0.35);background:rgba(242,242,247,0.86)}.room-panel-focus-target{position:relative;border-color:rgba(0,122,255,0.58) !important;background:linear-gradient(145deg,rgba(0,122,255,0.12),rgba(255,255,255,0.68)) !important;box-shadow:var(--glass-edge),0 0 0 3px rgba(0,122,255,0.14),0 12px 26px rgba(0,122,255,0.13) !important;animation:room-panel-focus-pulse 1.2s ease-out 1}.window-row.room-panel-focus-target{outline:1px solid rgba(0,122,255,0.5)}@keyframes room-panel-focus-pulse{0%{transform:translateY(-1px);box-shadow:var(--glass-edge),0 0 0 6px rgba(0,122,255,0.22),0 16px 32px rgba(0,122,255,0.16)}100%{transform:translateY(0)}}.window-row>span{grid-column:1 / -1;color:#334155;font-size:10px;font-weight:780}.window-row label{display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:3px}.window-row .window-row-wide{grid-column:1 / 3;grid-template-columns:minmax(0,1fr) 42px}.window-row input{width:100%;min-width:0;height:24px;border:1px solid var(--line);border-radius:4px;background:var(--input-glass);padding:0 4px;color:#172033;font-size:10px;font-weight:720}.window-row small{color:var(--muted);font-size:9px;font-weight:700}.window-row button{grid-column:-2 / -1;height:24px;border:1px solid #fecaca;border-radius:4px;background:#fff7f7;color:#991b1b;font-weight:800;transition:border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,transform 0.16s ease}.window-row button:hover{border-color:var(--danger-hover-border);background:var(--danger-hover-bg);color:#be123c;box-shadow:var(--danger-hover-shadow);transform:translateY(-1px)}.boundary-summary{display:grid;gap:5px;margin:8px 0 10px;padding:8px;border:1px solid rgba(255,255,255,0.56);border-radius:4px;background:var(--tile-glass);color:#475569;font-size:11px;font-weight:650;box-shadow:var(--glass-edge)}.boundary-summary strong{color:#172033;text-transform:capitalize}html[data-theme="dark"] .boundary-summary strong{color:var(--text)}.inspector h3,.result-card h3{margin:13px 0 8px;color:#223047;font-size:12px;font-weight:800}.field-grid{display:grid;grid-template-columns:1fr;gap:7px}.field-grid.compact{gap:6px}.field{min-width:0;display:grid;grid-template-columns:minmax(92px,1fr) 104px;align-items:center;gap:8px;color:#354259;font-size:11px;font-weight:650}.field.full{grid-template-columns:1fr;gap:5px}.collapsible-section{margin-top:9px;border:0;border-radius:5px;background:transparent;overflow:visible;box-shadow:none}.collapsible-section-head{height:36px;padding:0 8px}.collapsible-section-body{display:grid;gap:8px;margin-top:6px;padding:8px;border:1px solid rgba(255,255,255,0.44);border-radius:var(--radius);background:var(--tile-glass);box-shadow:var(--glass-edge),0 8px 20px rgba(0,0,0,0.045);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.field-note{margin:0;color:#64748b;font-size:11px;font-weight:650;line-height:1.35}.override-note{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:8px 0 10px;padding:7px 8px;border:1px solid #fde68a;border-radius:4px;background:#fffbeb;color:#7c2d12;font-size:11px;font-weight:720}.override-note span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.override-note button{height:24px;border:1px solid #fbbf24;border-radius:4px;background:rgba(255,255,255,0.72);color:#92400e;padding:0 8px;font-size:10px;font-weight:800}html[data-theme="dark"] .override-note{border-color:rgba(245,158,11,0.42);background:rgba(120,53,15,0.26);color:#fed7aa}html[data-theme="dark"] .override-note button{border-color:rgba(245,158,11,0.46);background:rgba(255,255,255,0.08);color:#fde68a}.field select,.field>input,.input-unit{min-width:0;width:100%}.field select,.field>input,.input-unit input{min-width:0;height:30px;border:1px solid var(--line-strong);border-radius:4px;background:var(--input-glass);color:var(--text);padding:0 7px;font-size:12px;font-weight:620;box-shadow:var(--glass-edge),0 1px 2px rgba(0,0,0,0.035)}.input-unit{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:5px}.input-unit small{color:var(--muted);font-size:10px}.result-card{padding:12px;margin-bottom:10px;border:1px solid rgba(255,255,255,0.58);border-radius:var(--radius);background:var(--tile-glass-strong);box-shadow:var(--glass-edge),0 10px 24px rgba(0,0,0,0.055);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.result-load-card{padding:0;overflow:hidden}.result-load-head{width:100%;min-width:0;border:0;background:transparent;color:inherit;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;text-align:left;cursor:pointer}.result-load-head:hover{background:rgba(255,255,255,0.18)}.result-load-summary{min-width:0;display:grid;gap:6px}.result-load-title{color:#334155;font-size:12px;font-weight:760}.result-load-summary strong{display:block;color:#0f172a;font-size:29px;line-height:1;letter-spacing:0}.result-geometry-card .result-load-summary strong{color:#172033}.result-load-summary em{color:#334155;font-size:14px;font-style:normal;font-weight:750}.result-load-body{display:grid;gap:8px;padding:0 12px 12px;border-top:1px solid var(--line)}.result-load-body h3{margin:10px 0 0}.result-load-card.is-collapsed .result-load-head{min-height:94px}.ventilation-requirement-card{display:grid;gap:8px}.ventilation-requirement-card h3{margin:0}.result-primary-value{display:block;color:var(--blue);font-size:28px;font-weight:850;letter-spacing:0;line-height:1}.monthly-load-card{display:grid;gap:9px}.monthly-load-head{display:grid;gap:3px}.monthly-load-head h3{margin:0}.monthly-load-head span{color:var(--muted);font-size:10px;font-weight:720}.monthly-load-chart{height:112px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:4px;padding:8px 6px 6px;border:1px solid rgba(255,255,255,0.42);border-radius:var(--radius);background:linear-gradient(to top,rgba(100,116,139,0.14) 1px,transparent 1px) 0 0 / 100% 25%,var(--tile-glass);box-shadow:var(--glass-edge)}.monthly-load-column{min-width:0;height:100%;align-self:stretch;display:grid;grid-template-rows:minmax(0,1fr) 14px;align-items:end;gap:4px}.monthly-load-column>span{overflow:hidden;color:var(--muted);font-size:8px;font-weight:800;line-height:1;text-align:center;text-overflow:clip}.monthly-load-bar{width:100%;height:100%;min-height:0;display:flex;flex-direction:column-reverse;justify-content:flex-start;overflow:hidden;border:1px solid rgba(100,116,139,0.18);border-radius:4px;background:rgba(148,163,184,0.10)}.monthly-load-segment{display:block;width:100%;min-height:0}.monthly-load-segment.loss{background:linear-gradient(180deg,color-mix(in srgb,var(--heat-loss) 82%,white),var(--heat-loss))}.monthly-load-segment.gain{background:linear-gradient(180deg,color-mix(in srgb,var(--heat-gain) 80%,white),var(--heat-gain))}.monthly-load-legend,.monthly-load-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.monthly-load-legend span,.monthly-load-summary div{min-width:0;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;font-weight:760}.monthly-load-legend i{width:9px;height:9px;display:inline-block;border-radius:2px}.monthly-load-legend .loss{background:var(--heat-loss)}.monthly-load-legend .gain{background:var(--heat-gain)}.monthly-load-summary{margin:0}.monthly-load-summary div{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;justify-content:stretch;padding:7px 8px;border:1px solid rgba(255,255,255,0.38);border-radius:4px;background:var(--tile-glass);box-shadow:var(--glass-edge)}.monthly-load-summary .loss{border-color:color-mix(in srgb,var(--heat-loss) 34%,rgba(255,255,255,0.38))}.monthly-load-summary .gain{border-color:color-mix(in srgb,var(--heat-gain) 34%,rgba(255,255,255,0.38))}.monthly-load-summary dt,.monthly-load-summary dd{margin:0}.monthly-load-summary dt{color:var(--muted);font-size:10px;font-weight:820;line-height:1.1;white-space:nowrap}.monthly-load-summary dd{color:var(--text);font-size:13px;font-weight:850;line-height:1.1;text-align:left}.floor-setup-card select,.floor-setup-card input,.settings-field input,.settings-field select,.floor-plan-card select,.floor-plan-card input,.cal-setup select,.cal-setup input,.wall-list select,.wall-thickness-control input,.field select,.field>input,.input-unit input,.window-row input,.internal-gain-count-row input{border-color:var(--line-strong);color:#111827;box-shadow:var(--glass-edge),0 1px 3px rgba(0,0,0,0.05)}.floor-setup-card select:focus,.floor-setup-card input:focus,.settings-field input:focus,.settings-field select:focus,.floor-plan-card select:focus,.floor-plan-card input:focus,.cal-setup select:focus,.cal-setup input:focus,.wall-list select:focus,.wall-thickness-control input:focus,.field select:focus,.field>input:focus,.input-unit input:focus,.window-row input:focus,.internal-gain-count-row input:focus{outline:none;border-color:var(--blue-border);box-shadow:var(--glass-edge),0 0 0 3px rgba(0,122,255,0.12)}.result-card,.collapsible-section,.room-type-preset-card,.uvalue-setpoint-card,.infiltration-preset-card,.material-card,.floor-plan-card,.boundary-summary,.wall-list .wall-item,.internal-gain-default-row,.internal-gain-count-row{color:#1d2433}html[data-theme="dark"] .project-picker,html[data-theme="dark"] .brand-menu-button,html[data-theme="dark"] .brand-menu-mark,html[data-theme="dark"] .level-pill,html[data-theme="dark"] .floor-row,html[data-theme="dark"] .layer-row,html[data-theme="dark"] .tool-btn,html[data-theme="dark"] .upload-card,html[data-theme="dark"] .system-controls select,html[data-theme="dark"] .project-settings-head strong,html[data-theme="dark"] .methodology-head strong,html[data-theme="dark"] .history-popover-head strong,html[data-theme="dark"] .export-popover-head strong,html[data-theme="dark"] .product-library-head strong,html[data-theme="dark"] .inspector h2,html[data-theme="dark"] .product-panel h2,html[data-theme="dark"] .results-panel h2,html[data-theme="dark"] .inspector h3,html[data-theme="dark"] .result-card h3,html[data-theme="dark"] .field,html[data-theme="dark"] .settings-field,html[data-theme="dark"] .settings-field-label,html[data-theme="dark"] .settings-section-head h3,html[data-theme="dark"] .project-settings-section h3,html[data-theme="dark"] .collapsible-section,html[data-theme="dark"] .collapsible-section-body,html[data-theme="dark"] .room-type-category-head,html[data-theme="dark"] .collapsible-section-head,html[data-theme="dark"] .room-type-category-list,html[data-theme="dark"] .room-type-preset-list,html[data-theme="dark"] .material-category,html[data-theme="dark"] .material-list,html[data-theme="dark"] .internal-gain-defaults,html[data-theme="dark"] .internal-gain-counts,html[data-theme="dark"] .room-type-preset-card,html[data-theme="dark"] .uvalue-setpoint-card,html[data-theme="dark"] .infiltration-preset-card,html[data-theme="dark"] .material-card,html[data-theme="dark"] .product-library-rail,html[data-theme="dark"] .product-library-main,html[data-theme="dark"] .product-detail-panel,html[data-theme="dark"] .product-category-card,html[data-theme="dark"] .product-library-title-card strong,html[data-theme="dark"] .product-results-head strong,html[data-theme="dark"] .product-model-group-head strong,html[data-theme="dark"] .product-result-card,html[data-theme="dark"] .product-card-copy strong,html[data-theme="dark"] .product-card-metrics i,html[data-theme="dark"] .product-detail-title strong,html[data-theme="dark"] .product-detail-facts dd,html[data-theme="dark"] .radiator-model-finder h3,html[data-theme="dark"] .radiator-model-info h3,html[data-theme="dark"] .radiator-model-results strong,html[data-theme="dark"] .product-detail-panel h3,html[data-theme="dark"] .product-detail-empty strong,html[data-theme="dark"] .floor-plan-card,html[data-theme="dark"] .boundary-summary,html[data-theme="dark"] .wall-list .wall-item,html[data-theme="dark"] .internal-gain-default-row,html[data-theme="dark"] .internal-gain-count-row,html[data-theme="dark"] .methodology-intro,html[data-theme="dark"] .methodology-summary,html[data-theme="dark"] .method-card,html[data-theme="dark"] .method-detail-card,html[data-theme="dark"] .method-flow li,html[data-theme="dark"] .result-card{color:var(--text)}html[data-theme="dark"] .floor-row small,html[data-theme="dark"] .project-settings-head span,html[data-theme="dark"] .methodology-head span,html[data-theme="dark"] .history-popover-head span,html[data-theme="dark"] .export-popover-head span,html[data-theme="dark"] .product-library-head span,html[data-theme="dark"] .product-category-card small,html[data-theme="dark"] .product-library-title-card span,html[data-theme="dark"] .product-library-title-card small,html[data-theme="dark"] .product-library-title-card em,html[data-theme="dark"] .product-results-head span,html[data-theme="dark"] .product-results-head small,html[data-theme="dark"] .product-model-group-head span,html[data-theme="dark"] .product-model-group-head small,html[data-theme="dark"] .product-card-kicker small,html[data-theme="dark"] .product-card-copy>span:last-child,html[data-theme="dark"] .product-card-summary,html[data-theme="dark"] .product-card-range,html[data-theme="dark"] .product-detail-title small,html[data-theme="dark"] .product-detail-panel p,html[data-theme="dark"] .product-detail-facts dt,html[data-theme="dark"] .radiator-model-finder-head span,html[data-theme="dark"] .radiator-model-search span,html[data-theme="dark"] .radiator-model-results span,html[data-theme="dark"] .export-report-card small,html[data-theme="dark"] .field-note,html[data-theme="dark"] .settings-note,html[data-theme="dark"] .room-type-category-head small,html[data-theme="dark"] .collapsible-section-head small,html[data-theme="dark"] .internal-gain-default-head,html[data-theme="dark"] .internal-gain-count-head,html[data-theme="dark"] .internal-gain-count-row small,html[data-theme="dark"] .window-row small,html[data-theme="dark"] .input-unit small,html[data-theme="dark"] .mini-input-unit small,html[data-theme="dark"] .plan-note{color:var(--muted)}html[data-theme="dark"] .change-log-entry{border-color:rgba(239,246,255,0.22);background:linear-gradient(145deg,rgba(42,43,48,0.24),rgba(8,9,11,0.06));color:var(--text);box-shadow:var(--glass-edge),0 12px 24px rgba(0,0,0,0.22)}html[data-theme="dark"] .change-log-entry time{color:#a9b6ca}html[data-theme="dark"] .change-log-entry strong,html[data-theme="dark"] .change-log-empty strong{color:var(--text)}html[data-theme="dark"] .change-log-entry span,html[data-theme="dark"] .change-log-empty{color:var(--muted)}html[data-theme="dark"] .change-log-empty svg{color:#8fa0b7}html[data-theme="dark"] .change-log-entry:hover,html[data-theme="dark"] .change-log-entry:focus-visible,html[data-theme="dark"] .change-log-item.restore-pending .change-log-entry{border-color:rgba(10,132,255,0.58);background:rgba(10,132,255,0.16);box-shadow:0 0 0 1px rgba(10,132,255,0.18),0 18px 30px rgba(0,0,0,0.28)}html[data-theme="dark"] .history-restore-confirm{border-color:rgba(10,132,255,0.5);background:rgba(10,132,255,0.14);box-shadow:var(--glass-edge),0 18px 30px rgba(0,0,0,0.26)}html[data-theme="dark"] .history-restore-confirm span{color:var(--text)}html[data-theme="dark"] .method-card code{border-color:rgba(10,132,255,0.28);background:rgba(10,132,255,0.12);color:#8fc5ff}html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .input-unit input{color:var(--text)}html[data-theme="dark"] .material-select-control span,html[data-theme="dark"] .window-row>span,html[data-theme="dark"] .door-type-option{color:var(--text)}html[data-theme="dark"] .material-select-control span small,html[data-theme="dark"] .door-type-option small{color:var(--muted)}html[data-theme="dark"] .opening-material-item,html[data-theme="dark"] .window-row{border:1px solid rgba(239,246,255,0.14);background:linear-gradient(145deg,rgba(42,48,60,0.36),rgba(16,19,25,0.18));color:var(--text);box-shadow:var(--glass-edge)}html[data-theme="dark"] .window-row.active{outline-color:rgba(10,132,255,0.46);background:linear-gradient(145deg,rgba(48,58,74,0.46),rgba(18,22,31,0.24))}html[data-theme="dark"] .room-panel-focus-target{border-color:rgba(10,132,255,0.68) !important;background:linear-gradient(145deg,rgba(10,132,255,0.2),rgba(20,23,30,0.52)) !important;box-shadow:var(--glass-edge),0 0 0 3px rgba(10,132,255,0.2),0 16px 30px rgba(0,0,0,0.28) !important}html[data-theme="dark"] .opening-material-item .material-summary{color:var(--muted)}html[data-theme="dark"] .wall-list select:disabled,html[data-theme="dark"] .wall-thickness-control input:disabled,html[data-theme="dark"] .window-row input{border-color:rgba(232,238,247,0.16);background:var(--input-glass);color:var(--text);opacity:1}html[data-theme="dark"] .window-row button{border-color:rgba(248,113,113,0.42);background:rgba(127,29,29,0.24);color:#fecaca}html[data-theme="dark"] .window-row button:hover{border-color:rgba(248,113,113,0.68);background:rgba(153,27,27,0.32);color:#ffffff}html[data-theme="dark"] .door-type-options{border-color:rgba(239,246,255,0.18);background:linear-gradient(145deg,rgba(42,48,60,0.42),rgba(16,19,25,0.20))}html[data-theme="dark"] .door-type-options,html[data-theme="dark"] .heat-emitter-type-options,html[data-theme="dark"] .outlet-type-options,html[data-theme="dark"] .valve-type-options,html[data-theme="dark"] .zone-node-type-options{scrollbar-color:color-mix(in srgb,var(--blue) 60%,#ffffff 14%) transparent}html[data-theme="dark"] .door-type-options::-webkit-scrollbar-thumb,html[data-theme="dark"] .heat-emitter-type-options::-webkit-scrollbar-thumb,html[data-theme="dark"] .outlet-type-options::-webkit-scrollbar-thumb,html[data-theme="dark"] .valve-type-options::-webkit-scrollbar-thumb,html[data-theme="dark"] .zone-node-type-options::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--blue) 54%,#ffffff 16%)}html[data-theme="dark"] .tool-palette.compact .door-type-options{background:linear-gradient(145deg,rgba(30,35,45,0.94),rgba(12,15,21,0.9))}html[data-theme="dark"] .door-type-option.active{border-color:var(--blue-border);background:var(--blue-glass);color:#dbeafe}html[data-theme="dark"] .door-type-option:not(.active):hover{color:var(--text)}html[data-theme="dark"] .heat-emitter-type-option:not(.active):hover,html[data-theme="dark"] .outlet-type-option:not(.active):hover,html[data-theme="dark"] .valve-type-option:not(.active):hover,html[data-theme="dark"] .zone-node-type-option:not(.active):hover{border-color:rgba(148,163,184,0.42);background:rgba(255,255,255,0.08);color:var(--text);box-shadow:var(--glass-edge),0 10px 22px rgba(0,0,0,0.22)}html[data-theme="dark"] .radiator-connection-stem{stroke:rgba(226,232,240,0.62)}html[data-theme="dark"] .radiator-connection-anchor{fill:rgba(15,18,24,0.86);filter:drop-shadow(0 1px 3px rgba(0,0,0,0.42))}html[data-theme="dark"] .radiator-connection-anchor.radiator-connection-flow{fill:rgba(127,29,29,0.72)}html[data-theme="dark"] .radiator-connection-anchor.radiator-connection-return{fill:rgba(30,64,175,0.72)}html[data-theme="dark"] .radiator-connection-anchor.radiator-connection-cooling-flow{fill:rgba(14,116,144,0.68)}html[data-theme="dark"] .radiator-connection-anchor.radiator-connection-cooling-return{fill:rgba(88,28,135,0.68)}html[data-theme="dark"] .outlet-symbol-body{fill:rgba(15,18,24,0.01);stroke:transparent}html[data-theme="dark"] .outlet-symbol-asset{filter:brightness(0) invert(1) drop-shadow(0 2px 5px rgba(0,0,0,0.46))}html[data-theme="dark"] .outlet-symbol-glyph,html[data-theme="dark"] .outlet-reference{color:#e2e8f0;fill:#e2e8f0;stroke:rgba(9,12,18,0.92)}html[data-theme="dark"] .outlet-connection-anchor{fill:rgba(15,18,24,0.86);filter:drop-shadow(0 1px 3px rgba(0,0,0,0.42))}html[data-theme="dark"] .outlet-connection-hot{fill:rgba(127,29,29,0.72)}html[data-theme="dark"] .outlet-connection-cold{fill:rgba(30,64,175,0.72)}html[data-theme="dark"] .floor-outlet.active .outlet-symbol-body{fill:rgba(10,132,255,0.16);stroke:#60a5fa}html[data-theme="dark"] .pipe-elbow circle,html[data-theme="dark"] .pipe-tee-fitting circle,html[data-theme="dark"] .pipe-reducer-fitting circle,html[data-theme="dark"] .pipe-reducer-fitting path,html[data-theme="dark"] .pipe-draft-elbow,html[data-theme="dark"] .pipe-draft-point,html[data-theme="dark"] .pipe-guide-point,html[data-theme="dark"] .pipe-vertex{fill:rgba(15,18,24,0.88);filter:drop-shadow(0 1px 3px rgba(0,0,0,0.36))}html[data-theme="dark"] .pipe-elbow text,html[data-theme="dark"] .pipe-tee-fitting text,html[data-theme="dark"] .pipe-reducer-fitting text,html[data-theme="dark"] .pipe-measurement,html[data-theme="dark"] .pipe-reference,html[data-theme="dark"] .pipe-size-label{fill:#e2e8f0;stroke:rgba(9,12,18,0.9)}html[data-theme="dark"] .pipe-pill-label{filter:drop-shadow(0 7px 16px rgba(0,0,0,0.36))}html[data-theme="dark"] .pipe-size-label-pill-bg{fill:rgba(16,19,25,0.82);stroke:rgba(226,232,240,0.18)}html[data-theme="dark"] .pipe-pill-label.compact .pipe-size-label-pill-bg{fill:rgba(16,19,25,0.72)}html[data-theme="dark"] .pipe-size-label-grid.pipe-flow .pipe-size-label-pill-bg,html[data-theme="dark"] .pipe-size-label-grid.pipe-domestic-hot-water .pipe-size-label-pill-bg{stroke:rgba(255,107,107,0.6)}html[data-theme="dark"] .pipe-size-label-grid.pipe-return .pipe-size-label-pill-bg,html[data-theme="dark"] .pipe-size-label-grid.pipe-domestic-cold-water .pipe-size-label-pill-bg{stroke:rgba(90,167,255,0.6)}html[data-theme="dark"] .pipe-size-label-grid.pipe-cooling-flow .pipe-size-label-pill-bg{stroke:rgba(103,232,249,0.58)}html[data-theme="dark"] .pipe-size-label-grid.pipe-cooling-return .pipe-size-label-pill-bg{stroke:rgba(192,132,252,0.58)}html[data-theme="dark"] .pipe-size-label-grid.pipe-boosted-cold-water .pipe-size-label-pill-bg{stroke:rgba(74,222,128,0.58)}html[data-theme="dark"] .pipe-size-label-grid.pipe-secondary-return .pipe-size-label-pill-bg{stroke:rgba(251,146,60,0.6)}html[data-theme="dark"] .pipe-size-label.pipe-flow{fill:#ff6b6b}html[data-theme="dark"] .pipe-size-label-grid.pipe-flow .pipe-size-label{fill:#ff6b6b}html[data-theme="dark"] .pipe-size-label.pipe-return{fill:#5aa7ff}html[data-theme="dark"] .pipe-size-label-grid.pipe-return .pipe-size-label{fill:#5aa7ff}html[data-theme="dark"] .pipe-size-label.pipe-cooling-flow,html[data-theme="dark"] .pipe-size-label-grid.pipe-cooling-flow .pipe-size-label{fill:#67e8f9}html[data-theme="dark"] .pipe-size-label.pipe-cooling-return,html[data-theme="dark"] .pipe-size-label-grid.pipe-cooling-return .pipe-size-label{fill:#c084fc}html[data-theme="dark"] .pipe-size-label-grid .pipe-label-divider{stroke:rgba(226,232,240,0.4)}html[data-theme="dark"] .pipe-size-label-grid.pipe-flow .pipe-label-divider{stroke:rgba(255,107,107,0.5)}html[data-theme="dark"] .pipe-size-label-grid.pipe-return .pipe-label-divider{stroke:rgba(90,167,255,0.5)}html[data-theme="dark"] .pipe-size-label-grid.pipe-cooling-flow .pipe-label-divider{stroke:rgba(103,232,249,0.5)}html[data-theme="dark"] .pipe-size-label-grid.pipe-cooling-return .pipe-label-divider{stroke:rgba(192,132,252,0.5)}html[data-theme="dark"] .plant-room-marker{fill:rgba(15,18,24,0.9);stroke:rgba(226,232,240,0.84)}html[data-theme="dark"] .plant-room-connection-port{fill:rgba(15,18,24,0.88);filter:drop-shadow(0 1px 3px rgba(0,0,0,0.42))}html[data-theme="dark"] .plant-room-connection-flow{fill:rgba(127,29,29,0.72)}html[data-theme="dark"] .plant-room-connection-return{fill:rgba(30,64,175,0.72)}html[data-theme="dark"] .plant-room-connection-cooling-flow{fill:rgba(14,116,144,0.72)}html[data-theme="dark"] .plant-room-connection-cooling-return{fill:rgba(88,28,135,0.72)}html[data-theme="dark"] .plant-room-node text{fill:#e2e8f0;stroke:rgba(9,12,18,0.92)}html[data-theme="dark"] .plant-room-node.plant-room-system-heating .plant-room-halo{fill:rgba(239,68,68,0.22);stroke:rgba(255,107,107,0.68)}html[data-theme="dark"] .plant-room-node.plant-room-system-heating .plant-room-marker{fill:rgba(127,29,29,0.32);stroke:#ff6b6b}html[data-theme="dark"] .plant-room-node.plant-room-system-heating .plant-room-symbol,html[data-theme="dark"] .plant-room-node.plant-room-system-heating text{stroke:rgba(9,12,18,0.92)}html[data-theme="dark"] .plant-room-node.plant-room-system-heating .plant-room-symbol{stroke:#ff6b6b}html[data-theme="dark"] .plant-room-node.plant-room-system-heating text{fill:#fecaca}html[data-theme="dark"] .plant-room-node.plant-room-system-cooling .plant-room-halo{fill:rgba(10,132,255,0.22);stroke:rgba(90,167,255,0.68)}html[data-theme="dark"] .plant-room-node.plant-room-system-cooling .plant-room-marker{fill:rgba(30,64,175,0.32);stroke:#5aa9ff}html[data-theme="dark"] .plant-room-node.plant-room-system-cooling .plant-room-symbol{stroke:#5aa9ff}html[data-theme="dark"] .plant-room-node.plant-room-system-cooling text{fill:#bfdbfe}html[data-theme="dark"] .plant-room-node.plant-room-system-public-health .plant-room-halo{fill:rgba(34,197,94,0.22);stroke:rgba(74,222,128,0.7)}html[data-theme="dark"] .plant-room-node.plant-room-system-public-health .plant-room-marker{fill:rgba(20,83,45,0.32);stroke:#4ade80}html[data-theme="dark"] .plant-room-node.plant-room-system-public-health .plant-room-symbol{stroke:#4ade80}html[data-theme="dark"] .plant-room-node.plant-room-system-public-health text{fill:#bbf7d0}html[data-theme="dark"] .schematic-placement-zone.schematic-zone-system-heating .schematic-device-symbol,html[data-theme="dark"] .schematic-placement-zone.schematic-zone-system-heating text{color:#ff6b6b;fill:#ff6b6b}html[data-theme="dark"] .schematic-placement-zone.schematic-zone-system-cooling .schematic-device-symbol,html[data-theme="dark"] .schematic-placement-zone.schematic-zone-system-cooling text{color:#5aa9ff;fill:#5aa9ff}html[data-theme="dark"] .schematic-placement-zone.schematic-zone-system-public-health .schematic-device-symbol,html[data-theme="dark"] .schematic-placement-zone.schematic-zone-system-public-health text{color:#4ade80;fill:#4ade80}html[data-theme="dark"] .schematic-placement-zone.schematic-zone-system-public-health text.muted,html[data-theme="dark"] .schematic-placement-zone.schematic-zone-system-cooling text.muted,html[data-theme="dark"] .schematic-placement-zone.schematic-zone-system-heating text.muted{fill:var(--muted)}html[data-theme="dark"] .riser-marker{fill:rgba(15,18,24,0.9);stroke:rgba(251,191,36,0.86)}html[data-theme="dark"] .riser-node.pipe-flow .riser-marker,html[data-theme="dark"] .riser-node.pipe-flow .riser-symbol{stroke:#ff6b6b}html[data-theme="dark"] .riser-node.pipe-flow text{fill:#ff6b6b}html[data-theme="dark"] .riser-node.pipe-return .riser-marker,html[data-theme="dark"] .riser-node.pipe-return .riser-symbol{stroke:#5aa9ff}html[data-theme="dark"] .riser-node.pipe-return text{fill:#5aa9ff}html[data-theme="dark"] .riser-node.pipe-cooling-flow .riser-marker,html[data-theme="dark"] .riser-node.pipe-cooling-flow .riser-symbol{stroke:#67e8f9}html[data-theme="dark"] .riser-node.pipe-cooling-flow text{fill:#67e8f9}html[data-theme="dark"] .riser-node.pipe-cooling-return .riser-marker,html[data-theme="dark"] .riser-node.pipe-cooling-return .riser-symbol{stroke:#c084fc}html[data-theme="dark"] .riser-node.pipe-cooling-return text{fill:#c084fc}html[data-theme="dark"] .riser-node text{fill:#fef3c7;stroke:rgba(9,12,18,0.92)}html[data-theme="dark"] .riser-node.pipe-domestic-hot-water .riser-marker,html[data-theme="dark"] .riser-node.pipe-domestic-hot-water .riser-symbol{stroke:#ff6b6b}html[data-theme="dark"] .riser-node.pipe-domestic-hot-water text{fill:#ff6b6b}html[data-theme="dark"] .riser-node.pipe-domestic-cold-water .riser-marker,html[data-theme="dark"] .riser-node.pipe-domestic-cold-water .riser-symbol{stroke:#5aa9ff}html[data-theme="dark"] .riser-node.pipe-domestic-cold-water text{fill:#5aa9ff}html[data-theme="dark"] .riser-node.pipe-boosted-cold-water .riser-marker,html[data-theme="dark"] .riser-node.pipe-boosted-cold-water .riser-symbol{stroke:#34d399}html[data-theme="dark"] .riser-node.pipe-boosted-cold-water text{fill:#34d399}html[data-theme="dark"] .riser-node.pipe-secondary-return .riser-marker,html[data-theme="dark"] .riser-node.pipe-secondary-return .riser-symbol{stroke:#fb923c}html[data-theme="dark"] .riser-node.pipe-secondary-return text{fill:#fb923c}html[data-theme="dark"] .ufh-manifold-body{fill:rgba(180,83,9,0.24);stroke:rgba(251,191,36,0.78)}html[data-theme="dark"] .ufh-loop-path{stroke:var(--ufh-loop-color,rgba(251,191,36,0.78));filter:drop-shadow(0 1px 2px rgba(9,12,18,0.52))}html[data-theme="dark"] .ufh-loop-connector{stroke:rgba(251,191,36,0.54)}html[data-theme="dark"] .ufh-loop-pattern-spiral{stroke:var(--ufh-loop-color,rgba(253,186,116,0.86))}html[data-theme="dark"] .ufh-manifold.active .ufh-manifold-body{fill:rgba(217,119,6,0.36);stroke:#fbbf24}html[data-theme="dark"] .ufh-manifold-port{stroke:rgba(254,243,199,0.58)}html[data-theme="dark"] .ufh-manifold-reference{fill:#fde68a;stroke:rgba(9,12,18,0.92)}html[data-theme="dark"] .manifold-room-row{background:rgba(15,18,24,0.5)}html[data-theme="dark"] .ufh-loop-card{background:rgba(15,18,24,0.46)}html[data-theme="dark"] .ufh-loop-card.blocked{border-color:rgba(248,113,113,0.42);background:rgba(127,29,29,0.28)}html[data-theme="dark"] .ufh-loop-card.limited{border-color:rgba(251,191,36,0.44);background:rgba(120,53,15,0.24)}html[data-theme="dark"] .ufh-loop-facts div{background:rgba(15,18,24,0.36)}html[data-theme="dark"] .ufh-loop-swatch{border-color:rgba(255,255,255,0.4);box-shadow:0 0 0 2px rgba(9,12,18,0.35)}html[data-theme="dark"] .ghost-btn:not(:disabled):hover,html[data-theme="dark"] .ghost-icon:not(:disabled):hover,html[data-theme="dark"] .mode-tab:not(.active):not(:disabled):hover,html[data-theme="dark"] .micro-tools button:not(:disabled):hover,html[data-theme="dark"] .bottom-tools button:not(.active):not(:disabled):hover,html[data-theme="dark"] .zoom-tools button:not(:disabled):hover,html[data-theme="dark"] .view-tools button:not(.active):not(:disabled):hover,html[data-theme="dark"] .project-picker:hover,html[data-theme="dark"] .project-picker.active,html[data-theme="dark"] .brand-menu-button:hover,html[data-theme="dark"] .brand-menu-button.active,html[data-theme="dark"] .brand-menu-mark:hover,html[data-theme="dark"] .brand-menu-mark.active,html[data-theme="dark"] .level-pill:hover,html[data-theme="dark"] .project-settings-head button:hover,html[data-theme="dark"] .history-popover-head button:hover,html[data-theme="dark"] .export-popover-head button:hover,html[data-theme="dark"] .product-library-head button:hover,html[data-theme="dark"] .export-report-card:hover,html[data-theme="dark"] .product-category-card:hover,html[data-theme="dark"] .product-category-card.active,html[data-theme="dark"] .product-subcategory-tabs button:hover,html[data-theme="dark"] .product-subcategory-tabs button.active,html[data-theme="dark"] .product-result-card:hover,html[data-theme="dark"] .product-result-card.active,html[data-theme="dark"] .tool-btn:not(.active):hover,html[data-theme="dark"] .floor-row:not(.active):hover,html[data-theme="dark"] .layer-row:hover{color:var(--text)}html[data-theme="dark"] .mode-tab.floor-plan-lock.unlocked:hover,html[data-theme="dark"] .mode-tab.floor-plan-lock.locked:hover{color:white}html[data-theme="dark"] .export-popover-head button{color:var(--muted)}html[data-theme="dark"] .product-library-head button{color:var(--muted)}html[data-theme="dark"] .export-report-card{border-color:rgba(239,246,255,0.14);background:linear-gradient(145deg,rgba(42,48,60,0.34),rgba(16,19,25,0.16))}html[data-theme="dark"] .product-category-card,html[data-theme="dark"] .product-library-title-card,html[data-theme="dark"] .product-subcategory-tabs button,html[data-theme="dark"] .product-model-group-head,html[data-theme="dark"] .product-result-card,html[data-theme="dark"] .product-card-metrics i,html[data-theme="dark"] .product-detail-facts div,html[data-theme="dark"] .product-compatibility-row,html[data-theme="dark"] .radiator-model-finder,html[data-theme="dark"] .radiator-model-info,html[data-theme="dark"] .radiator-model-results button{border-color:rgba(239,246,255,0.14);background:linear-gradient(145deg,rgba(42,48,60,0.34),rgba(16,19,25,0.16))}html[data-theme="dark"] .product-compatibility-row strong,html[data-theme="dark"] .product-compatibility-row small{color:rgba(248,250,252,0.92)}html[data-theme="dark"] .product-document-link{border-color:rgba(239,246,255,0.14);background:linear-gradient(145deg,rgba(42,48,60,0.36),rgba(16,19,25,0.18));color:rgba(248,250,252,0.92)}html[data-theme="dark"] .product-document-link:hover{border-color:rgba(96,165,250,0.44);background:rgba(96,165,250,0.16)}html[data-theme="dark"] .product-document-link.featured{border-color:rgba(96,165,250,0.38);background:linear-gradient(145deg,rgba(0,102,255,0.18),rgba(16,19,25,0.22))}html[data-theme="dark"] .product-document-link small,html[data-theme="dark"] .product-document-group h4{color:rgba(203,213,225,0.72)}html[data-theme="dark"] .product-compatibility-group h4,html[data-theme="dark"] .product-compatibility-row span,html[data-theme="dark"] .product-compatibility-row em{color:rgba(203,213,225,0.72)}html[data-theme="dark"] .radiator-model-results button:hover,html[data-theme="dark"] .radiator-model-results button.active{border-color:var(--blue-border);background:var(--blue-glass);color:#dbeafe}html[data-theme="dark"] .product-range-cta{border-color:rgba(10,132,255,0.58);background:linear-gradient(145deg,rgba(10,132,255,0.92),rgba(0,102,214,0.82));color:white;box-shadow:0 12px 24px rgba(10,132,255,0.24),inset 0 1px 0 rgba(255,255,255,0.25)}html[data-theme="dark"] .product-photo-image{border-color:rgba(239,246,255,0.20);background:radial-gradient(circle at 24% 18%,rgba(255,255,255,0.08),transparent 48%),linear-gradient(145deg,rgba(255,255,255,0.05),rgba(15,23,42,0.03));color:var(--text-primary)}html[data-theme="dark"] .product-range-card .product-photo-image{border-color:rgba(239,246,255,0.20);background:radial-gradient(circle at 24% 18%,rgba(255,255,255,0.08),transparent 50%),linear-gradient(145deg,rgba(255,255,255,0.04),rgba(15,23,42,0.03));box-shadow:inset 0 1px 0 rgba(255,255,255,0.14),0 12px 24px rgba(0,0,0,0.16)}html[data-theme="dark"] .product-photo-image>img:not(.product-brand-logo){mix-blend-mode:normal;filter:saturate(1.08) contrast(1.05) drop-shadow(0 9px 16px rgba(0,0,0,0.18))}html[data-theme="dark"] .schematic-product-visual>img{mix-blend-mode:normal}html[data-theme="dark"] .product-search input,html[data-theme="dark"] .product-filter-grid input,html[data-theme="dark"] .product-filter-grid select,html[data-theme="dark"] .radiator-model-search input{border-color:rgba(239,246,255,0.16);background:var(--input-glass);color:var(--text)}.hero-result span{display:block;font-size:12px;font-weight:760;color:#334155}.hero-result strong{display:block;margin-top:8px;color:#0f172a;font-size:29px;line-height:1;letter-spacing:0}.hero-result em{display:block;margin-top:7px;color:#334155;font-size:14px;font-style:normal;font-weight:750}.heat-loss-result strong,.heat-loss-breakdown dl .total,.heat-loss-breakdown dl .total dd{color:var(--heat-loss)}.heat-gain-result strong,.heat-gain-breakdown dl .total,.heat-gain-breakdown dl .total dd{color:var(--heat-gain)}dl{margin:0}dl div{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:23px;color:#475569;font-size:11px}dt{font-weight:650}dd{margin:0;color:#172033;font-weight:740;text-align:right}dl .total{margin-top:4px;padding-top:5px;border-top:1px solid var(--line);color:#172033}dl .subtotal{margin-top:3px;padding-top:4px;border-top:1px dashed rgba(148,163,184,0.55);color:#334155}.breakdown-list{display:grid;gap:8px}.breakdown-list .breakdown-row{min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;border:1px solid rgba(255,255,255,0.44);border-radius:var(--radius);background:var(--tile-glass);box-shadow:var(--glass-edge)}.breakdown-list .breakdown-row dt{min-width:0;display:grid;gap:4px}.breakdown-list .breakdown-row dt span:first-child{color:var(--text);font-size:11px;font-weight:800;line-height:1.2}.breakdown-list .breakdown-row small{color:var(--muted);font-size:9px;font-weight:670;line-height:1.25}.breakdown-list .breakdown-row dd{min-width:52px;display:grid;gap:2px;font-size:12px;font-weight:840;text-align:right}.breakdown-list .breakdown-row dd .energy-cost{color:var(--muted);font-size:10px;font-weight:780;line-height:1.15}.breakdown-meter{width:100%;height:4px;overflow:hidden;border-radius:999px;background:rgba(100,116,139,0.16)}.breakdown-meter span{display:block;width:var(--bar,0%);height:100%;border-radius:inherit;background:currentColor;opacity:0.82}.heat-loss-breakdown .breakdown-meter{color:var(--heat-loss)}.heat-gain-breakdown .breakdown-meter{color:var(--heat-gain)}.annual-energy-card .result-load-summary strong{color:#172033}.annual-energy-list .energy-row.loss .breakdown-meter,.annual-energy-list .energy-row.loss dd{color:var(--heat-loss)}.annual-energy-list .energy-row.gain .breakdown-meter,.annual-energy-list .energy-row.gain dd{color:var(--heat-gain)}.mcs031-star-card{display:grid;gap:6px;padding:10px;border:1px solid rgba(10,132,255,0.22);border-radius:8px;background:linear-gradient(145deg,rgba(255,255,255,0.66),rgba(241,245,249,0.34));box-shadow:var(--glass-edge),0 8px 18px rgba(15,23,42,0.055)}.mcs031-star-card span{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px}.mcs031-star-card small{color:var(--muted);font-size:10px;font-weight:820;text-transform:uppercase;letter-spacing:0.03em}.mcs031-star-card strong{color:var(--blue);font-size:17px;line-height:1;letter-spacing:0.04em;white-space:nowrap}.mcs031-star-card em{color:#334155;font-size:11px;font-style:normal;font-weight:720}.breakdown-list .breakdown-row.negative .breakdown-meter,.breakdown-list .breakdown-row.negative dd{color:var(--muted)}.breakdown-list .total{min-height:30px}.warning-card{width:100%;min-height:48px;display:grid;grid-template-columns:24px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;margin-bottom:10px;padding:8px 10px;border:1px solid #f4bd63;border-radius:var(--radius);background:#fff7ed;color:#7c2d12;text-align:left}.warning-card span{grid-row:1 / span 2;font-size:16px}.warning-card strong{font-size:12px}.warning-card small{color:#9a3412;font-size:10px}.bottombar{justify-content:center;gap:28px;border-top:1px solid var(--line-strong);border-bottom:0}.bottom-tools button.active,.view-tools button.active{color:#0057b8;border-color:var(--blue-border);background:var(--blue-soft);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.54),0 6px 16px rgba(0,122,255,0.10)}.bottom-tools .history-action{min-width:76px;border-color:var(--blue-border);background:linear-gradient(180deg,rgba(0,122,255,0.14),rgba(0,122,255,0.08));color:#0057b8;font-weight:820;box-shadow:0 6px 16px rgba(0,122,255,0.12)}.bottom-tools .history-action svg{width:17px;height:17px;stroke-width:2.2}.bottom-tools .history-action:not(:disabled):hover{border-color:rgba(0,98,204,0.58);background:linear-gradient(180deg,rgba(0,122,255,0.20),rgba(0,122,255,0.12));color:#004a9f;box-shadow:0 9px 20px rgba(0,122,255,0.16);transform:translateY(-1px)}.bottom-tools .history-action:disabled{border-color:#dbe4ef;background:rgba(255,255,255,0.52);color:#94a3b8;box-shadow:none;cursor:not-allowed;opacity:0.76;transform:none}.bottom-tools button.active:hover,.view-tools button.active:hover,.tool-btn.active:hover,.floor-row.active:hover{border-color:rgba(0,98,204,0.58);background:linear-gradient(180deg,rgba(0,122,255,0.18),rgba(0,122,255,0.10));color:#004a9f;box-shadow:0 8px 20px rgba(0,122,255,0.14);transform:translateY(-1px)}.zoom-tools strong{min-width:48px;height:34px;display:grid;place-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,0.66);color:#334155;font-size:12px}html[data-theme="dark"] .system-label,html[data-theme="dark"] .rail-toggle,html[data-theme="dark"] .floor-row svg,html[data-theme="dark"] .layer-row svg,html[data-theme="dark"] .floor-row strong,html[data-theme="dark"] .hero-result strong,html[data-theme="dark"] dd,html[data-theme="dark"] dl .total,html[data-theme="dark"] .zoom-tools strong{color:var(--text)}html[data-theme="dark"] .hero-result span,html[data-theme="dark"] .hero-result em,html[data-theme="dark"] .result-load-title,html[data-theme="dark"] .result-load-summary em,html[data-theme="dark"] dl div,html[data-theme="dark"] dl .subtotal,html[data-theme="dark"] .warning-card small{color:var(--muted)}html[data-theme="dark"] .result-load-head:hover{background:rgba(255,255,255,0.06)}html[data-theme="dark"] .result-geometry-card .result-load-summary strong{color:var(--text)}html[data-theme="dark"] .annual-energy-card .result-load-summary strong{color:var(--text)}html[data-theme="dark"] .mcs031-star-card{border-color:rgba(10,132,255,0.26);background:linear-gradient(145deg,rgba(42,43,48,0.34),rgba(8,9,11,0.12));box-shadow:var(--glass-edge),0 10px 22px rgba(0,0,0,0.18)}html[data-theme="dark"] .mcs031-star-card em{color:var(--muted)}html[data-theme="dark"] .heat-loss-result strong,html[data-theme="dark"] .heat-loss-breakdown dl .total,html[data-theme="dark"] .heat-loss-breakdown dl .total dd{color:var(--heat-loss)}html[data-theme="dark"] .heat-gain-result strong,html[data-theme="dark"] .heat-gain-breakdown dl .total,html[data-theme="dark"] .heat-gain-breakdown dl .total dd{color:var(--heat-gain)}html[data-theme="dark"] .system-label,html[data-theme="dark"] .zoom-tools strong{background:rgba(255,255,255,0.08)}html[data-theme="dark"] .warning-card{border-color:rgba(245,158,11,0.42);background:rgba(120,53,15,0.28);color:#fed7aa}html[data-theme="dark"] .bottom-tools button.active,html[data-theme="dark"] .view-tools button.active,html[data-theme="dark"] .bottom-tools .history-action{color:#dbeafe;border-color:var(--blue-border);background:linear-gradient(180deg,rgba(10,132,255,0.28),rgba(10,132,255,0.14));box-shadow:var(--glass-edge),0 8px 20px rgba(10,132,255,0.18)}html[data-theme="dark"] .bottom-tools .history-action:disabled{border-color:rgba(239,246,255,0.12);background:rgba(255,255,255,0.06);color:rgba(226,232,240,0.46)}html[data-theme="dark"] .bottom-tools .history-action:not(:disabled):hover,html[data-theme="dark"] .bottom-tools button.active:hover,html[data-theme="dark"] .view-tools button.active:hover,html[data-theme="dark"] .tool-btn.active:hover,html[data-theme="dark"] .floor-row.active:hover{color:#ffffff;border-color:rgba(64,156,255,0.72);background:linear-gradient(180deg,rgba(10,132,255,0.36),rgba(10,132,255,0.20));box-shadow:var(--glass-edge),0 10px 24px rgba(10,132,255,0.24)}.zoom-tools button{min-width:38px}.view-tools select{padding-right:22px}.pulse-results .hero-result{animation:resultPulse 320ms ease}.topbar-profile-button{height:36px;display:inline-flex;align-items:center;gap:8px;max-width:190px;padding:0 10px 0 5px;border:1px solid rgba(255,255,255,0.66);border-radius:999px;background:var(--button-glass);color:var(--text);font-size:12px;font-weight:760;box-shadow:var(--glass-edge),0 8px 20px rgba(0,0,0,0.06);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.topbar-profile-button:hover,.topbar-profile-button.active,.dashboard-top-button.active{border-color:var(--blue-border);background:var(--control-hover-bg);color:var(--blue);box-shadow:var(--control-hover-shadow)}.topbar-profile-button>span:not(.topbar-profile-chevron){min-width:0;max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-profile-chevron{color:var(--muted);font-size:10px;font-weight:900}.topbar-profile-avatar,.dashboard-profile-avatar,.account-profile-avatar{display:inline-grid;place-items:center;overflow:hidden;border:1px solid var(--blue-border);border-radius:999px;background:var(--blue-soft);color:var(--blue);font-weight:900;box-shadow:var(--glass-edge)}.topbar-profile-avatar{width:28px;height:28px;font-size:10px}.dashboard-profile-avatar{width:48px;height:48px;font-size:15px}.account-profile-avatar{width:82px;height:82px;font-size:24px}.topbar-profile-avatar img,.dashboard-profile-avatar img,.account-profile-avatar img{width:100%;height:100%;object-fit:cover}.dashboard-shell{grid-template-rows:58px minmax(0,1fr)}.dashboard-workspace{min-height:0;overflow:auto;padding:28px}.dashboard-hero{min-height:190px;display:flex;align-items:end;justify-content:space-between;gap:24px;padding:28px;border:1px solid var(--glass-border);border-radius:10px;background:linear-gradient(145deg,rgba(255,255,255,0.32),rgba(255,255,255,0.08));box-shadow:var(--shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.dashboard-hero span,.dashboard-tile-head span{color:var(--muted);font-size:11px;font-weight:850;letter-spacing:0.04em;text-transform:uppercase}.dashboard-hero h1{max-width:720px;margin:6px 0;color:var(--text);font-size:clamp(30px,4vw,52px);line-height:1.02}.dashboard-hero p,.dashboard-tile p{margin:0;color:var(--muted);font-size:14px;font-weight:650;line-height:1.45}.dashboard-start-button{height:44px;padding:0 20px;font-size:14px}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}.dashboard-tile{min-height:230px;display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--glass-border);border-radius:8px;background:var(--tile-glass-strong);box-shadow:var(--glass-edge),0 16px 36px rgba(0,0,0,0.08);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.dashboard-tile-large{grid-column:span 2}.dashboard-tile-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.dashboard-tile-head strong{color:var(--text);font-size:22px;font-weight:900;text-align:right}.dashboard-project-list{display:grid;gap:8px}.dashboard-project-row{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:var(--button-glass);color:var(--text);text-align:left;box-shadow:var(--glass-edge)}.dashboard-project-row span,.dashboard-account-row span{display:grid;gap:2px;min-width:0}.dashboard-project-row strong,.dashboard-account-row strong{overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:840}.dashboard-project-row small,.dashboard-account-row small{color:var(--muted);font-size:11px;font-weight:650}.dashboard-project-row em{color:var(--blue);font-size:11px;font-style:normal;font-weight:850}.dashboard-empty-state{padding:16px;border:1px dashed var(--line-strong);border-radius:6px;color:var(--muted);font-size:13px;font-weight:700;text-align:center}.dashboard-chip-row,.dashboard-action-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.dashboard-chip-row span{padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:var(--glass-subtle);color:var(--muted);font-size:11px;font-weight:800}.dashboard-account-row{display:flex;align-items:center;gap:12px}.dashboard-summary-list{display:grid;gap:8px;margin:0}.dashboard-summary-list div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.dashboard-summary-list dt{color:var(--muted);font-size:12px;font-weight:760}.dashboard-summary-list dd{margin:0;color:var(--text);font-size:13px;font-weight:900}.dashboard-summary-list dd.danger{color:var(--heat-loss)}.dashboard-summary-list dd.accent{color:var(--heat-gain)}.dashboard-secondary-action{width:fit-content;margin-top:auto}.account-menu-backdrop{position:fixed;z-index:16;inset:0;pointer-events:none}.account-menu-popover{position:absolute;top:70px;right:16px;width:min(900px,calc(100vw - 32px));max-height:calc(100vh - 92px);overflow:auto;padding:16px;border:1px solid var(--glass-border);border-radius:10px;background:var(--glass-strong);box-shadow:var(--shadow);pointer-events:auto;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.account-menu-head,.account-menu-actions,.product-submission-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.account-menu-head{padding-bottom:12px;border-bottom:1px solid var(--line)}.account-menu-head div,.account-section-title,.product-submission-head div{display:grid;gap:3px}.account-menu-head strong,.account-menu-section h3,.product-submission-head strong{margin:0;color:var(--text);font-size:15px;font-weight:900}.account-menu-head span,.account-section-title span,.product-submission-head span{color:var(--muted);font-size:11px;font-weight:680}.account-menu-head button{width:30px;height:30px;display:grid;place-items:center;border:1px solid transparent;border-radius:5px;color:var(--muted);font-size:20px}.account-menu-body{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;padding-top:14px}.account-profile-card{align-self:start;display:grid;justify-items:center;gap:8px;padding:16px 12px;border:1px solid var(--line);border-radius:8px;background:var(--tile-glass);text-align:center}.account-profile-card strong{max-width:100%;overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:900}.account-profile-card span,.account-profile-card em{max-width:100%;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-style:normal;font-weight:760}.account-menu-main{display:grid;gap:12px}.account-menu-section,.product-submission-panel{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--tile-glass)}.account-menu-grid,.product-submission-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.settings-field textarea{min-width:0;border:1px solid var(--line-strong);border-radius:4px;background:var(--input-glass);color:var(--text);padding:8px;font-size:12px;font-weight:640;resize:vertical;box-shadow:var(--glass-edge),0 1px 2px rgba(0,0,0,0.035);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.account-image-control{display:grid;gap:6px;align-content:end;color:#354259;font-size:11px;font-weight:680}.account-image-control>div{display:flex;gap:7px}.settings-mini-btn.disabled{pointer-events:none;opacity:0.45}.account-password-button{align-self:end;height:31px}.account-message{align-self:center;margin-left:auto;color:var(--green);font-size:11px;font-weight:760}.account-message.error{color:var(--red)}.product-library-head-actions{display:flex !important;align-items:center;gap:8px}.product-library-head-actions #toggleProductSubmissions{width:auto;padding:0 10px;font-size:11px;font-weight:850}.product-library-head-actions #toggleProductSubmissions.active{border-color:var(--blue-border);background:var(--blue-soft);color:var(--blue)}.product-submission-head em{color:var(--green);font-size:11px;font-style:normal;font-weight:800}.product-submission-form .primary-mini,.product-submission-form .settings-field.full{grid-column:1 / -1}.product-submission-list{display:grid;gap:8px}.product-submission-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--button-glass)}.product-submission-card span{display:grid;gap:2px;min-width:0}.product-submission-card strong,.product-submission-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-submission-card strong{color:var(--text);font-size:12px;font-weight:850}.product-submission-card small,.product-submission-card em{color:var(--muted);font-size:11px;font-style:normal;font-weight:720}.product-submission-card.status-approved em{color:var(--green)}.product-submission-card.status-rejected em{color:var(--red)}html[data-theme="dark"] .dashboard-hero,html[data-theme="dark"] .dashboard-tile,html[data-theme="dark"] .account-menu-popover,html[data-theme="dark"] .account-profile-card,html[data-theme="dark"] .account-menu-section,html[data-theme="dark"] .product-submission-panel,html[data-theme="dark"] .product-submission-card{border-color:rgba(239,246,255,0.16);background:linear-gradient(145deg,rgba(38,39,44,0.42),rgba(8,9,11,0.16))}html[data-theme="dark"] .account-image-control,html[data-theme="dark"] .settings-field{color:#dbe4ef}@keyframes resultPulse{0%{box-shadow:0 0 0 0 rgba(75,85,99,0.3)}100%{box-shadow:0 0 0 8px rgba(75,85,99,0)}}.dashboard-top-button.active,.topbar-profile-button.active{border-color:rgba(0,113,227,0.38);color:var(--blue);background:rgba(0,113,227,0.1)}.topbar-profile-button{display:inline-flex;align-items:center;gap:9px;height:38px;min-width:0;padding:0 10px 0 8px;border:1px solid var(--line);border-radius:12px;color:var(--text);background:var(--button-glass);box-shadow:inset 0 1px 0 rgba(255,255,255,0.45),var(--button-shadow);font-weight:800;cursor:pointer}.topbar-profile-button small{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-profile-avatar,.dashboard-profile-avatar,.account-profile-avatar{display:grid;place-items:center;overflow:hidden;border:1px solid rgba(0,113,227,0.24);border-radius:999px;background:linear-gradient(135deg,rgba(0,113,227,0.18),rgba(255,255,255,0.54));color:var(--blue);font-weight:900}.topbar-profile-avatar{width:28px;height:28px;font-size:12px}.dashboard-profile-avatar,.account-profile-avatar{width:54px;height:54px;font-size:18px}.account-profile-avatar{width:74px;height:74px;font-size:22px}.topbar-profile-avatar img,.dashboard-profile-avatar img,.account-profile-avatar img{width:100%;height:100%;object-fit:cover}.studio-shell.dashboard-shell{grid-template-rows:58px minmax(0,1fr)}.dashboard-workspace{height:100%;min-height:0;overflow:auto;padding:24px;background:radial-gradient(circle at 12% 4%,rgba(0,113,227,0.08),transparent 32%),radial-gradient(circle at 82% 16%,rgba(148,163,184,0.14),transparent 34%),linear-gradient(180deg,rgba(255,255,255,0.42),rgba(241,245,249,0.7))}.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 auto 18px;max-width:1240px;padding:24px;border:1px solid rgba(255,255,255,0.56);border-radius:22px;background:rgba(255,255,255,0.54);box-shadow:var(--tile-shadow);backdrop-filter:blur(var(--glass-blur))}.dashboard-hero span,.dashboard-tile-head span,.dashboard-summary-list dt,.product-submission-head span,.account-menu-head span,.account-section-title span{color:var(--muted);font-size:12px;font-weight:900;letter-spacing:0.05em;text-transform:uppercase}.dashboard-hero h1{margin:4px 0 6px;color:var(--text);font-size:clamp(28px,3vw,46px);line-height:1}.dashboard-hero p,.dashboard-tile p{margin:0;color:var(--muted);font-weight:700}.dashboard-start-button{min-width:180px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1240px;margin:0 auto}.dashboard-tile{display:flex;min-height:230px;flex-direction:column;gap:14px;padding:18px;border:1px solid rgba(255,255,255,0.52);border-radius:20px;background:rgba(255,255,255,0.5);box-shadow:var(--tile-shadow);backdrop-filter:blur(var(--glass-blur))}.dashboard-tile-large{grid-row:span 2}.dashboard-tile-head,.dashboard-account-row,.dashboard-action-row,.account-menu-head,.product-submission-head,.account-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-tile-head strong{color:var(--text);font-size:24px}.dashboard-project-list{display:grid;gap:8px}.dashboard-project-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px;border:1px solid var(--line);border-radius:14px;color:var(--text);background:rgba(255,255,255,0.58);text-align:left;cursor:pointer}.dashboard-project-row span,.dashboard-account-row span{display:grid;min-width:0;gap:3px}.dashboard-project-row strong,.dashboard-account-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-project-row small,.dashboard-account-row small,.dashboard-project-row em{color:var(--muted);font-style:normal;font-weight:800}.dashboard-empty-state{display:grid;min-height:84px;place-items:center;padding:16px;border:1px dashed var(--line-strong);border-radius:14px;color:var(--muted);font-weight:800;text-align:center}.dashboard-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.dashboard-chip-row span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,0.54);color:var(--muted);font-size:12px;font-weight:900}.dashboard-summary-list{display:grid;gap:8px;margin:0}.dashboard-summary-list div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,0.48)}.dashboard-summary-list dt,.dashboard-summary-list dd{margin:0}.dashboard-summary-list dd{color:var(--text);font-weight:900}.dashboard-summary-list dd.danger{color:var(--heat-loss)}.dashboard-summary-list dd.accent{color:var(--heat-gain)}.dashboard-secondary-action{margin-top:auto}.account-menu-backdrop{position:fixed;inset:0;z-index:80;pointer-events:none}.account-menu-popover{position:absolute;top:64px;right:14px;width:min(940px,calc(100vw - 28px));max-height:calc(100vh - 78px);overflow:auto;padding:18px;border:1px solid var(--glass-border);border-radius:20px;background:rgba(248,250,252,0.86);box-shadow:0 28px 80px rgba(15,23,42,0.2);backdrop-filter:blur(22px);pointer-events:auto}.account-menu-head{padding-bottom:14px;border-bottom:1px solid var(--line)}.account-menu-head strong{display:block;color:var(--text);font-size:24px}.account-menu-head button,.product-library-head-actions button#closeProductLibraryPanel{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:12px;color:var(--muted);background:var(--button-glass);cursor:pointer}.account-menu-body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;padding-top:16px}.account-profile-card,.account-menu-section,.product-submission-panel{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,0.46);box-shadow:inset 0 1px 0 rgba(255,255,255,0.48)}.account-profile-card{display:flex;align-items:center;align-self:start;flex-direction:column;gap:8px;padding:18px;text-align:center}.account-profile-card strong{color:var(--text);font-size:18px}.account-profile-card span,.account-profile-card em{color:var(--muted);font-style:normal;font-weight:800}.account-menu-main{display:grid;gap:14px}.account-menu-section{padding:16px}.account-menu-section h3{margin:0 0 12px;color:var(--text);font-size:18px}.account-menu-grid,.product-submission-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.account-menu-grid .full,.product-submission-form .full{grid-column:1 / -1}.settings-field textarea{resize:vertical;min-height:86px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--text);background:var(--input-glass);font:inherit;font-weight:700}.account-image-control{display:grid;gap:8px;align-content:start;color:var(--text);font-weight:900}.account-image-control div,.account-menu-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.settings-mini-btn.disabled{opacity:0.48;cursor:not-allowed;pointer-events:none}.account-password-button{align-self:end;min-height:42px}.account-message{color:var(--muted);font-weight:800}.account-message.error{color:var(--red)}.product-library-head-actions{display:flex;align-items:center;gap:8px}.product-library-head-actions button:not(#closeProductLibraryPanel){min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:12px;color:var(--text);background:var(--button-glass);font-weight:900;cursor:pointer}.product-library-head-actions button.active:not(#closeProductLibraryPanel){border-color:rgba(0,113,227,0.4);color:var(--blue);background:rgba(0,113,227,0.1)}.product-submission-panel{display:grid;gap:14px;margin-bottom:14px;padding:16px}.product-submission-head strong{display:block;color:var(--text);font-size:18px}.product-submission-head em{color:var(--blue);font-style:normal;font-weight:900}.product-submission-list{display:grid;gap:8px}.product-submission-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,0.48)}.product-submission-card span{display:grid;gap:3px;min-width:0}.product-submission-card strong,.product-submission-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-submission-card small,.product-submission-card em{color:var(--muted);font-style:normal;font-weight:800}.product-submission-card.status-approved em{color:#16a34a}.product-submission-card.status-rejected em{color:var(--red)}html[data-theme="dark"] .dashboard-workspace{background:radial-gradient(circle at 12% 4%,rgba(0,113,227,0.1),transparent 30%),linear-gradient(180deg,rgba(17,24,39,0.96),rgba(3,7,18,0.98))}html[data-theme="dark"] .dashboard-hero,html[data-theme="dark"] .dashboard-tile,html[data-theme="dark"] .account-menu-popover,html[data-theme="dark"] .dashboard-project-row,html[data-theme="dark"] .dashboard-chip-row span,html[data-theme="dark"] .dashboard-summary-list div,html[data-theme="dark"] .account-profile-card,html[data-theme="dark"] .account-menu-section,html[data-theme="dark"] .product-submission-panel,html[data-theme="dark"] .product-submission-card{background:rgba(17,24,39,0.72);border-color:rgba(148,163,184,0.22)}html[data-theme="dark"] .topbar-profile-avatar,html[data-theme="dark"] .dashboard-profile-avatar,html[data-theme="dark"] .account-profile-avatar{background:rgba(0,113,227,0.16)}@media (max-width:1180px){body{overflow:auto}html[data-workspace="schematic"],html[data-workspace="schematic"] body{overflow:hidden}.studio-shell{min-width:0;height:auto;min-height:100%;grid-template-rows:auto auto auto auto}.topbar,.modebar,.bottombar{flex-wrap:wrap;height:auto;min-height:58px;gap:10px;padding:10px}.workspace{grid-template-columns:190px minmax(0,1fr);grid-template-areas:"left canvas" "tools canvas" "inspector product" "pipe pipe" "results results"}.studio-shell.schematic-shell{height:100%;min-height:0;overflow:hidden;grid-template-rows:auto auto minmax(0,1fr) auto}.studio-shell.schematic-shell .workspace.schematic-workspace-shell{grid-template-areas:none;grid-template-columns:minmax(240px,292px) 92px minmax(360px,1fr);height:100%;min-height:0;overflow:hidden}.studio-shell.schematic-shell .workspace.schematic-workspace-shell.schematic-selection-open{grid-template-columns:minmax(240px,292px) 92px minmax(320px,1fr) minmax(300px,328px)}.studio-shell.schematic-shell .workspace.schematic-workspace-shell.schematic-zone-drawing{grid-template-columns:92px minmax(420px,1fr)}.studio-shell.schematic-shell .workspace.schematic-workspace-shell.schematic-zone-drawing.schematic-selection-open{grid-template-columns:92px minmax(320px,1fr) minmax(300px,328px)}.studio-shell.schematic-shell .schematic-library-panel,.studio-shell.schematic-shell .schematic-toolbox,.studio-shell.schematic-shell .schematic-stage,.studio-shell.schematic-shell .schematic-selection-panel{grid-area:auto}.left-rail{grid-area:left}.tool-palette{grid-area:tools}.canvas-stage{grid-area:canvas;min-height:650px}.inspector{grid-area:inspector}.product-panel{grid-area:product}.pipe-panel{grid-area:pipe}.results-panel{grid-area:results}.history-popover{right:18px}.brand-menu-popover,.export-popover,.product-library-popover,.account-menu-popover{inset:64px 10px 10px;width:auto;max-height:none}.brand-menu-body,.export-popover-body,.product-library-body,.account-menu-body{grid-template-columns:1fr}.brand-action-grid,.export-report-grid,.product-filter-grid,.product-result-list,.dashboard-grid,.account-menu-grid,.product-submission-form{grid-template-columns:1fr}.product-detail-panel{order:3}}@media (max-width:760px){.workspace{display:block}.left-rail,.tool-palette,.inspector,.product-panel,.results-panel{margin-bottom:10px;border:1px solid var(--glass-border);border-radius:var(--radius)}.tool-palette{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.canvas-stage{min-height:560px}.canvas-scroll{justify-content:start;padding:72px 14px 20px}.calibration-popover{left:10px;right:10px;width:auto}.floor-plan-popover{left:10px;right:10px;width:auto}.product-search-row,.product-library-title-card{grid-template-columns:1fr}.product-result-card{grid-template-columns:1fr}.product-range-list{grid-template-columns:1fr}.product-result-card .product-photo,.product-card-metrics{grid-column:1}.history-popover{left:10px;right:10px;width:auto}.floor-plan-grid{grid-template-columns:1fr}.material-card-head{grid-template-columns:1fr}.add-floor{grid-template-columns:1fr}.room-draft-panel{left:10px;right:10px;flex-wrap:wrap}}
