:root{--bg: #0c0f14;--bg-2: #11161f;--panel: #141a24;--panel-2: #1a212d;--line: #232c3a;--line-2: #2c3645;--text: #e6ecf5;--muted: #8a97a8;--z-fullscreen-backdrop: 200;--z-fullscreen-panel: 205;--z-fullscreen-close: 210;--z-overlay-card: 300;--z-modal: 320;--z-toast: 1000;--accent: var(--accent-lg);--accent-2: var(--accent-lg);--danger: #f56565;--status-0: #8a93a0;--status-1: #6fb1ff;--status-2: #f2a74d;--status-3: #7fc2f0;--status-4: #9a8cf0;--status-5: #e0c05a;--status-6: #43c98a;--status-7: #2bb8c4;--radius: 10px;--space-1: 2px;--space-2: 4px;--space-3: 8px;--space-4: 12px;--space-5: 16px;--space-6: 24px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-pill: 999px;--fs-xs: 10px;--fs-sm: 11px;--fs-md: 12px;--fs-lg: 14px;--ctrl-sm: 28px;--ctrl-md: 34px;--elev-1: 0 4px 12px rgba(0, 0, 0, .35);--elev-2: 0 8px 24px rgba(0, 0, 0, .4);--elev-3: 0 12px 40px rgba(0, 0, 0, .5);--focus-ring: 0 0 0 2px var(--accent-2);--btn-bg: var(--panel-2);--btn-bg-hover: var(--panel-2);--btn-border: var(--line-2);--btn-border-hover: var(--accent-2);--selected-bg: rgba(59, 130, 246, .16);--selected-border: var(--accent-2);--danger-bg: #2a1620;--danger-border: #5a2530;--danger-fg: #ff9aa6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}:root{--accent-lg: #6366f1;--num-font: "SF Pro Rounded", system-ui, -apple-system, sans-serif;--lg-radius: 10px;--lg-radius-lg: 12px;--lg-radius-card: 16px;--r-ctl: 7px;--r-frame: calc(var(--r-ctl) + 3px);--float-w: 440px;--accent-soft: color-mix(in srgb, var(--accent-lg) 15%, transparent);--accent-border: color-mix(in srgb, var(--accent-lg) 24%, transparent);--accent-ring: 0 0 0 3px color-mix(in srgb, var(--accent-lg) 22%, transparent);--accent-glow: 0 10px 24px -8px color-mix(in srgb, var(--accent-lg) 70%, transparent)}[data-theme=dark]{--glass: rgba(38, 46, 64, .42);--glass-edge: rgba(255, 255, 255, .14);--glass-hl: rgba(255, 255, 255, .22);--glass-lo: rgba(0, 0, 0, .5);--glass-shadow: 0 12px 34px -12px rgba(0, 0, 0, .66);--glass-b: 1.12;--sheen: rgba(255, 255, 255, .16);--sheen-2: rgba(255, 255, 255, .04);--lg-text: #eaf0f8;--lg-muted: #8a97ab;--lg-hover: rgba(255, 255, 255, .08);--lg-page: #0a0c11;--lg-field: rgba(255, 255, 255, .06);--lg-field-border: rgba(255, 255, 255, .16);--lg-dot: rgba(255, 255, 255, .05);--stage-1: #10151d;--stage-2: #0a0d12}[data-theme=light]{--glass: rgba(255, 255, 255, .44);--glass-edge: rgba(255, 255, 255, .65);--glass-hl: rgba(255, 255, 255, .95);--glass-lo: rgba(20, 40, 80, .22);--glass-shadow: 0 10px 30px -10px rgba(20, 40, 80, .3);--glass-b: 1.06;--sheen: rgba(255, 255, 255, .55);--sheen-2: rgba(255, 255, 255, .14);--lg-text: #16233a;--lg-muted: #4d5c72;--lg-hover: rgba(20, 40, 80, .07);--lg-page: #e9edf2;--lg-field: #ffffff;--lg-field-border: rgba(22, 40, 70, .18);--lg-dot: rgba(22, 40, 70, .08);--stage-1: #eef2f7;--stage-2: #dbe3ec;--bg: #e2e9f1}.lg{position:relative;background:var(--glass);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-hl),inset 0 -10px 22px -16px var(--glass-lo);backdrop-filter:blur(18px) saturate(180%) brightness(var(--glass-b));-webkit-backdrop-filter:blur(18px) saturate(180%) brightness(var(--glass-b));color:var(--lg-text)}.lg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(133deg,var(--sheen) 0%,transparent 34%,transparent 66%,var(--sheen-2) 100%);opacity:.9}.lg-field{display:flex;flex-direction:column;gap:6px}.lg-label{font-size:11px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;color:var(--lg-muted)}.lg-input{width:100%;background:var(--lg-field);color:var(--lg-text);border:1px solid var(--lg-field-border);border-radius:var(--lg-radius);padding:11px 13px;font:inherit;font-size:14px;outline:none;transition:border-color .16s,box-shadow .16s}.lg-input::placeholder{color:var(--lg-muted)}.lg-input:focus{border-color:var(--accent-lg);box-shadow:var(--accent-ring)}.lg-btn{border:1px solid var(--glass-edge);background:transparent;color:var(--lg-text);border-radius:var(--lg-radius);padding:11px 16px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:filter .16s,transform .08s,background .16s}.lg-btn:hover{background:var(--lg-hover)}.lg-btn:active{transform:translateY(1px)}.lg-btn:disabled{opacity:.6;cursor:default}.lg-btn--primary{border-color:transparent;background:var(--accent-lg);color:#fff;box-shadow:var(--accent-glow)}.lg-btn--primary:hover{background:var(--accent-lg);filter:brightness(1.06)}.lg-icon-btn{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;cursor:pointer;color:var(--lg-text)}.lg-icon-btn:hover{color:var(--accent-lg)}.lg-dots-bg{background-color:var(--lg-page);background-image:radial-gradient(circle,var(--lg-dot) 1.2px,transparent 1.4px);background-size:24px 24px}*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{width:0;height:0;display:none}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--lg-text);overflow:hidden;overscroll-behavior:contain}button{font-family:inherit;color:inherit;cursor:pointer}input,select{font-family:inherit}#root{-webkit-user-select:none;user-select:none}input,textarea,select,[contenteditable=true]{-webkit-user-select:text;user-select:text}.app{display:flex;flex-direction:column;height:100vh}.topbar{display:flex;align-items:center;gap:12px;height:52px;padding:0 14px;background:linear-gradient(180deg,#151c27,#10151d);border-bottom:1px solid var(--line);flex-shrink:0}.brand{font-weight:800;letter-spacing:.5px;font-size:15px;color:var(--accent)}.name-input{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text);padding:7px 11px;width:220px;font-size:13px;outline:none}.name-input:focus{border-color:var(--accent-2)}.spacer{flex:1}.seg{display:flex;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-md);padding:3px;gap:3px}.seg__btn,.seg-btn,.co-seg-btn{border:none;background:transparent;color:var(--lg-muted);padding:6px 14px;border-radius:var(--radius-sm);font-size:var(--fs-md);font-weight:600}.seg__btn:hover,.seg-btn:hover,.co-seg-btn:hover{color:var(--text)}.seg__btn.active,.seg__btn.is-active,.seg-btn.active,.co-seg-btn.active{background:var(--accent-2);color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--text);padding:7px 12px;border-radius:var(--radius-md);font-size:var(--fs-md);font-weight:600}.btn svg,.icon-btn svg,.co-icon-btn svg,.co-menu-item svg,.menu-item svg,.floor-grip svg,.zoom-btn svg,.type-caret svg,.panel-caret svg{display:block;flex-shrink:0}.co-menu-item{align-items:center}.btn:hover{border-color:var(--btn-border-hover)}.btn--secondary{background:var(--btn-bg);border-color:var(--btn-border);color:var(--text)}.btn--primary{background:var(--accent-2);border-color:var(--accent-2);color:#fff}.btn--primary:hover{background:var(--accent);border-color:var(--accent)}.btn--ghost,.btn.ghost{background:transparent;color:inherit}.btn--danger,.btn.danger{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-fg)}.btn--danger:hover,.btn.danger:hover{border-color:var(--danger)}.btn--sm,.btn.tiny{min-height:var(--ctrl-sm);padding:4px 9px;font-size:var(--fs-sm)}.btn--md{min-height:var(--ctrl-md);padding:7px 12px}.btn--block,.btn.full{width:100%}.btn--icon{padding:0;aspect-ratio:1 / 1;min-width:var(--ctrl-md);min-height:var(--ctrl-md)}.btn--icon.btn--sm{min-width:var(--ctrl-sm);min-height:var(--ctrl-sm)}.btn.is-active,.btn.active,.btn[aria-pressed=true]{background:var(--selected-bg);border-color:var(--selected-border)}.body{display:flex;flex:1;min-height:0}.toolbar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:6;display:flex;flex-direction:row;align-items:stretch;justify-content:center;gap:3px;padding:6px;width:max-content;box-sizing:border-box;background:color-mix(in srgb,var(--lg-page) 70%,var(--glass));border:1px solid var(--glass-edge);border-radius:var(--r-frame);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-hl);backdrop-filter:blur(20px) saturate(180%) brightness(var(--glass-b));-webkit-backdrop-filter:blur(20px) saturate(180%) brightness(var(--glass-b));color:var(--lg-text)}.toolbar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,var(--sheen) 0%,transparent 22%,transparent 78%,var(--sheen-2) 100%);opacity:.9}.tool{position:relative;z-index:1;display:grid;place-items:center;width:66px;height:40px;padding:0;border:1px solid transparent;background:transparent;border-radius:var(--r-ctl);color:var(--lg-muted)}.tool .tool-label{text-align:center;line-height:1.1}.tool:hover{background:var(--lg-hover);color:var(--lg-text)}.tool.active{background:var(--accent-soft);border-color:transparent;color:var(--accent-lg)}.tool:disabled{opacity:.35;cursor:not-allowed}.tool-icon{font-size:18px;line-height:1}.tool-label{font-size:10.5px;font-weight:600}.tool-sep{width:1px;align-self:stretch;background:var(--glass-edge);margin:2px 3px}.tool-group{position:relative;display:flex;align-items:stretch;gap:1px}.tool-caret{align-self:stretch;width:18px;padding:0;display:grid;place-items:center;border:none;background:transparent;border-radius:var(--r-ctl);color:var(--lg-muted);cursor:pointer}.tool-caret:hover,.tool-caret.is-open{background:var(--lg-hover);color:var(--lg-text)}.tool-menu{position:absolute;bottom:calc(100% + 8px);left:0;min-width:196px;padding:5px;display:flex;flex-direction:column;gap:2px;background:color-mix(in srgb,var(--lg-page) 66%,var(--glass));border:1px solid var(--glass-edge);border-radius:var(--r-frame);box-shadow:var(--glass-shadow);backdrop-filter:blur(26px) saturate(180%) brightness(var(--glass-b));-webkit-backdrop-filter:blur(26px) saturate(180%) brightness(var(--glass-b));z-index:20;pointer-events:auto}.obj-flyout{width:300px;max-height:62vh;padding:8px;overflow:hidden}.obj-flyout--float{z-index:50;max-width:calc(100vw - 16px)}.obj-palette{display:flex;flex-direction:column;gap:8px;min-height:0;max-height:calc(62vh - 16px)}.obj-flyout--with-menu .obj-palette{flex:1 1 auto;max-height:none}.tool-menu-sep{flex:none;height:1px;margin:4px 2px;background:var(--lg-field-border)}.obj-search{width:100%;box-sizing:border-box;padding:8px 10px;border-radius:var(--r-ctl);border:1px solid var(--lg-field-border);background:var(--lg-field);color:var(--lg-text);font:inherit;font-size:13px;outline:none}.obj-search:focus{border-color:var(--accent-lg)}.obj-search::placeholder{color:var(--lg-muted)}.obj-list{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.tool-menu-item{display:flex;align-items:center;gap:10px;padding:7px 9px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--lg-text);font-size:12.5px;text-align:left;cursor:pointer}.tool-menu-item:hover{background:var(--lg-hover)}.tool-menu-item.active{background:var(--accent-soft);color:var(--accent-lg)}.tool-menu-item:disabled{opacity:.4;cursor:not-allowed}.tool-menu-ic{display:inline-flex;align-items:center;width:18px;flex:none}.tool-menu-label{flex:1}.tool-menu-key{flex:none;min-width:18px;padding:1px 6px;border-radius:5px;background:var(--lg-hover);color:var(--lg-muted);font-family:var(--num-font, inherit);font-size:10.5px;font-weight:700;text-align:center}.tool-readonly{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border-radius:8px;color:var(--muted);background:color-mix(in srgb,var(--accent) 12%,transparent);cursor:default;-webkit-user-select:none;user-select:none}.grid-select{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;color:var(--muted);margin-top:4px}.grid-select select{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);padding:4px;font-size:11px}.stage-area{flex:1;min-width:0;position:relative;background:radial-gradient(circle at 50% 40%,var(--stage-1),var(--stage-2));overscroll-behavior:contain}.view-pane{position:absolute;top:0;right:0;bottom:0;left:0}.rightbar{width:300px;background:var(--panel);border-left:1px solid var(--line);padding:14px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;flex-shrink:0}.rightbar--glass{background:transparent;border-left-color:transparent}.rightbar-head{display:flex;align-items:center;justify-content:flex-end;margin-bottom:-4px}.rightbar-head .fp-icon-btn{color:var(--muted)}.panel{background:var(--bg-2);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--fs-md);font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#aeb9c8;margin-bottom:10px}.panel-sub{font-size:9.5px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--muted)}.stat-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-md);padding:5px 0;border-bottom:1px dashed var(--line);color:var(--muted)}.stat-row b{color:var(--text)}.muted{color:var(--muted);font-size:11.5px;margin:10px 0 0;line-height:1.5}.linklike{background:none;border:0;padding:0;font:inherit;color:var(--accent);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.linklike:hover:not(:disabled){opacity:.8}.linklike:disabled{opacity:.5;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:10px;font-size:11.5px;color:var(--muted)}.field input{background:var(--panel);border:1px solid var(--line);border-radius:7px;color:var(--text);padding:7px 9px;font-size:13px;outline:none}.field input:focus{border-color:var(--accent-2)}.field select{background:var(--panel);border:1px solid var(--line);border-radius:7px;color:var(--text);padding:7px 9px;font-size:13px;outline:none}.field select:focus{border-color:var(--accent-2)}.fo-panel .field{color:var(--lg-muted)}.fo-panel .field input,.fo-panel .field select{background:var(--lg-field);color:var(--lg-text);border-color:var(--lg-field-border)}.fo-panel .field input:focus,.fo-panel .field select:focus{border-color:var(--accent-lg)}.catalog{display:flex;flex-direction:column;gap:12px}.catalog-cat{font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.swatches{display:grid;grid-template-columns:1fr;gap:6px}.list-row,.swatch{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-md);padding:6px 8px;text-align:left}.list-row:hover,.swatch:hover{border-color:var(--line-2)}.list-row.is-active,.list-row.active,.swatch.active{border-color:var(--selected-border);background:var(--selected-bg)}.swatch-color{width:14px;height:14px;border-radius:4px;flex-shrink:0;box-shadow:0 0 0 1px #00000059 inset}.swatch-name{font-size:11px;line-height:1.15;color:var(--text)}.obj-palette .swatch{background:var(--lg-field);border-color:var(--lg-field-border)}.obj-palette .swatch:hover{border-color:var(--accent-border)}.obj-palette .swatch.active{background:var(--selected-bg);border-color:var(--selected-border)}.obj-palette .swatch-name{color:var(--lg-text)}.floors{display:flex;flex-direction:column;gap:6px}.floor-row{display:flex;align-items:center;gap:9px;padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.floor-row:hover{border-color:var(--line-2)}.floor-row.active{border-color:var(--accent);background:#16202e}.floor-level{width:26px;height:26px;display:grid;place-items:center;background:var(--panel-2);border-radius:7px;font-weight:700;font-size:var(--fs-md);color:var(--accent);flex-shrink:0}.floor-meta{flex:1;min-width:0}.floor-name{font-size:var(--fs-md);font-weight:600}.floor-info{font-size:10.5px;color:var(--muted)}.floor-h{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--muted)}.floor-h input{width:44px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);padding:4px 5px;font-size:11.5px}.floor-actions{display:flex;gap:3px}.icon-btn{width:24px;height:24px;border:1px solid var(--line);background:var(--panel-2);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--fs-md);display:grid;place-items:center}.icon-btn:hover{color:var(--text);border-color:var(--line-2)}.icon-btn.danger:hover{color:var(--danger);border-color:var(--danger)}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.btn--icon{display:inline-flex;align-items:center;justify-content:center}.btn--icon.btn--danger,.users-del-btn{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-fg)}.btn--icon.btn--danger:hover,.users-del-btn:hover:not(:disabled){border-color:var(--danger);color:var(--danger-fg)}.stage-ctrls{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-end;gap:8px}.stage-ctrls .zoom-ctrls{position:static;transform:none}.walk-crosshair{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#fffffff2;box-shadow:0 0 0 1.5px #101620bf,0 0 3px 1px #10162059;pointer-events:none;z-index:5}.zoom-ctrls{position:absolute;right:14px;top:50%;bottom:auto;transform:translateY(-50%);display:flex;flex-direction:column;background:var(--glass);border:1px solid var(--glass-edge);border-radius:999px;overflow:hidden;box-shadow:var(--glass-shadow);backdrop-filter:blur(18px) saturate(180%) brightness(var(--glass-b));-webkit-backdrop-filter:blur(18px) saturate(180%) brightness(var(--glass-b));color:var(--lg-text)}.zoom-ctrls:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:1;background:linear-gradient(133deg,var(--sheen) 0%,transparent 40%,transparent 60%,var(--sheen-2) 100%);opacity:.9}.zoom-btn{position:relative;z-index:2;width:34px;height:var(--ctrl-md);display:grid;place-items:center;background:transparent;border:none;line-height:1;color:var(--lg-text);cursor:pointer}.zoom-btn+.zoom-btn{border-top:1px solid var(--glass-edge)}.zoom-btn:hover{background:var(--lg-hover);color:var(--accent-lg)}.weather-ctrl{position:relative;display:flex}.weather-btn.zoom-btn{width:36px;height:36px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);backdrop-filter:blur(18px) saturate(180%) brightness(var(--glass-b));-webkit-backdrop-filter:blur(18px) saturate(180%) brightness(var(--glass-b))}.weather-btn.zoom-btn:hover{background:var(--lg-hover)}.weather-menu{top:50%;right:calc(100% + 8px);transform:translateY(-50%);max-height:min(70vh,520px);overflow-y:auto}.floor-level--edit{width:34px;border:1px solid var(--line);background:var(--panel-2);color:var(--accent);text-align:center;font-weight:700;font-size:var(--fs-md);padding:0;outline:none;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.floor-level--edit::-webkit-outer-spin-button,.floor-level--edit::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.floor-level--edit:focus{border-color:var(--accent-2)}.hint{position:absolute;bottom:88px;left:50%;transform:translate(-50%);background:#141a24eb;border:1px solid var(--line-2);border-radius:var(--radius-md);padding:7px 14px;font-size:11.5px;color:#c4cedb;pointer-events:none;white-space:nowrap}.scene-hint{position:absolute;top:58px;left:16px;right:16px;margin-inline:auto;width:fit-content;max-width:420px;box-sizing:border-box;text-align:center;background:#141a24eb;border:1px solid var(--line-2);border-radius:var(--radius-md);padding:7px 14px;font-size:11.5px;line-height:1.35;color:#c4cedb;pointer-events:none;z-index:8}@media (max-width: 1024px){.scene-hint{top:calc(112px + env(safe-area-inset-top))}}.view3d-actions{position:absolute;top:60px;right:14px;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:60%}.view3d-toggles{position:absolute;top:60px;left:14px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.furniture-toggle{display:flex;align-items:center;gap:8px;background:#141a24eb;border:1px solid var(--line-2);border-radius:var(--radius-md);padding:7px 12px;font-size:var(--fs-md);color:#c4cedb;cursor:pointer}.furniture-toggle input{accent-color:var(--accent-2)}.view3d-panel{position:absolute;top:108px;right:14px;width:230px;background:#141a24f0;border:1px solid var(--line-2);border-radius:var(--radius-lg);padding:12px;display:flex;flex-direction:column;gap:9px}.underlay-name{font-size:11.5px;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:6px 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0;font-size:var(--fs-md);color:var(--muted)}.slider-row{display:flex;flex-direction:column;gap:5px;font-size:11.5px;color:var(--muted);margin-bottom:8px}.slider-row input[type=range]{width:100%;accent-color:var(--accent-2)}.slider-ctl{display:flex;align-items:center;gap:6px}.slider-ctl input[type=range]{flex:1 1 auto;width:auto;min-width:0}.slider-step{flex:0 0 auto;display:grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid var(--line);background:var(--panel-2);color:var(--muted);border-radius:var(--radius-sm);cursor:pointer}.slider-step:hover:not(:disabled){color:var(--text);border-color:var(--line-2)}.slider-step:active:not(:disabled){transform:translateY(1px)}.slider-step:disabled{opacity:.4;cursor:default}.sel-popover .slider-step{border-color:var(--lg-field-border);background:var(--lg-field);color:var(--lg-muted)}.sel-popover .slider-step:hover:not(:disabled){color:var(--lg-text)}.check-row{display:flex;align-items:center;gap:8px;font-size:var(--fs-md);color:var(--text);margin-bottom:6px;cursor:pointer}.check-row input{accent-color:var(--accent-2)}.xyz{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.xyz .field{margin-bottom:6px;min-width:0}.xyz .field input{padding:6px;font-size:var(--fs-md);width:100%;min-width:0;box-sizing:border-box}.asset-edit{background:var(--panel);border:1px solid var(--line);border-radius:9px;color:var(--text);padding:10px;margin-bottom:12px}.tpl-block{margin:12px 0;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:9px;color:var(--text)}.tpl-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:var(--fs-md);font-weight:600;margin-bottom:8px}.tpl-btns{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sel-popover .tpl-btns{grid-template-columns:1fr}.tpl-source-badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;color:var(--muted);background:var(--bg-2);border:1px solid var(--line-2)}.facilities{width:280px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.facilities.collapsed{width:40px;align-items:center;padding-top:8px}.fac-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 6px}.fac-title{font-weight:600;font-size:13px;letter-spacing:.02em}.fac-collapse{background:transparent;border:1px solid var(--line);border-radius:7px;color:var(--muted);width:24px;height:24px}.fac-stats{padding:0 12px 8px;font-size:11px;color:var(--muted)}.fac-search,.fac-party,.fac-okrug{margin:0 12px 8px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text);padding:7px 9px;font-size:var(--fs-md)}.fac-filters{display:flex;gap:8px;margin:0 12px 8px}.fac-filters .fac-party,.fac-filters .fac-okrug{flex:1;min-width:0;margin:0}.fac-list{flex:1;overflow-y:auto;padding:0 8px;min-height:0}.fac-row{display:flex;align-items:flex-start;gap:6px;padding:8px;border-radius:var(--radius-md);border:1px solid transparent;margin-bottom:3px}.fac-row:hover{background:var(--panel-2)}.fac-row.active{background:var(--panel-2);border-color:var(--accent-2)}.fac-row-main{flex:1;min-width:0}.fac-name{font-size:var(--fs-md);font-weight:500;line-height:1.25}.fac-addr{font-size:11px;color:var(--muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fac-bmeta{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px}.fac-tag{font-size:10px;line-height:1.4;border-radius:5px;padding:1px 5px;border:1px solid var(--line);background:var(--bg-2);color:var(--muted);white-space:nowrap}.fac-tag.okrug{color:var(--accent);border-color:var(--line-2)}.fac-tag.type,.fac-tag.floors{color:var(--text)}.fac-tag.two-pol{color:#e0b34d;border-color:#5a4a2f}.fac-tag.cont.adult{color:#7bb3d3;border-color:#2f4a5a}.fac-tag.cont.child{color:#d37bb3;border-color:#5a2f4a}.fac-meta{display:flex;align-items:center;gap:6px;margin-top:4px}.fac-badge{font-size:10.5px;border-radius:var(--radius-sm);padding:2px 6px;border:1px solid var(--line);background:var(--bg-2)}.fac-badge.yes{color:#7bd389;border-color:#2f5a3a}.fac-badge.no{color:var(--muted)}.fac-progress{font-size:10.5px;color:var(--accent)}.fac-del{background:transparent;border:none;color:var(--muted);font-size:16px;line-height:1;padding:2px 4px}.fac-del:hover{color:var(--danger)}.fac-empty{padding:16px 12px;font-size:var(--fs-md);color:var(--muted);text-align:center}.fac-add{margin:8px 12px 12px}.auth-gate{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;color:var(--lg-text);font-size:14px;overflow:hidden}.auth-gate:before{content:"";position:absolute;top:-25%;right:-25%;bottom:-25%;left:-25%;z-index:0;pointer-events:none;background:radial-gradient(38% 38% at 26% 24%,color-mix(in srgb,var(--accent-lg) 42%,transparent),transparent 62%),radial-gradient(34% 34% at 76% 72%,color-mix(in srgb,var(--accent-lg) 30%,transparent),transparent 62%);filter:blur(28px);animation:auth-drift 24s ease-in-out infinite alternate}@keyframes auth-drift{0%{transform:translate3d(-3%,-2%,0) scale(1)}to{transform:translate3d(4%,3%,0) scale(1.12)}}@media (prefers-reduced-motion: reduce){.auth-gate:before{animation:none}}.auth-card{position:relative;z-index:1;width:360px;max-width:92vw;display:flex;flex-direction:column;gap:16px;padding:32px 28px;border-radius:var(--lg-radius-card)}.auth-brand{margin-bottom:6px;font-weight:650;font-size:20px;letter-spacing:-.01em;color:var(--lg-text);text-align:center}.auth-card>.lg-btn{margin-top:6px}.auth-theme{position:absolute;top:20px;right:20px;z-index:2}.auth-error{color:#f2555f;font-size:12.5px;text-align:center}.admin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay-card);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--lg-page) 68%,transparent);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);animation:cs-fade .2s ease}.admin-card{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 64px);overflow:auto;background:color-mix(in srgb,var(--lg-page) 84%,var(--glass));border:1px solid var(--glass-edge);border-radius:var(--lg-radius-card);box-shadow:var(--glass-shadow);backdrop-filter:blur(26px) saturate(180%) brightness(var(--glass-b));-webkit-backdrop-filter:blur(26px) saturate(180%) brightness(var(--glass-b));color:var(--lg-text);padding:18px;display:flex;flex-direction:column;gap:14px;animation:admin-pop .16s ease}@keyframes admin-pop{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.admin-overlay,.admin-card{animation:none}}.admin-head{display:flex;align-items:center;justify-content:space-between}.admin-head h2{margin:0;font-size:16px;color:var(--lg-text)}.admin-list{display:flex;flex-direction:column;gap:6px}.admin-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-2);border:1px solid var(--line);color:var(--text);border-radius:var(--radius-md)}.admin-email{flex:1;color:var(--text);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-badge{font-size:11px;color:var(--accent);border:1px solid var(--line-2, var(--line));border-radius:999px;padding:1px 8px}.admin-date{font-size:var(--fs-md);color:var(--muted)}.admin-empty{color:var(--muted);font-size:13px;padding:8px 2px}.admin-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:14px}.admin-form input[type=email],.admin-form input[type=password]{flex:1 1 160px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text);padding:8px 10px;font-size:13px}.admin-form input:focus{outline:none;border-color:var(--accent-2)}.admin-check{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.admin-form .auth-error{flex-basis:100%}.fo-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-fullscreen-backdrop);background:color-mix(in srgb,var(--lg-page) 68%,transparent);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);animation:cs-fade .2s ease}.fo-close.co-pill{position:fixed;top:14px;right:16px;z-index:var(--z-fullscreen-close)}.fo-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:var(--z-fullscreen-panel);width:min(980px,94vw);height:min(760px,calc(100vh - 96px));display:flex;flex-direction:column;overflow:hidden;background:color-mix(in srgb,var(--lg-page) 66%,var(--glass));border:1px solid var(--glass-edge);border-radius:var(--lg-radius-card);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-hl);backdrop-filter:blur(28px) saturate(185%) brightness(var(--glass-b));-webkit-backdrop-filter:blur(28px) saturate(185%) brightness(var(--glass-b));color:var(--lg-text);animation:fo-rise .22s ease}@keyframes fo-rise{0%{opacity:0;transform:translate(-50%,calc(-50% + 8px))}to{opacity:1;transform:translate(-50%,-50%)}}@media (prefers-reduced-motion: reduce){.fo-backdrop,.fo-panel{animation:none}}.fo-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--glass-edge)}.fo-title{font-size:16px;font-weight:700}.fo-head-actions{display:flex;align-items:center;gap:12px}.fo-head .users-add-btn{padding:8px 13px;font-size:13px;display:inline-flex;align-items:center;gap:6px;margin-right:44px}.fo-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.fo-panel.fo-panel--fit{height:auto;max-height:min(760px,calc(100vh - 96px))}.fo-panel--fit .fo-body{overflow-y:auto;padding:6px 22px 20px}.dim-settings{display:flex;flex-direction:column;gap:22px}.dim-settings .panel-title{margin-bottom:10px}.dim-field-row{display:flex;align-items:stretch;gap:6px}.dim-field-row>input{flex:1;min-width:0}.dim-distribute{width:32px;height:auto;flex-shrink:0}.appearance{display:flex;flex-direction:column;gap:18px;padding:10px 20px 18px}.appearance-group{display:flex;flex-direction:column;gap:10px}.appearance-theme{width:100%}.appearance-theme .seg__btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px}.accent-swatches{display:flex;flex-wrap:wrap;gap:12px}.accent-swatch{width:30px;height:30px;border-radius:50%;border:2px solid transparent;box-shadow:0 0 0 1px var(--glass-edge) inset;cursor:pointer;padding:0;position:relative;transition:transform .12s ease,box-shadow .12s ease}.accent-swatch:hover{transform:scale(1.08)}.accent-swatch.is-active{border-color:var(--lg-page);box-shadow:0 0 0 2px var(--lg-text)}.accent-swatch--custom{overflow:hidden;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.accent-swatch--custom input[type=color]{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;width:calc(100% + 8px);height:calc(100% + 8px);opacity:0;cursor:pointer;border:none;padding:0;background:transparent}.users-count{font-size:13px;color:var(--lg-muted)}.manage-body{flex:1 1 auto;min-height:0;display:flex;align-items:stretch}.manage-tabs{flex:0 0 auto;width:220px;display:flex;flex-direction:column;gap:4px;padding:14px 12px;border-right:1px solid var(--glass-edge);overflow-y:auto}.manage-tabs>.manage-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;padding:9px 12px;border:1px solid transparent;border-radius:var(--r-ctl);background:transparent;color:var(--lg-muted);font-size:14px;cursor:pointer;transition:background .15s,color .15s}.manage-tabs>.manage-tab:hover{background:var(--lg-hover);color:var(--lg-text)}.manage-tabs>.manage-tab.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent-lg) 40%,transparent);color:var(--lg-text)}.manage-content{flex:1 1 auto;min-width:0;overflow:auto;padding:18px 20px}.manage-content>.manage-tab{display:flex;flex-direction:column;gap:14px}.manage-tab-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.manage-tab-title{margin:0;font-size:16px;color:var(--lg-text)}.manage-tab-sub{margin:4px 0 0;font-size:13px;color:var(--lg-muted);max-width:620px}.manage-tab-actions{display:flex;align-items:center;gap:8px}.manage-tab-actions>.btn:not(.ghost):not(.danger){border-color:transparent;background:var(--accent-lg);color:#fff}.manage-tab-actions>.btn:not(.ghost):not(.danger):hover{filter:brightness(1.08)}.manage-table{width:100%;border-collapse:collapse;font-size:13px}.manage-table th,.manage-table td{padding:8px 10px;border-bottom:1px solid var(--glass-edge);text-align:left;vertical-align:middle}.manage-table th{color:var(--lg-muted);font-weight:500}.stats-scroll{overflow-x:auto;margin:0 -2px}.stats-table{min-width:780px}.stats-table .stats-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.stats-table th.stats-num{vertical-align:bottom;line-height:1.2}.stats-dot{display:block;height:3px;border-radius:2px;margin-bottom:5px}.stats-table .stats-who{text-align:left;white-space:normal;width:210px;min-width:210px}.stats-who b{display:block;font-weight:600;overflow-wrap:anywhere}.stats-role{display:block;color:var(--lg-muted);font-size:11.5px}.stats-cell-btn{border:none;background:none;padding:0;font:inherit;font-variant-numeric:tabular-nums;color:var(--lg-text);cursor:pointer;border-bottom:1px dashed var(--lg-field-border)}.stats-cell-btn:hover{color:var(--accent-lg);border-bottom-color:var(--accent-lg)}.stats-zero{color:var(--lg-muted)}.stats-table .stats-ret{border-left:1px solid var(--glass-edge);color:var(--status-2)}.stats-table tfoot td{border-bottom:none;border-top:1px solid var(--glass-edge);color:var(--lg-muted)}.stats-table tfoot tr:last-child td{color:var(--lg-text);font-weight:600}.stats-aux .stats-who{font-style:italic}.stats-cell-list{display:flex;flex-direction:column;gap:2px;max-height:46vh;overflow-y:auto;text-align:left}.stats-cell-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:5px 2px;border-bottom:1px solid var(--glass-edge);font-size:13px}.stats-cell-name{min-width:0}.stats-cell-addr{display:block;color:var(--lg-muted);font-size:11.5px}.stats-cell-meta{display:flex;gap:8px;flex:none;color:var(--lg-muted);font-size:11.5px;font-variant-numeric:tabular-nums}.manage-input{width:100%;box-sizing:border-box;padding:7px 9px;background:var(--lg-field);border:1px solid var(--lg-field-border);border-radius:var(--r-ctl);color:var(--lg-text);font-size:13px;outline:none}.manage-input:focus{border-color:var(--accent-lg);box-shadow:var(--accent-ring)}.manage-color{width:40px;height:30px;padding:0;border:1px solid var(--lg-field-border);border-radius:var(--r-ctl);background:var(--lg-field);cursor:pointer}.manage-hint{font-size:13px;color:var(--lg-muted)}@media (max-width: 720px){.manage-body{flex-direction:column}.manage-tabs{width:auto;flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid var(--glass-edge)}}.users-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--glass-edge);flex:0 0 auto}.users-search{display:flex;align-items:center;gap:7px;flex:1 1 240px;max-width:360px;padding:8px 11px;border-radius:var(--r-ctl);border:1px solid var(--lg-field-border);background:var(--lg-field);color:var(--lg-muted)}.users-search:focus-within{border-color:var(--accent-lg);box-shadow:var(--accent-ring)}.users-search input{flex:1;min-width:0;border:none;background:transparent;color:var(--lg-text);font-size:13px;outline:none}.users-select{padding:8px 10px;border-radius:var(--r-ctl);border:1px solid var(--lg-field-border);background:var(--lg-field);color:var(--lg-text);font-size:13px;outline:none}.users-select:focus{border-color:var(--accent-lg);box-shadow:var(--accent-ring)}.users-table-wrap{flex:1 1 auto;min-height:0;overflow:auto;padding:0 20px 24px}.users-table{width:100%;border-collapse:collapse;font-size:13px}.users-table th{position:sticky;top:0;z-index:1;text-align:left;padding:10px 12px;background:color-mix(in srgb,var(--lg-page) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--lg-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--glass-edge);white-space:nowrap}.users-table td{padding:9px 12px;border-bottom:1px solid var(--glass-edge);color:var(--lg-text);vertical-align:middle}.users-table tbody tr:hover td{background:var(--lg-hover)}.users-th-actions{text-align:right}.users-email{font-weight:600;white-space:nowrap}.users-you{display:inline-block;margin-left:8px;vertical-align:middle;font-size:10.5px;color:var(--accent-lg);border:1px solid var(--accent-soft);border-radius:999px;padding:0 6px;line-height:15px;text-transform:uppercase;letter-spacing:.03em}.users-del-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid transparent;background:transparent;color:var(--lg-muted);border-radius:var(--r-ctl);cursor:pointer;flex:0 0 auto;transition:background .15s,color .15s}.users-del-btn:hover:not(:disabled){color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.users-del-btn:disabled{opacity:.4;cursor:not-allowed}.users-fac{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-dim{color:var(--lg-muted)}.users-row-actions{display:flex;gap:6px;justify-content:flex-end}.users-reveal td{background:var(--accent-soft)}.users-reveal-box{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px}.users-reveal-box code{-webkit-user-select:all;user-select:all;color:var(--lg-text);font-weight:700;background:color-mix(in srgb,var(--lg-page) 60%,transparent);padding:2px 8px;border-radius:6px}.admin-badge[data-role=admin]{color:var(--accent-lg);border-color:var(--accent-soft)}.admin-badge[data-role=editor]{color:var(--status-2);border-color:var(--status-2)}.admin-badge[data-role=approver]{color:var(--status-4);border-color:var(--status-4)}.admin-badge[data-role=executor]{color:var(--muted)}.admin-badge[data-role=viewer]{color:var(--lg-muted)}.users-chips{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 10px}.users-row{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:var(--lg-radius)}.users-row:hover{background:color-mix(in srgb,var(--lg-text) 5%,transparent)}.users-av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:12.5px;font-weight:600;color:#fff;background:var(--muted)}.users-av[data-role=admin]{background:var(--accent-lg)}.users-av[data-role=editor]{background:var(--status-2)}.users-av[data-role=approver]{background:var(--status-4)}.users-reveal-inline{margin:0 0 4px 45px}.users-add-form{display:flex;flex-direction:column;gap:12px}.users-field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--lg-muted)}.users-field input,.users-field select{padding:9px 11px;border-radius:var(--r-ctl);border:1px solid var(--lg-field-border);background:var(--lg-field);color:var(--lg-text);font-size:13px;outline:none}.users-field input:focus,.users-field select:focus{border-color:var(--accent-lg);box-shadow:var(--accent-ring)}.admin-card .btn.ghost{color:var(--lg-text)}.admin-card .btn.ghost:hover:not(:disabled){background:var(--lg-hover)}.users-hint{font-size:11.5px;line-height:1.45;color:var(--lg-muted)}.users-edit-email{font-size:13px;font-weight:600;color:var(--lg-text);word-break:break-all}.users-seg{display:flex;gap:4px;padding:3px;border-radius:var(--r-ctl);border:1px solid var(--lg-field-border);background:var(--lg-field)}.users-seg-btn{flex:1;padding:7px 10px;border:0;border-radius:calc(var(--r-ctl) - 3px);background:transparent;color:var(--lg-muted);font-size:12.5px;font-weight:600;cursor:pointer}.users-seg-btn:hover:not(:disabled){background:var(--lg-hover);color:var(--lg-text)}.users-seg-btn.is-on{background:var(--accent-lg);color:#fff}.users-seg-btn:disabled{opacity:.55;cursor:default}.facpick-count{color:var(--lg-muted)}.facpick-chips{display:flex;flex-wrap:wrap;gap:5px;max-height:96px;overflow-y:auto}.facpick-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:3px 4px 3px 8px;border-radius:999px;background:var(--lg-hover);border:1px solid var(--lg-field-border);font-size:12px;color:var(--lg-text)}.facpick-chip-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facpick-chip-x{display:inline-flex;border:0;background:transparent;color:var(--lg-muted);cursor:pointer;padding:2px;border-radius:999px}.facpick-chip-x:hover{color:var(--lg-text)}.facpick-search{display:flex;align-items:center;gap:7px;padding:0 10px;border-radius:var(--r-ctl);border:1px solid var(--lg-field-border);background:var(--lg-field);color:var(--lg-muted)}.facpick-search:focus-within{border-color:var(--accent-lg);box-shadow:var(--accent-ring)}.users-field .facpick-search input{flex:1;min-width:0;padding:9px 0;border:0;background:transparent;box-shadow:none}.facpick-list{display:flex;flex-direction:column;gap:1px;max-height:240px;overflow-y:auto;border-radius:var(--r-ctl);border:1px solid var(--lg-field-border);padding:3px}.facpick-row{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;border:0;background:transparent;border-radius:calc(var(--r-ctl) - 3px);cursor:pointer;text-align:left;color:var(--lg-text)}.facpick-row.is-active{background:var(--lg-hover)}.facpick-row.is-on .facpick-t{color:var(--accent-lg)}.facpick-row:disabled{opacity:.55;cursor:default}.facpick-mark{flex:none;width:16px;display:inline-flex;justify-content:center;color:var(--accent-lg)}.facpick-main{min-width:0;flex:1;display:flex;flex-direction:column}.facpick-t{font-size:12.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.facpick-a{font-size:11.5px;color:var(--lg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.facpick-empty,.facpick-more{padding:12px;text-align:center;color:var(--lg-muted);font-size:12px}.users-add-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.users-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@media (max-width: 640px){.users-toolbar,.users-scroll{padding-left:12px;padding-right:12px}.users-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"av main badge" "av actions actions";align-items:center;column-gap:10px;row-gap:8px}.users-row>.users-av{grid-area:av;align-self:start}.users-row>.result-main{grid-area:main}.users-row>.admin-badge{grid-area:badge}.users-row>.users-row-actions{grid-area:actions;justify-content:flex-start;flex-wrap:wrap}.users-row>.result-meta{display:none}.users-count{white-space:nowrap}.fo-head{padding:12px 14px}}.tool-history{display:flex;gap:4px;justify-content:center}.tool-arrow{flex:1;padding:8px 0;align-items:center}.tool-arrow-icon{width:18px;height:18px;display:block}.canvas-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5}.canvas-overlay .co-left{position:absolute;top:14px;left:14px;display:flex;align-items:center;gap:8px;max-width:calc(100% - 120px)}.canvas-overlay .co-floors{position:absolute;top:50%;left:14px;transform:translateY(-50%);display:flex;flex-direction:column;gap:2px;padding:2px;pointer-events:auto;max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:none;background:var(--glass);border:1px solid var(--glass-edge);border-radius:999px;box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-hl);backdrop-filter:blur(18px) saturate(180%) brightness(var(--glass-b));-webkit-backdrop-filter:blur(18px) saturate(180%) brightness(var(--glass-b));color:var(--lg-text)}.co-floor{flex:none;width:30px;height:30px;border:0;border-radius:999px;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--lg-text);font-family:var(--num-font);font-size:13px;font-weight:700;transition:background .14s ease,color .14s ease}.co-floor:hover{background:var(--lg-hover)}.co-floor.active{background:var(--accent-lg);color:#fff;box-shadow:var(--accent-glow)}.co-floor-add{color:var(--lg-text);font-size:18px;font-weight:500}.co-floor-add:hover{background:var(--lg-hover);color:var(--accent-lg)}.co-floor-item{position:relative;flex:none;display:flex}.co-floor-item.dragging{opacity:.4}.co-floor-item.drop-above:before,.co-floor-item.drop-below:after{content:"";position:absolute;left:3px;right:3px;height:3px;border-radius:3px;background:var(--accent-lg);box-shadow:0 0 6px var(--accent-lg);pointer-events:none}.co-floor-item.drop-above:before{top:-2.5px}.co-floor-item.drop-below:after{bottom:-2.5px}.co-floor-actions{position:fixed;z-index:40;display:flex;align-items:center;gap:3px;padding:2px 6px 2px 0;pointer-events:auto;background:var(--glass);border:1px solid var(--glass-edge);border-radius:999px;box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-hl);backdrop-filter:blur(18px) saturate(180%) brightness(var(--glass-b));-webkit-backdrop-filter:blur(18px) saturate(180%) brightness(var(--glass-b));white-space:nowrap;transform:translateY(-50%);animation:co-fa-in .18s cubic-bezier(.22,1,.36,1)}@keyframes co-fa-in{0%{opacity:.5;clip-path:inset(0 100% 0 0 round 999px)}to{opacity:1;clip-path:inset(0 0 0 0 round 999px)}}.co-fa-num{flex:none;width:30px;height:30px;border-radius:999px;background:var(--accent-lg);color:#fff;display:grid;place-items:center;font-family:var(--num-font);font-size:13px;font-weight:700;box-shadow:var(--accent-glow)}.co-fa-drag{cursor:grab}.co-fa-drag:active{cursor:grabbing}.co-fa-grip{display:grid;place-items:center;width:20px;height:28px;color:var(--lg-muted);border-radius:6px;cursor:grab}.co-fa-grip:hover{background:var(--lg-hover);color:var(--lg-text)}.co-fa-grip:active{cursor:grabbing}.co-fa-btn{width:28px;height:28px;border:0;border-radius:999px;background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--lg-text);transition:background .14s ease,color .14s ease}.co-fa-btn:hover:not(:disabled){background:var(--lg-hover)}.co-fa-btn:disabled{opacity:.4;cursor:default}.co-fa-btn--danger:hover:not(:disabled){color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.canvas-overlay .co-center{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px}.canvas-overlay .co-right{position:absolute;top:14px;right:14px;display:flex;align-items:center;gap:8px}.canvas-overlay .co-layers{position:relative;display:flex}.canvas-overlay .co-disp{display:flex;align-items:center;gap:8px}.co-pill{pointer-events:auto;position:relative;background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--lg-radius);color:var(--lg-text);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-hl),inset 0 -10px 22px -16px var(--glass-lo);backdrop-filter:blur(18px) saturate(180%) brightness(var(--glass-b));-webkit-backdrop-filter:blur(18px) saturate(180%) brightness(var(--glass-b));overflow:hidden}.co-pill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(133deg,var(--sheen) 0%,transparent 34%,transparent 66%,var(--sheen-2) 100%);opacity:.9}.co-title{padding:8px 13px;font-size:13px;font-weight:700;color:var(--lg-text);max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.co-seg{display:flex;padding:4px;gap:3px;border-radius:999px}.co-view{height:36px;box-sizing:border-box;padding:3px;align-items:center}.co-view .co-seg-btn{border-radius:999px;padding:6px 13px;font-size:13px}.co-view .co-seg-btn.active{background:var(--accent-lg)}.cs-bar{position:fixed;top:14px;left:50%;transform:translate(-50%);z-index:210;pointer-events:auto;display:flex;align-items:center;gap:8px;width:var(--float-w);height:36px;padding:0 6px 0 14px;border-radius:999px;cursor:text}body.fo-open .cs-bar,body.fo-open .cs-backdrop{display:none}.cs-mag{color:var(--lg-text);flex:none}.co-view .co-seg-btn:not(.active){color:var(--lg-text)}.cs-help{display:none;flex:none;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--lg-muted);cursor:pointer}.cs-help:hover{background:var(--lg-hover);color:var(--lg-text)}.cs-fill{flex:1;align-self:stretch}.cs-input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:14px;color:var(--lg-text);outline:none}.cs-input::placeholder{color:var(--lg-muted)}.cs-chip{position:relative;display:flex;align-items:center;gap:8px;min-width:0;height:27px;box-sizing:border-box;padding:0 0 0 12px;border-radius:var(--r-ctl);font-weight:650;font-size:13px;color:#fff;background:var(--accent-lg);border:1px solid transparent}.cs-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.cs-dots{width:22px;align-self:stretch;padding:0;border:0;border-left:1px solid rgba(255,255,255,.28);border-radius:0 var(--r-ctl) var(--r-ctl) 0;background:#00000029;display:grid;place-items:center;cursor:pointer;color:#ffffffeb;flex:none}.cs-dots:hover:not(:disabled),.cs-dots.is-open{background:#0000004d;color:#fff}.cs-dots:disabled{opacity:.5;cursor:default}.cs-chip-menu{top:calc(100% + 6px);z-index:30}.cs-status{position:relative;display:flex;align-items:center;align-self:stretch;flex:none}.cs-status-dot{display:grid;place-items:center;width:20px;align-self:stretch;margin-left:-6px;padding:0;border:0;background:transparent;cursor:pointer;border-radius:var(--r-ctl) 0 0 var(--r-ctl)}.cs-status-dot:disabled{cursor:default;opacity:.6}.cs-status-dot .color-dot{width:11px;height:11px;box-shadow:0 0 0 2px #ffffff4d;transition:box-shadow .12s ease}.cs-status-dot:hover:not(:disabled) .color-dot,.cs-status-dot.is-open .color-dot{box-shadow:0 0 0 3px #ffffff8c}.fp-menu.cs-status-menu{left:-4px;right:auto;top:calc(100% + 8px);z-index:40;min-width:280px;max-width:calc(100vw - 24px)}.cs-status-item{justify-content:flex-start}.cs-status-item .color-dot{width:11px;height:11px}.cs-status-lbl{flex:1 1 auto;white-space:nowrap}.cs-status-item[aria-checked=true]{color:var(--text);font-weight:600}.cs-status-chk{color:var(--accent);flex:none}.cs-taken{font-size:11px;color:#8b94a3;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:none}.cs-status-err{padding:5px 10px 2px;font-size:11px;color:var(--danger)}.fac-edit-form{display:flex;flex-direction:column;gap:12px;margin:6px 0 4px}.fac-stats{display:flex;gap:24px;justify-content:center;margin:14px 0 18px;padding:0;border:none;background:transparent}.fac-stat{text-align:center}.fac-stat-v{font-size:18px;font-weight:700;color:var(--lg-text)}.fac-stat-l{font-size:11px;color:var(--lg-muted);margin-top:1px}.fac-review-note{margin-bottom:16px;padding:2px 0 2px 12px;border:none;border-left:3px solid var(--status-3);background:transparent;color:var(--status-3);font-size:13px;line-height:1.35}.cs-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-fullscreen-backdrop);background:color-mix(in srgb,var(--lg-page) 68%,transparent);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);animation:cs-fade .2s ease}@keyframes cs-fade{0%{opacity:0}to{opacity:1}}.cs-fs-x{position:fixed;top:14px;right:16px;z-index:var(--z-fullscreen-close)}.cs-panel{position:fixed;top:64px;left:50%;transform:translate(-50%);z-index:var(--z-fullscreen-panel);width:var(--float-w);max-height:calc(100vh - 84px);overflow:hidden auto;display:flex;flex-direction:column;gap:10px;padding-bottom:10px;animation:cs-rise .22s ease}@keyframes cs-rise{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}@keyframes save-toast{0%{opacity:0;transform:translateY(6px)}10%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion: reduce){.cs-backdrop,.cs-panel{animation:none}}.cs-stats{border-radius:var(--r-frame);padding:13px 15px}.cs-stats-total{font-size:13px;color:var(--lg-muted)}.cs-stats-total b{font-family:var(--num-font);font-size:15px;font-weight:700;color:var(--lg-text)}.cs-bar-d{height:8px;border-radius:6px;overflow:hidden;display:flex;margin:10px 0 12px;background:var(--lg-hover)}.cs-stats-rows,.filter-chips{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;padding:5px 11px;border-radius:999px;border:1px solid var(--glass-edge);background:transparent;color:var(--lg-muted);cursor:pointer}.filter-chip:hover{color:var(--lg-text)}.filter-chip.on{background:var(--lg-hover);color:var(--lg-text);border-color:transparent}.filter-chip .filter-chip__count{font-family:var(--num-font);font-weight:700;color:var(--lg-text)}.color-dot{width:10px;height:10px;border-radius:50%;flex:none}.cs-add-btn{margin-bottom:8px;padding:9px 12px;border-radius:var(--r-frame);border:1px dashed var(--glass-edge);background:var(--lg-field);color:var(--lg-muted);font-size:13px;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s}.cs-add-btn:hover{color:var(--accent-lg);border-color:color-mix(in srgb,var(--accent-lg) 45%,transparent)}.result-list{display:flex;flex-direction:column;gap:2px}.result-row{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:0;background:transparent;border-radius:var(--lg-radius);cursor:pointer;text-align:left;color:var(--lg-text)}.result-row:hover{background:var(--lg-hover)}.result-main{min-width:0;flex:1;display:flex;flex-direction:column}.result-title{font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-sub{font-size:12.5px;color:var(--lg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-meta{font-family:var(--num-font);font-size:12px;color:var(--lg-muted);flex:none}.result-empty{padding:30px;text-align:center;color:var(--lg-muted);font-size:14px}.co-icon-btn{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:17px;line-height:1}.co-icon-btn:hover{color:var(--accent-lg)}.co-icon-btn.active{border-color:var(--selected-border);background:var(--selected-bg);color:var(--accent)}.co-menu{position:absolute;top:44px;right:0;min-width:230px;background:color-mix(in srgb,var(--lg-page) 66%,var(--glass));border:1px solid var(--glass-edge);border-radius:var(--lg-radius-lg);padding:6px;display:flex;flex-direction:column;gap:2px;box-shadow:var(--glass-shadow);backdrop-filter:blur(26px) saturate(180%) brightness(var(--glass-b));-webkit-backdrop-filter:blur(26px) saturate(180%) brightness(var(--glass-b));color:var(--lg-text);pointer-events:auto}.co-menu .co-menu-item{color:var(--lg-text)}.co-menu .co-menu-item:hover{background:var(--lg-hover);color:var(--lg-text)}.co-menu .co-menu-sep{background:var(--glass-edge)}.ul-more{position:relative;display:inline-flex}.ul-more-btn{display:inline-flex;align-items:center;justify-content:center;padding:3px 6px}.co-menu.ul-more-menu{top:26px;min-width:210px;z-index:40}.menu-item,.co-menu-item,.ctx-item,.ctx-type,.fp-menu-item{display:flex;align-items:center;gap:8px;text-align:left;background:transparent;border:none;color:#c4cedb;font-size:13px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer}.menu-item:hover,.co-menu-item:hover,.ctx-item:hover,.ctx-type:hover,.fp-menu-item:hover{background:var(--panel-2);color:var(--text)}.menu-item:disabled,.co-menu-item:disabled{opacity:.4;cursor:not-allowed}.menu-item--danger:hover,.co-menu-item--danger:hover,.ctx-danger:hover,.fp-menu-item--danger:hover{color:var(--danger)}.co-menu-check{width:16px;display:inline-flex;color:var(--accent)}.co-layers-menu .co-menu-item svg,.weather-menu .co-menu-item svg{flex:none}.co-layers-menu .co-menu-item.is-on,.weather-menu .co-menu-item.is-on{color:var(--lg-text);font-weight:600}.co-layers-menu .co-menu-item.is-on svg,.weather-menu .co-menu-item.is-on svg{color:var(--accent-lg)}.co-layers-menu .co-menu-item.is-off,.weather-menu .co-menu-item.is-off{color:var(--lg-muted);font-weight:500}.co-layers-menu .co-menu-item.is-off svg,.weather-menu .co-menu-item.is-off svg{opacity:.55}.co-layers-menu .co-menu-item.is-off:hover,.weather-menu .co-menu-item.is-off:hover{color:var(--lg-text)}.co-menu-sep{height:1px;background:var(--line);margin:4px 6px}.co-menu-head{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:8px 10px 4px;-webkit-user-select:none;user-select:none;pointer-events:none}.co-menu-head:first-child{padding-top:4px}.co-menu-hint{font-size:11px;color:var(--muted);padding:2px 10px 6px;-webkit-user-select:none;user-select:none;pointer-events:none}.co-menu-adv{color:var(--muted)}.manage-adv-row{display:flex;justify-content:flex-end;margin:4px 0 8px}.ctx-menu{position:absolute;z-index:20;min-width:180px;background:#141a24fa;border:1px solid var(--line-2);border-radius:9px;padding:5px;display:flex;flex-direction:column;gap:2px;box-shadow:0 10px 30px #00000080}.ctx-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:4px 10px 2px}.ctx-types{max-height:168px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.ctx-type-picker{width:236px;max-height:300px;overflow-y:auto;padding:0 4px 4px}.ctx-sep{height:1px;background:var(--line);margin:4px 6px}.ctx-field{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:3px 10px;font-size:12px;color:#c4cedb}.ctx-field>span{color:var(--muted)}.ctx-field input[type=number],.ctx-field input[type=text]{width:70px;background:var(--panel-2);border:1px solid var(--line-2);border-radius:var(--radius-sm);color:var(--text);font-size:12px;padding:3px 6px;text-align:right}.ctx-field input[type=range]{flex:1;min-width:90px}.btn,.icon-btn,.swatch,.list-row,.seg__btn,.seg-btn,.co-seg-btn,.tool,.co-icon-btn,.menu-item,.co-menu-item,.ctx-item,.ctx-type,.zoom-btn,.fp-icon-btn,.fp-wide-btn,.fp-pick-row,.fp-menu-item,.ob-arrow,.ob-tab,.ul-more-btn,.users-del-btn,.tool-arrow{cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.btn:focus-visible,.icon-btn:focus-visible,.swatch:focus-visible,.list-row:focus-visible,.seg__btn:focus-visible,.seg-btn:focus-visible,.co-seg-btn:focus-visible,.tool:focus-visible,.co-icon-btn:focus-visible,.menu-item:focus-visible,.co-menu-item:focus-visible,.ctx-item:focus-visible,.ctx-type:focus-visible,.zoom-btn:focus-visible,.fp-icon-btn:focus-visible,.fp-wide-btn:focus-visible,.fp-pick-row:focus-visible,.fp-menu-item:focus-visible,.ob-arrow:focus-visible,.ob-tab:focus-visible,.ul-more-btn:focus-visible,.users-del-btn:focus-visible,.progress-card button:focus-visible,.floor-row:focus-visible,.facpick-row:focus-visible,.facpick-chip-x:focus-visible,.users-seg-btn:focus-visible,.type-current:focus-visible{outline:2px solid var(--accent-2);outline-offset:1px}.btn:disabled,.icon-btn:disabled,.swatch:disabled,.seg__btn:disabled,.seg-btn:disabled,.co-menu-item:disabled,.menu-item:disabled,.tool:disabled{opacity:.4;cursor:not-allowed}.drawer-toggle,.drawer-backdrop{display:none}@media (max-width: 1024px){.body{display:block;position:relative}.stage-area{width:100%;height:100%;padding-bottom:56px}.facilities-panel.drawer{position:fixed!important;top:0;bottom:0;left:0;width:min(86vw,340px)!important;flex:none!important;z-index:40;background:var(--panel);transform:translate(-100%);transition:transform .22s ease;box-shadow:0 0 24px #00000080;overflow-y:auto}.facilities-panel.drawer.facilities-panel--collapsed{width:min(86vw,340px)!important}.facilities-panel.drawer.open{transform:translate(0)}.rightbar.drawer{position:fixed;top:0;bottom:0;right:0;left:auto;width:min(86vw,340px);z-index:40;transform:translate(100%);transition:transform .22s ease;box-shadow:0 0 24px #00000080}.rightbar.drawer.open{transform:translate(0)}.drawer-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;background:#06090e80;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.drawer-toggle{display:grid;place-items:center;position:absolute;top:12px;z-index:30;width:44px;height:44px;font-size:20px;line-height:1;background:#141a24eb;border:1px solid var(--line-2);border-radius:var(--radius-lg);color:#c4cedb;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.drawer-toggle:hover{border-color:var(--accent-2);color:var(--text)}.drawer-toggle--left{left:12px;top:64px}.drawer-toggle--right{right:12px;top:64px}.toolbar{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;height:56px;flex-direction:row;align-items:center;gap:4px;padding:6px 10px;border-right:none;border-top:1px solid var(--glass-edge);overflow-x:auto;overflow-y:hidden;z-index:35;-webkit-overflow-scrolling:touch}.tool-menu--portal{position:fixed;left:clamp(106px,var(--menu-x, 106px),calc(100vw - 106px));transform:translate(-50%);right:auto;top:auto;bottom:64px;max-height:60vh;overflow-y:auto;z-index:50}.tool-menu--portal.obj-flyout{left:8px;right:8px;width:auto;max-width:none;overflow:hidden;transform:none}.cs-help{display:none}.save-status-box{left:12px!important;right:auto!important;bottom:68px!important;max-width:calc(100vw - 24px)!important}.tool{flex:0 0 auto;min-width:44px;min-height:44px;padding:6px 8px;justify-content:center}.tool-sep{width:1px;height:28px;align-self:center;margin:0 4px;flex:0 0 auto}.tool-history{flex:0 0 auto}.tool-arrow{min-width:40px;min-height:40px;padding:6px 8px}.grid-select{flex:0 0 auto;flex-direction:row;align-items:center;margin-top:0;gap:6px;white-space:nowrap}.progress-fab{bottom:68px!important}.co-icon-btn{width:40px;height:40px}.co-seg-btn{padding:8px 14px}.icon-btn{width:30px;height:30px}.zoom-btn{width:44px;height:44px}.weather-btn.zoom-btn{width:46px;height:46px}}@media (max-width: 640px){.facilities-panel.drawer,.facilities-panel.drawer.facilities-panel--collapsed{width:100vw!important}.rightbar.drawer{width:100vw}.canvas-overlay .co-left{top:10px;left:10px;gap:6px;max-width:calc(100% - 100px);flex-direction:column;align-items:flex-start}.canvas-overlay .co-right{top:10px;right:10px;gap:6px}.canvas-overlay .co-disp{position:absolute;top:calc(100% + 6px);right:0;flex-direction:column;align-items:flex-end;gap:6px}.cs-bar.cs-bar{top:10px;left:56px;right:auto;width:auto;max-width:calc(100vw - 202px);transform:none}.cs-bar.cs-bar .cs-chip{padding-left:8px;gap:6px}.cs-bar.cs-bar .cs-chip{min-width:0}.cs-bar.cs-bar .cs-name{min-width:0;max-width:none}.cs-bar.cs-bar.is-open{top:10px;left:10px;right:10px;width:auto;max-width:none;transform:none}.drawer-toggle--left,.drawer-toggle--right{top:58px}.toolbar .tool-label{display:none}.toolbar{justify-content:flex-start;gap:1px;padding:6px 8px}.toolbar .tool{min-width:44px;padding:6px 10px}.toolbar .tool-caret{min-width:18px;padding-left:0;padding-right:0}.toolbar .tool-sep{margin:0 2px}}.tool-snapgrid{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:6px 5px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel-2)}.tool-snapgrid .grid-select{margin-top:2px}.floor-grip{flex-shrink:0;width:16px;display:grid;place-items:center;color:var(--muted);font-size:14px;line-height:1;-webkit-user-select:none;user-select:none}.floor-grip:hover{color:var(--text)}.floor-row.dragging{opacity:.45}.floor-row.drag-over{border-color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.type-field{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0}.type-label{font-size:var(--fs-md);color:var(--muted)}.type-current{display:inline-flex;align-items:center;gap:7px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text);padding:6px 9px;font-size:var(--fs-md);cursor:pointer;max-width:72%}.type-current:hover{border-color:var(--line-2)}.type-current-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-caret{color:var(--muted);font-size:10px}.type-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:20;width:240px;max-height:min(300px,46vh);overflow-y:auto;background:var(--panel);color:var(--text);border:1px solid var(--line-2);border-radius:var(--radius-lg);padding:0 10px 10px;box-shadow:0 8px 24px #00000073}.type-popover--portal{position:fixed;top:auto;right:auto;z-index:var(--z-overlay-card);max-height:min(300px,80vh);max-width:calc(100vw - 16px)}.type-group{margin-bottom:8px}.type-filter{position:sticky;top:0;z-index:3;width:100%;box-sizing:border-box;background:var(--panel-2);border:1px solid var(--line);border-radius:7px;color:var(--text);padding:6px 8px;font-size:var(--fs-md);outline:none;margin-bottom:8px}.type-filter:focus{border-color:var(--accent-2)}.panel-title--toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.panel-head-left{display:inline-flex;align-items:center;min-width:0}.panel-caret{color:var(--muted);font-size:11px;margin-right:4px}.create-tabs{width:100%;margin-bottom:8px}@media (max-width: 1024px){.toolbar{border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform:none;justify-content:center}.zoom-ctrls{top:50%;bottom:auto;left:auto;right:14px;transform:translateY(-50%)}.zoom-btn{width:38px;height:40px}.weather-btn.zoom-btn{width:40px;height:40px}.canvas-overlay .co-history{display:none}.cs-bar{width:auto;max-width:calc(100vw - 28px)}.cs-bar.is-open{width:min(92vw,440px)}.view3d-toggles{top:116px}.ctx-menu{max-width:calc(100vw - 24px)}.co-br-panel.co-br-panel{left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom));width:auto;max-width:none;border-radius:16px 16px 0 0}}.status-badge{display:inline-block;font-size:var(--fs-md);font-weight:600;padding:2px 9px;border-radius:999px;background:transparent;white-space:nowrap}.status-badge[data-status="0"]{color:var(--status-0);border:1px solid var(--status-0)}.status-badge[data-status="1"]{color:var(--status-1);border:1px solid var(--status-1)}.status-badge[data-status="2"]{color:var(--status-7);border:1px solid var(--status-7)}.status-badge[data-status="3"]{color:var(--status-2);border:1px solid var(--status-2)}.status-badge[data-status="4"]{color:var(--status-3);border:1px solid var(--status-3)}.status-badge[data-status="5"]{color:var(--status-4);border:1px solid var(--status-4)}.status-badge[data-status="6"]{color:var(--status-5);border:1px solid var(--status-5)}.status-badge[data-status="7"]{color:var(--status-6);border:1px solid var(--status-6)}.status-fill[data-status="0"]{background:var(--status-0)}.status-fill[data-status="1"]{background:var(--status-1)}.status-fill[data-status="2"]{background:var(--status-7)}.status-fill[data-status="3"]{background:var(--status-2)}.status-fill[data-status="4"]{background:var(--status-3)}.status-fill[data-status="5"]{background:var(--status-4)}.status-fill[data-status="6"]{background:var(--status-5)}.status-fill[data-status="7"]{background:var(--status-6)}.facilities-panel{display:flex;flex-direction:column;min-height:0;color:var(--text);border-right:1px solid var(--line);background:transparent}.facilities-panel--collapsed{align-items:center;padding-top:10px}.fp-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line)}.fp-head-title{font-size:var(--fs-md);letter-spacing:.04em;color:var(--muted);text-transform:uppercase}.fp-head--detail{justify-content:flex-start;gap:6px}.fp-head-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.fp-head-name{font-size:14px;font-weight:700;color:var(--text);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fp-head-addr{font-size:11px;color:var(--text-muted, #8a8f98);line-height:1.25;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fp-head-status{align-self:flex-start;font-size:11px}.fp-head-menu{position:relative;flex:0 0 auto}.fp-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:20;min-width:170px;background:#141a24fa;border:1px solid var(--line-2);border-radius:var(--radius-lg);padding:5px;display:flex;flex-direction:column;gap:2px;box-shadow:0 10px 30px #00000080}.fp-menu-item--danger{color:#e0738a}.fp-menu .fp-menu-item:not(.fp-menu-item--danger){color:var(--lg-text)}.fp-menu .fp-menu-item:hover{background:var(--lg-hover)}.fp-menu .fp-menu-item:not(.fp-menu-item--danger):hover{color:var(--lg-text)}.fp-progress{display:flex;flex-direction:column;gap:3px}.fp-progress-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.fp-progress-clear{background:transparent;border:none;color:var(--accent-2);font-size:11px;text-transform:none;letter-spacing:0;cursor:pointer;padding:0}.fp-prog-row{display:flex;align-items:center;gap:8px;width:100%;padding:4px 6px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text);cursor:pointer}.fp-prog-row:hover{background:var(--panel-2)}.fp-prog-row.active{border-color:var(--line-2);background:#4f9dde1f}.fp-prog-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.fp-prog-label{font-size:12px;flex:0 0 96px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fp-prog-track{flex:1 1 auto;height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.fp-prog-fill{display:block;height:100%}.fp-prog-count{flex:0 0 auto;min-width:20px;text-align:right;font-size:12px;color:var(--muted)}.fp-actions,.fp-attrs{display:flex;flex-direction:column;gap:8px}.fp-tools{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px}.fp-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px}.fp-icon-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--muted);font-size:14px;line-height:1}.fp-icon-btn:hover{color:var(--text);border-color:var(--line-2)}.fp-icon-btn.danger{color:#e0738a}.fp-icon-btn.danger:hover{color:var(--danger);border-color:var(--danger)}.fp-wide-btn{width:100%;padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--line);background:transparent;color:var(--text);font-size:13px}.fp-wide-btn:hover{border-color:var(--line-2)}.fp-wide-btn.muted{color:var(--muted)}.fp-input{width:100%;padding:7px 9px;border-radius:var(--radius-md);border:1px solid var(--line);background:#0003;color:var(--text);font-size:13px;box-sizing:border-box;outline:none}.fp-input:focus{border-color:var(--accent-2)}.fp-select{padding:6px 8px;border-radius:var(--radius-md);border:1px solid var(--line);background:#0003;color:var(--text);font-size:var(--fs-md);min-width:0;outline:none}.fp-select:focus{border-color:var(--accent-2)}.fp-pick-row{text-align:left;padding:7px 9px;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--text);display:flex;align-items:baseline;gap:6px}.fp-pick-row:hover{background:var(--panel-2)}.fp-pick-row.active{background:var(--selected-bg)}.fp-tag{display:inline-block;font-size:11px;line-height:16px;padding:1px 7px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:#ffffff0a;white-space:nowrap}.progress-card{width:min(720px,100%);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;color:var(--text);box-shadow:0 12px 40px #00000080}.progress-bar-track{height:14px;background:#ffffff0f;border-radius:7px;overflow:hidden}.progress-bar-fill{height:100%;transition:width .2s}.modal-card{width:min(440px,calc(100vw - 32px));gap:12px}.modal-message{font-size:13.5px;line-height:1.4;color:var(--lg-text)}.modal-input{width:100%;box-sizing:border-box;background:color-mix(in srgb,var(--lg-page) 55%,transparent);border:1px solid var(--glass-edge);border-radius:var(--r-ctl);color:var(--lg-text);padding:9px 11px;font-size:14px;outline:none;font-family:inherit}.modal-input::placeholder{color:var(--lg-muted)}.modal-input:focus{border-color:var(--accent-lg)}.field input.modal-input{background:color-mix(in srgb,var(--lg-page) 55%,transparent);border-color:var(--glass-edge);color:var(--lg-text)}.modal-textarea{resize:vertical;min-height:72px;line-height:1.4}.modal-hint{font-size:11.5px;color:var(--lg-muted)}.modal-error{color:#ff9aa6;font-size:var(--fs-md)}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.modal-danger{width:100%}.fp-wide-btn:disabled,.fp-icon-btn:disabled{opacity:.6;cursor:default}.ob-panel{position:fixed;left:14px;top:58px;z-index:45;width:300px;max-width:calc(100vw - 32px);max-height:calc(100vh - 74px);overflow-y:auto;background:#141a24fa;color:var(--text);border:1px solid var(--line-2);border-radius:12px;padding:14px;box-shadow:0 10px 30px #00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ob-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.ob-title{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;color:var(--text)}.ob-title svg{color:var(--accent)}.ob-close:hover{background:var(--panel-2);color:var(--text)}.ob-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ob-step{display:flex;align-items:center;gap:10px;font-size:var(--fs-md);color:#c4cedb}.ob-step-num{flex-shrink:0;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--accent-2);color:#fff;font-size:11px;font-weight:700}.ob-sub{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:8px}.ob-shortcuts{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.ob-shortcut{display:flex;align-items:center;gap:9px;font-size:var(--fs-md);color:#c4cedb}.ob-kbd{flex-shrink:0;min-width:46px;text-align:center;padding:3px 7px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--radius-sm);font-family:inherit;font-size:11px;font-weight:600;color:var(--text)}.ob-group+.ob-group{margin-top:12px}.ob-note{margin-top:2px;font-size:11px;line-height:1.4;color:var(--muted)}.ob-tabs{display:flex;gap:4px;margin-bottom:12px}.ob-tab{flex:1;padding:6px 4px;font-size:11.5px;font-weight:600;border:1px solid var(--line-2);background:var(--bg-2);color:var(--muted);border-radius:var(--radius-sm);cursor:pointer}.ob-tab.active{background:var(--accent-2);color:#fff;border-color:var(--accent-2)}.ob-carousel{display:flex;align-items:center;gap:8px;margin-bottom:14px}.ob-arrow{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border:1px solid var(--line-2);background:var(--bg-2);border-radius:var(--radius-md);color:#c4cedb;cursor:pointer}.ob-arrow:hover{border-color:var(--btn-border-hover)}.ob-tip{flex:1;min-height:56px;display:flex;align-items:center;font-size:var(--fs-md);color:#c4cedb;line-height:1.45}.ob-counter{font-size:11px;color:var(--muted);text-align:center}@keyframes dzm-spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.25);border-top-color:currentColor;border-radius:50%;animation:dzm-spin .7s linear infinite;vertical-align:-2px;margin-right:6px}.tool-group{display:flex;flex:1 1 0;justify-content:center;gap:3px}.co-history{display:flex;gap:4px}.cursor-msg-input{position:absolute;z-index:32;transform:translate(6px,6px);width:200px;max-width:240px;box-sizing:border-box;padding:6px 10px;border-radius:10px;border:none;color:#fff;font:inherit;font-size:13px;font-weight:600;line-height:1.3;resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;outline:none;box-shadow:0 8px 24px #00000080}.cursor-msg-input::placeholder{color:#ffffffb3;font-weight:500}.cursor-msg-bubble{position:absolute;z-index:31;transform:translate(8px,-50%);width:max-content;max-width:240px;padding:5px 10px;border-radius:10px;color:#fff;font-size:13px;font-weight:600;line-height:1.3;white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:none;box-shadow:0 8px 22px #00000073;animation:cursor-msg-fade 5s ease forwards}@keyframes cursor-msg-fade{0%,70%{opacity:1}to{opacity:0}}.co-br-panel{position:fixed;right:62px;bottom:16px;z-index:42;width:320px;max-width:calc(100vw - 78px);max-height:min(58vh,520px);display:flex;flex-direction:column;overflow:hidden;pointer-events:auto;background:color-mix(in srgb,var(--lg-page) 60%,var(--glass));border:1px solid var(--glass-edge);border-radius:var(--lg-radius-card);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-hl),inset 0 -12px 26px -18px var(--glass-lo);backdrop-filter:blur(28px) saturate(190%) brightness(var(--glass-b));-webkit-backdrop-filter:blur(28px) saturate(190%) brightness(var(--glass-b));color:var(--lg-text)}.co-br-panel>.comments-panel,.co-br-panel>.panel{display:flex;flex-direction:column;min-height:0;max-height:100%;overflow-y:auto;padding:12px 14px;background:transparent;color:inherit;border:none;box-shadow:none;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none}.cmt-row-floor{padding:0 6px;border-radius:999px;background:var(--lg-field);color:var(--lg-text)}.co-br-panel .comments-list{min-height:0;overflow-y:auto}@media (min-width: 1025px){.co-br-panel.is-expanded .sheet-bar{display:flex;position:absolute;top:8px;right:8px;z-index:3;width:26px;height:26px;align-items:center;justify-content:center;padding:0;border:0;border-radius:999px;background:transparent;color:var(--lg-muted);cursor:pointer}.co-br-panel.is-expanded .sheet-bar:hover{background:var(--lg-hover);color:var(--lg-text)}.co-br-panel .sheet-grip,.co-br-panel.is-expanded .sheet-label{display:none}.co-br-panel .panel-title,.co-br-panel .comments-panel-head{padding-right:30px}.co-br-panel .comments-panel-head{flex-direction:row;align-items:center;justify-content:space-between}.co-br-panel:not(.is-expanded){width:auto;max-width:none;max-height:none;border-radius:999px}.co-br-panel:not(.is-expanded)>*:not(.sheet-bar){display:none}.co-br-panel:not(.is-expanded) .sheet-bar{display:flex;position:static;align-items:center;justify-content:center;gap:8px;height:34px;padding:0 14px;border:0;background:transparent;color:var(--lg-text);cursor:pointer}.co-br-panel:not(.is-expanded) .sheet-label{display:inline;font-size:12px;font-weight:600;color:var(--lg-text);white-space:nowrap}}.co-warn{position:relative;display:flex}.co-warn-btn{color:#f59e0b}.co-warn-btn:hover{color:color-mix(in srgb,#f59e0b 80%,#fff)}.co-warn-menu{top:calc(100% + 6px);left:0;right:auto;min-width:260px;max-width:340px;max-height:60vh;overflow-y:auto}.co-warn-item{color:var(--status-3);text-align:left;white-space:normal;line-height:1.35}.co-appear{display:flex;flex-direction:column;gap:8px;padding:2px 8px 8px}.theme-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.theme-label{font-size:13px;font-weight:600;color:var(--lg-text);-webkit-user-select:none;user-select:none}.theme-toggle{position:relative;display:inline-flex;align-items:center;justify-content:space-between;align-self:flex-start;width:58px;height:28px;padding:3px;box-sizing:border-box;border-radius:999px;background:var(--lg-field);border:1px solid var(--lg-field-border);cursor:pointer}.theme-toggle-knob{position:absolute;top:2px;left:3px;z-index:0;width:22px;height:22px;border-radius:50%;background:var(--accent-lg);box-shadow:0 1px 3px #00000059;transition:transform .18s ease}.theme-toggle[aria-checked=true] .theme-toggle-knob{transform:translate(28px)}.theme-toggle-ic{position:relative;z-index:1;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--lg-muted);transition:color .15s ease}.theme-toggle-ic.is-on{color:#fff}.co-accent-row{display:grid;grid-template-columns:repeat(7,22px);gap:8px;justify-content:space-between}.co-accent-sw{box-sizing:border-box;width:22px;height:22px;border-radius:50%;border:2px solid transparent;box-shadow:0 0 0 1px var(--glass-edge) inset;cursor:pointer;padding:0;position:relative;transition:transform .12s ease}.co-accent-sw:hover{transform:scale(1.1)}.co-accent-sw.is-active{border-color:var(--lg-page);box-shadow:0 0 0 2px var(--lg-text)}.stage-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:5}.stage-empty-card{padding:14px 20px;border-radius:12px;font-size:14px;color:var(--muted);background:#141a24e6;border:1px solid var(--line-2);box-shadow:0 8px 24px #00000059}.stage-empty--scene .stage-empty-card{background:#141a2499}.startup-loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden;opacity:1;transition:opacity .5s ease}.startup-loader--hiding{opacity:0;pointer-events:none}.startup-loader:before{content:"";position:absolute;top:-25%;right:-25%;bottom:-25%;left:-25%;z-index:0;pointer-events:none;background:radial-gradient(38% 38% at 50% 44%,color-mix(in srgb,var(--accent-lg) 34%,transparent),transparent 62%);filter:blur(30px);animation:sl-breathe 6s ease-in-out infinite alternate}.startup-loader__card{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px;padding:32px 44px 28px;border-radius:var(--lg-radius-card);min-width:260px;max-width:92vw}.sl-iso{display:block;filter:drop-shadow(0 8px 18px color-mix(in srgb,var(--accent-lg) 40%,transparent))}.sl-iso__shadow{fill:color-mix(in srgb,var(--accent-lg) 20%,transparent)}.sl-plate{transform-origin:center;animation:sl-pulse 1.6s ease-in-out infinite}.sl-plate polygon{fill:color-mix(in srgb,var(--accent-lg) 28%,transparent);stroke:var(--accent-lg);stroke-width:2.4;stroke-linejoin:round}.startup-loader__text{display:flex;flex-direction:column;align-items:center;gap:4px}.startup-loader__brand{font-size:15px;font-weight:600;letter-spacing:.2px;color:var(--lg-text)}.startup-loader__caption{font-size:12.5px;color:var(--muted)}.startup-loader__bar{position:relative;width:184px;height:4px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--accent-lg) 16%,transparent)}.startup-loader__bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:42%;border-radius:999px;background:linear-gradient(90deg,transparent,var(--accent-lg),transparent);animation:sl-shimmer 1.25s ease-in-out infinite}@keyframes sl-pulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes sl-breathe{0%{opacity:.55;transform:scale(1)}to{opacity:1;transform:scale(1.08)}}@keyframes sl-shimmer{0%{transform:translate(-130%)}to{transform:translate(320%)}}@media (prefers-reduced-motion: reduce){.startup-loader:before,.sl-plate,.startup-loader__bar:after{animation:none}.sl-plate{opacity:.9}}details.cross-floor>summary{cursor:pointer;font-size:12px;color:var(--muted);padding:4px 0;list-style:none}details.cross-floor[open]>summary{margin-bottom:6px}.cmt-popover{position:absolute;z-index:30;width:300px;max-width:min(300px,84vw);transform:translate(16px,-6px);display:flex;flex-direction:column;background:#141a24fa;border:1px solid var(--line-2);border-radius:14px;box-shadow:0 16px 40px #0000008c;color:var(--text);overflow:hidden}.cmt3d-pin{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50% 50% 50% 2px;background:#242b3a;border:1px solid rgba(255,255,255,.16);color:#fff;padding:0;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 2px 8px #00000073}.cmt3d-pin.is-open{outline:2px solid #6366f1;outline-offset:1px}.cmt3d-av{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;color:#fff;font-size:10px;font-weight:700;line-height:1}.cmt3d-pin--draft{background:var(--accent-lg, #6366f1);border-style:dashed;color:#fff;font-size:15px;font-weight:700;cursor:default}.sel-popover{position:absolute;z-index:28;width:232px;display:flex;flex-direction:column;gap:8px;padding:12px;max-height:82vh;overflow-y:auto;background:color-mix(in srgb,var(--lg-page) 60%,var(--glass));border:1px solid var(--glass-edge);border-radius:16px;box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-hl),inset 0 -12px 26px -18px var(--glass-lo);backdrop-filter:blur(28px) saturate(190%) brightness(var(--glass-b));-webkit-backdrop-filter:blur(28px) saturate(190%) brightness(var(--glass-b));color:var(--lg-text)}.sel-id b{font-family:var(--num-font, ui-monospace, monospace);font-size:11px;font-weight:500;color:var(--lg-muted);-webkit-user-select:text;user-select:text;cursor:text;max-width:148px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sel-title{font-size:14px;font-weight:700;padding-right:22px}@media (min-width: 641px){.sel-popover .sel-title{cursor:move}}.icon-close{display:grid;place-items:center;width:28px;height:28px;border:none;background:transparent;color:var(--lg-muted);border-radius:8px;cursor:pointer;padding:0;flex-shrink:0}.icon-close:hover{background:color-mix(in srgb,var(--lg-text) 10%,transparent);color:var(--lg-text)}.sel-close{position:absolute;top:7px;right:7px}.sel-close:hover{background:var(--lg-hover);color:var(--lg-text)}.sel-popover .field,.sel-popover .slider-row{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--lg-muted)}.sel-popover input:not([type=range]){width:100%;box-sizing:border-box;padding:8px 10px;border-radius:var(--r-ctl);border:1px solid var(--lg-field-border);background:var(--lg-field);color:var(--lg-text);font:inherit;font-size:13px;outline:none}.sel-popover input:not([type=range]):focus{border-color:var(--accent-lg)}.floor-stats{display:flex;flex-direction:column;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--glass-edge)}.sel-more{border-top:1px solid var(--glass-edge);padding-top:8px}.sel-more>summary{cursor:pointer;list-style:none;font-size:12px;font-weight:600;color:var(--lg-muted);padding:2px 0;-webkit-user-select:none;user-select:none}.sel-more>summary::-webkit-details-marker{display:none}.sel-more>summary:before{content:"▸";display:inline-block;margin-right:6px;transition:transform .15s ease}.sel-more[open]>summary:before{transform:rotate(90deg)}.sel-more[open]{display:flex;flex-direction:column;gap:8px}.cmt-header{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 14px;border-bottom:1px solid var(--line)}.cmt-title{flex:1;font-size:14px;font-weight:700}.cmt-header-actions{display:flex;align-items:center;gap:2px}.cmt-more-wrap{position:relative;display:flex}.cmt-hbtn{width:30px;height:30px;display:grid;place-items:center;border:none;background:transparent;border-radius:8px;color:var(--muted);cursor:pointer}.cmt-hbtn:hover{background:var(--panel-2);color:var(--text)}.cmt-hbtn--active{color:#43c98a}.cmt-more-menu{position:absolute;top:34px;right:0;z-index:2;min-width:150px;padding:4px;background:var(--panel);border:1px solid var(--line-2);border-radius:10px;box-shadow:0 10px 28px #00000080}.fp-menu,.ctx-menu,.cmt-more-menu{background:color-mix(in srgb,var(--lg-page) 66%,var(--glass));border-color:var(--glass-edge);box-shadow:var(--glass-shadow);backdrop-filter:blur(26px) saturate(180%) brightness(var(--glass-b));-webkit-backdrop-filter:blur(26px) saturate(180%) brightness(var(--glass-b));color:var(--lg-text)}.cmt-more-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 9px;border:none;background:transparent;border-radius:7px;color:var(--text);font-size:13px;text-align:left;cursor:pointer}.cmt-more-item:hover{background:var(--panel-2)}.cmt-more-item--danger{color:var(--danger)}.cmt-more-item--danger:hover{background:#f5656524}.cmt-messages{display:flex;flex-direction:column;gap:14px;padding:14px;max-height:46vh;overflow-y:auto}.cmt-msg{display:flex;gap:10px}.cmt-av{flex-shrink:0;box-sizing:border-box;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;line-height:1;padding-bottom:.11em;letter-spacing:.2px;color:#fff}.cmt-msg-main{flex:1;min-width:0}.cmt-msg-head{display:flex;align-items:baseline;gap:8px}.cmt-msg-name{font-size:13px;font-weight:700}.cmt-msg-time{font-size:12px;color:var(--muted);white-space:nowrap}.cmt-msg-body{margin-top:3px;font-size:13.5px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.cmt-reply-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid var(--line)}.cmt-reply-field{flex:1;display:flex;align-items:flex-end;gap:6px;padding:4px 4px 4px 12px;background:var(--panel-2);color:var(--text);border:1px solid var(--line-2);border-radius:18px}.cmt-reply-field:focus-within{border-color:var(--accent-lg)}.cmt-reply-input{flex:1;min-width:0;border:none;background:transparent;font:inherit;font-size:13.5px;line-height:1.4;color:var(--text);outline:none;resize:none;max-height:96px;overflow-y:auto;padding:5px 0}.cmt-reply-input::placeholder{color:var(--muted)}.cmt-reply-send{flex:none;width:28px;height:28px;display:grid;place-items:center;border:none;border-radius:50%;background:var(--accent-lg);color:#fff;cursor:pointer}.cmt-reply-send:disabled{background:var(--panel);color:var(--muted);cursor:default}.cmt-reply-send:not(:disabled):hover{filter:brightness(1.08)}.cmt-preview{position:absolute;z-index:29;pointer-events:none}.cmt-preview-av{width:22px;height:22px;font-size:10px}.cmt-preview-card{position:relative;width:264px;max-width:72vw;padding:10px 14px 11px;margin:-21px 0 0 -25px;background:#141a24fa;color:var(--text);border:1px solid var(--line-2);border-radius:13px;box-shadow:0 14px 34px #00000080;transform-origin:25px 21px;animation:cmt-preview-in .16s cubic-bezier(.22,1,.36,1) both}@keyframes cmt-preview-in{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.cmt-preview-head{display:flex;align-items:center;gap:8px}.cmt-preview-name{font-size:13px;font-weight:700}.cmt-preview-time{font-size:12px;color:var(--muted);white-space:nowrap}.cmt-preview-body{margin-top:3px;font-size:13px;line-height:1.4;white-space:pre-wrap;word-break:break-word;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.cmt-preview-more{margin-top:5px;font-size:12px;color:var(--muted)}.cmt-msg-more-wrap{position:relative;margin-left:auto;align-self:center}.cmt-msg-more{width:22px;height:22px;display:grid;place-items:center;border:none;background:transparent;border-radius:6px;color:var(--muted);cursor:pointer;opacity:1;transition:background .12s,color .12s}.cmt-msg-more:hover,.cmt-msg-more[aria-expanded=true]{background:var(--panel-2);color:var(--text)}.cmt-msg-more-wrap .cmt-more-menu{top:26px}.cmt-composer{width:264px;gap:8px;padding:12px}.cmt-composer-input{width:100%;min-height:52px;resize:vertical;padding:8px 10px;font:inherit;font-size:13.5px;color:var(--text);background:var(--panel-2);border:1px solid var(--line-2);border-radius:10px;outline:none}.cmt-composer-input:focus{border-color:var(--accent-lg)}.cmt-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.cmt-btn{padding:6px 11px;font-size:13px;font-weight:600;border-radius:8px;border:1px solid transparent;cursor:pointer;background:transparent;color:var(--text)}.cmt-btn:disabled{opacity:.5;cursor:default}.cmt-btn--primary{background:var(--accent-lg);color:#fff}.cmt-btn--primary:not(:disabled):hover{filter:brightness(1.08)}.cmt-btn--ghost{color:var(--muted)}.cmt-btn--ghost:hover{color:var(--text);background:var(--panel-2)}.comments-panel{display:flex;flex-direction:column;gap:10px;min-height:0;padding:14px;background:color-mix(in srgb,var(--lg-page) 84%,var(--glass));border:1px solid var(--glass-edge);border-radius:var(--lg-radius-card);box-shadow:var(--glass-shadow);backdrop-filter:blur(26px) saturate(180%) brightness(var(--glass-b));-webkit-backdrop-filter:blur(26px) saturate(180%) brightness(var(--glass-b));color:var(--lg-text)}.comments-panel-head{display:flex;flex-direction:column;gap:8px}.comments-panel-title{font-size:var(--fs-md);font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--lg-muted)}.comments-filter{display:flex;gap:4px;background:var(--lg-field);border:1px solid var(--glass-edge);border-radius:var(--radius-pill);padding:3px}.comments-filter-btn{flex:1;padding:5px 8px;font-size:var(--fs-sm);font-weight:600;color:var(--lg-muted);background:transparent;border:none;border-radius:var(--radius-pill);cursor:pointer}.comments-filter-btn.active{color:#fff;background:var(--accent-lg)}.comments-hint{font-size:var(--fs-xs);color:var(--lg-muted)}.comments-list{display:flex;flex-direction:column;gap:4px;overflow-y:auto}.comments-empty{padding:18px 8px;text-align:center;font-size:var(--fs-sm);color:var(--lg-muted)}.cmt-row{display:flex;gap:9px;align-items:flex-start;text-align:left;width:100%;padding:8px;background:var(--lg-field);border:1px solid var(--glass-edge);border-radius:var(--radius-md);cursor:pointer;color:var(--lg-text)}.cmt-row:hover{border-color:var(--glass-hl);background:var(--lg-hover)}.cmt-row-avatar{flex-shrink:0;box-sizing:border-box;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;line-height:1;letter-spacing:.2px;color:#fff}.cmt-row.active{border-color:var(--accent-lg);box-shadow:0 0 0 1px var(--accent-lg) inset}.cmt-row.resolved{opacity:.62}.cmt-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cmt-row-author{font-size:var(--fs-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmt-row-snippet{font-size:var(--fs-sm);color:var(--lg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmt-row-meta{display:flex;gap:8px;font-size:var(--fs-xs);color:var(--lg-muted)}.cmt-row-resolve{flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:none;background:transparent;color:var(--muted);cursor:pointer}.cmt-row-resolve:hover{background:var(--panel);color:#43c98a}.cmt-row.resolved .cmt-row-resolve{color:#43c98a}.tool-group--solo{flex:0 0 auto!important}.presence-bar{display:flex;align-items:center;gap:0;height:36px;pointer-events:auto}.presence-offline{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;white-space:nowrap;color:#94a3b8;background:#94a3b826}.presence-av{position:relative;width:36px;height:36px;border-radius:50%;border:2px solid var(--lg-page);display:grid;place-items:center;cursor:pointer;padding:0;background:var(--peer, #888);transition:transform .08s ease,box-shadow .08s ease}.presence-av+.presence-av{margin-left:-12px}.presence-av:hover:not(:disabled){transform:translateY(-1px);z-index:2;box-shadow:0 3px 10px #0006}.presence-av:disabled{cursor:default}.presence-av--idle{opacity:.55}.presence-av--here{box-shadow:0 0 0 2px var(--accent-lg)}.presence-av-ini{font-size:12px;font-weight:700;color:#fff;letter-spacing:.2px}.presence-av-floor{position:absolute;right:-4px;bottom:-4px;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:var(--bg);color:var(--text);border:1px solid var(--line-2);font-family:var(--num-font);font-size:9px;font-weight:700;line-height:12px;text-align:center}.presence-av-msg{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:6;width:max-content;max-width:220px;padding:4px 9px;border-radius:9px;background:var(--peer, #888);color:#fff;font-size:12px;font-weight:600;line-height:1.3;white-space:pre-wrap;overflow-wrap:anywhere;text-align:left;pointer-events:none;box-shadow:0 6px 18px #00000073;animation:cursor-msg-fade 5s ease forwards}.sheet-bar{display:none}.draft-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.draft-actions .btn{flex:1;min-width:84px;min-height:40px;justify-content:center}.co-menu,.fp-menu{max-height:min(70vh,calc(100dvh - 72px));overflow-y:auto;overscroll-behavior:contain}.result-row:focus-visible,.filter-chip:focus-visible,.cs-dots:focus-visible,.cs-status-dot:focus-visible,.cs-add-btn:focus-visible,.cs-help:focus-visible,.toolbar .tool-caret:focus-visible,.co-floor:focus-visible,.co-fa-btn:focus-visible{outline:2px solid var(--accent-2);outline-offset:1px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.spinner{animation-duration:.7s!important;animation-iteration-count:infinite!important}}@media (max-width: 1024px){.stage-area{padding-bottom:calc(56px + env(safe-area-inset-bottom))}.toolbar{height:calc(56px + env(safe-area-inset-bottom));padding-bottom:calc(6px + env(safe-area-inset-bottom))}.tool-menu--portal{bottom:calc(max(var(--kbd-inset, 0px),56px + env(safe-area-inset-bottom)) + 8px)}.kbd-open .obj-palette{max-height:calc(var(--kbd-vvh, 62vh) - 40px)}.save-status-box{left:calc(12px + env(safe-area-inset-left))!important;right:auto!important;bottom:calc(68px + env(safe-area-inset-bottom))!important}.cs-bar{top:calc(14px + env(safe-area-inset-top))}.zoom-ctrls,.stage-ctrls{right:calc(14px + env(safe-area-inset-right))}.cs-panel{left:10px;right:10px;width:auto;max-width:none;transform:none;animation:none;top:calc(64px + env(safe-area-inset-top));max-height:calc(100dvh - 84px);padding-bottom:calc(10px + env(safe-area-inset-bottom))}.cs-fs-x{right:calc(12px + env(safe-area-inset-right));width:44px;height:44px}.co-floors{gap:4px}.co-floor,.co-fa-btn{width:40px;height:40px}.cs-dots,.cs-status-dot{min-width:32px}.canvas-overlay .co-history{display:flex;flex-direction:column;position:fixed;right:calc(14px + env(safe-area-inset-right));bottom:calc(64px + env(safe-area-inset-bottom));z-index:30;pointer-events:auto}.canvas-overlay.has-collapsed-sheet .co-history{bottom:calc(94px + env(safe-area-inset-bottom))}.co-br-panel.co-br-panel.is-expanded{max-height:min(66dvh,calc(100dvh - 150px))}.co-br-panel.co-br-panel:not(.is-expanded){height:calc(30px + env(safe-area-inset-bottom));max-height:none;min-height:0;overflow:hidden}.co-br-panel.co-br-panel:not(.is-expanded)>*:not(.sheet-bar){display:none}.co-br-panel .sheet-chevron,.co-br-panel .sheet-label{display:none}.sheet-bar{display:flex;position:relative;align-items:center;justify-content:center;flex:none;width:100%;height:26px;touch-action:none;cursor:grab;padding:0;border:0;background:transparent;color:var(--lg-muted);cursor:pointer}.sheet-bar:hover{color:var(--lg-text)}.sheet-grip{width:36px;height:4px;border-radius:999px;background:var(--lg-field-border)}.sheet-bar svg{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.sel-popover .sheet-bar{padding-right:30px}.ob-panel{left:8px;right:8px;width:auto;max-width:none;top:auto;bottom:calc(64px + env(safe-area-inset-bottom));max-height:50vh}.admin-overlay{align-items:flex-start;padding-top:max(12px,env(safe-area-inset-top))}.admin-card{max-height:calc(100dvh - 24px)}.modal-actions .btn{min-height:44px}}@media (max-width: 640px){.toolbar .tool-caret{min-width:26px;min-height:44px}.toolbar .tool{width:auto}.co-menu{min-width:248px}.sel-popover.sel-popover{position:fixed;left:0;right:0;width:auto;top:auto;bottom:calc(56px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.sel-popover.sel-popover.is-expanded{max-height:min(66dvh,calc(100dvh - 150px))}.sel-popover.sel-popover:not(.is-expanded){height:calc(30px + env(safe-area-inset-bottom));max-height:none;min-height:0;padding:0;overflow:hidden}.sel-popover.sel-popover:not(.is-expanded)>*:not(.sheet-bar){display:none}}.dwg-import{display:flex;flex-direction:column;gap:14px}.dwg-steps{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:2px 0 4px;padding:0;list-style:none}.dwg-steps li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--lg-muted)}.dwg-steps__num{flex:0 0 auto;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;border:1px solid var(--glass-edge);color:inherit}.dwg-steps li.is-current{color:var(--lg-text);font-weight:600}.dwg-steps li.is-current .dwg-steps__num{background:var(--accent-lg);border-color:transparent;color:#fff}.dwg-steps li.is-done .dwg-steps__num{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.dwg-steps__sep{width:22px;height:1px;margin-left:4px;background:var(--glass-edge)}.dwg-drop{display:flex;flex-direction:column;align-items:center;gap:8px;padding:26px 20px;text-align:center;border:1px dashed var(--glass-edge);border-radius:var(--lg-radius-card);background:color-mix(in srgb,var(--lg-page) 40%,transparent);transition:border-color .15s ease,background .15s ease}.dwg-drop--slim{padding:18px 20px}.dwg-drop.is-over{border-color:var(--accent-lg);border-style:solid;background:var(--accent-soft)}.dwg-drop.is-disabled{opacity:.5}.dwg-drop__icon{color:var(--lg-muted)}.dwg-drop__title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--lg-text)}.dwg-drop__hint{font-size:13px;color:var(--lg-muted);max-width:560px}.dwg-drop .btn{margin-top:4px}.dwg-optional{font-size:11px;font-weight:600;text-transform:lowercase;color:var(--lg-muted);border:1px solid var(--glass-edge);border-radius:999px;padding:1px 8px}.dwg-note{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;color:var(--lg-text);border:1px solid var(--glass-edge);border-radius:var(--lg-radius);background:color-mix(in srgb,var(--lg-page) 40%,transparent)}.dwg-note>svg{flex:0 0 auto;margin-top:1px;color:var(--accent)}.dwg-note--warn{border-color:color-mix(in srgb,#d99a2b 40%,var(--glass-edge));background:color-mix(in srgb,#d99a2b 10%,transparent)}.dwg-note--warn>svg{color:#d99a2b}.dwg-note--error{border-color:color-mix(in srgb,var(--danger) 45%,var(--glass-edge));background:color-mix(in srgb,var(--danger) 12%,transparent)}.dwg-note--error>svg{color:var(--danger)}.dwg-note code{font-size:12px;padding:0 4px;border-radius:4px;background:color-mix(in srgb,var(--lg-text) 10%,transparent)}.dwg-note .btn{flex:0 0 auto;white-space:nowrap}.map-attribution{position:absolute;right:12px;bottom:12px;z-index:5;padding:4px 9px;border-radius:var(--radius-pill);font-size:11px;line-height:1.4;letter-spacing:.01em;text-decoration:none;color:var(--lg-text);background:var(--glass);border:1px solid var(--glass-edge);backdrop-filter:blur(10px) saturate(160%);-webkit-backdrop-filter:blur(10px) saturate(160%);pointer-events:auto}.map-attribution:hover{background:var(--lg-hover)}.map-panel-sep{height:1px;margin:12px 0 10px;background:var(--glass-edge)}.map-panel-actions{display:flex;gap:8px}.map-panel-actions .btn{flex:1}.dash-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-fullscreen-panel);background:#06080d}.dash-map{position:absolute;top:0;right:0;bottom:0;left:0}.dash-map [class*=copyright],.dash-map [class*=Copyright],.dash-map [class*=control]{display:none!important}.dash-model{z-index:1}.dash-fov-probe{width:0;height:0;pointer-events:none}.dash-close{position:absolute;top:14px;right:16px;z-index:2}.dash-note{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;max-width:420px;padding:14px 18px;border-radius:14px;background:#090d15e6;border:1px solid rgba(255,255,255,.1);color:#e8edf7;font-size:13px;line-height:1.5;text-align:center}.dash-pin{display:flex;align-items:center;gap:6px;transform:translate(-50%,-50%);cursor:pointer;white-space:nowrap}.dash-pin-dot{width:11px;height:11px;border-radius:50%;background:var(--pin, #e5484d);box-shadow:0 0 0 2px #06080de6,0 0 10px color-mix(in srgb,var(--pin, #e5484d) 60%,transparent)}.dash-pin.is-active .dash-pin-dot{width:15px;height:15px;box-shadow:0 0 0 3px #06080de6,0 0 16px var(--pin, #2f6fed)}.dash-pin-label{font-size:11px;font-weight:600;color:#e8edf7;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.7)}.dash-pin:hover .dash-pin-label{color:#fff}.dash-pin--scene{position:relative;width:0;height:0;transform:none}.dash-pin--scene .dash-pin-dot{position:absolute;left:0;top:0;transform:translate(-50%,-50%)}.dash-pin--scene .dash-pin-label{position:absolute;left:12px;top:0;transform:translateY(-50%)}.dash-pin--scene.is-active .dash-pin-label{left:14px}[data-theme=light] .dash-pin--scene .dash-pin-label{color:#101623;text-shadow:0 1px 3px rgba(255,255,255,.95),0 0 8px rgba(255,255,255,.85)}[data-theme=light] .dash-pin--scene:hover .dash-pin-label{color:#000}.map-provider-list{display:flex;flex-direction:column;gap:10px;margin:8px 0 4px}.map-provider{display:flex;gap:10px;align-items:flex-start;line-height:1.45}.map-provider input{margin-top:3px}.map-keys{margin:6px 0 8px;padding-left:18px;line-height:1.6}.dash-tilt{position:absolute;top:14px;right:62px;z-index:2;padding:0 12px;height:34px;font-size:12.5px}
