:root{--bg: #f5f5f7;--panel: #fbfbfd;--panel-2: #f2f3f5;--panel-3: #ffffff;--border: rgba(0, 0, 0, .1);--border-dark: rgba(0, 0, 0, .16);--text: #1d1d1f;--muted: #6e6e73;--subtle: #8e8e93;--accent: #007aff;--accent-soft: rgba(0, 122, 255, .1);--danger: #ff3b30;--warning: #ff9500;--success: #34c759;--ai: #5856d6;--shadow: 0 12px 34px rgba(0, 0, 0, .1);--shadow-soft: 0 8px 24px rgba(0, 0, 0, .08);--browser-panel-width: 240px;--properties-panel-width: 280px;--workspace-resizer-width: 8px;--sidebar-rail-width: 22px;--app-header-height: 52px;--workspace-header-height: 46px;--ribbon-expanded-height: 86px;--ribbon-collapsed-height: 36px;--ribbon-row-height: var(--ribbon-expanded-height);--status-bar-height: 30px;--plan-status-bar-height: 30px;--workspace-left-track: var(--browser-panel-width);--workspace-right-track: var(--properties-panel-width);--workspace-left-rail-track: 0px;--workspace-right-rail-track: 0px;--drawer-top: calc(var(--app-header-height) + var(--ribbon-row-height));--drawer-bottom: var(--status-bar-height);--side-panel-top: calc(var(--drawer-top) + var(--workspace-header-height));--side-panel-bottom: var(--status-bar-height);--side-panel-height: calc(100vh - var(--side-panel-top) - var(--side-panel-bottom));--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}:root.light-mode{--bg: #eef1f5;--panel: #ffffff;--panel-2: #f4f6f8;--panel-3: #ffffff}*{box-sizing:border-box}body{margin:0;height:100vh;width:100vw;--drawer-top: calc(var(--app-header-height) + var(--ribbon-row-height));--side-panel-top: calc(var(--drawer-top) + var(--workspace-header-height));--side-panel-bottom: var(--status-bar-height);--side-panel-height: calc(100vh - var(--side-panel-top) - var(--side-panel-bottom));overflow:hidden;display:grid;grid-template-rows:var(--app-header-height) var(--ribbon-row-height) minmax(0,1fr) var(--status-bar-height);color:var(--text);background:var(--bg);font-family:var(--font);font-size:13px;letter-spacing:0}body.plan-view-active{--status-bar-height: var(--plan-status-bar-height)}body.ribbon-collapsed{--ribbon-row-height: var(--ribbon-collapsed-height)}body.left-sidebar-collapsed{--workspace-left-track: 0px;--workspace-left-rail-track: var(--sidebar-rail-width)}body.right-sidebar-collapsed{--workspace-right-track: 0px;--workspace-right-rail-track: var(--sidebar-rail-width)}body.drawer-open{touch-action:none}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 3px #007aff2e;border-color:#007aff57}.hidden{display:none!important}.app-header{display:flex;align-items:center;justify-content:space-between;background:#fbfbfde0;color:var(--text);border-bottom:1px solid var(--border);padding:0 14px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-brand{min-width:0;display:flex;align-items:center;gap:10px}.brand-mark{width:32px;height:32px;display:grid;place-items:center;background:linear-gradient(180deg,#fff,#f0f2f5);border:1px solid var(--border);border-radius:8px;box-shadow:inset 0 1px #ffffffdb,0 1px 2px #0000000d;color:var(--accent)}.app-brand h1{margin:0;font-size:15px;font-weight:650}.app-brand div:last-child{min-width:0}.app-brand h1,.app-brand span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-brand span,.app-context label{color:var(--muted);font-size:11px}.app-context{min-width:0;display:flex;align-items:center;gap:10px}.auth-chip{min-width:216px;height:36px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 6px;border:1px solid var(--border);border-radius:9px;background:#ffffffb8;color:var(--text)}.auth-chip svg{width:18px;height:18px;color:var(--muted)}.auth-chip span,.auth-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-chip span{font-size:12px;font-weight:600}.auth-chip small{color:var(--muted);font-size:10px}.mobile-shell-button{display:none}.app-context label{display:flex;align-items:center;gap:6px}.project-selector{min-width:180px}.project-selector select{max-width:220px}.app-context select,.properties-form input,.properties-form select{height:28px;border:1px solid var(--border);border-radius:7px;background:var(--panel-3);color:var(--text);padding:0 8px}svg{stroke-width:1.75}.icon-button,.ribbon-tool,.tree-node,.tree-group-header,.view-tab,.family-card,.text-button,.primary-button,.secondary-button{border:1px solid transparent;border-radius:8px}.icon-button{width:34px;height:34px;display:inline-grid;place-items:center;background:transparent;color:var(--muted);border-color:transparent}.icon-button svg{width:17px;height:17px}.icon-button:hover{background:#0000000e;color:var(--text)}.text-button.compact{height:26px;padding:0 8px;color:var(--accent);border-color:transparent;background:transparent;font-size:11px}.auth-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:#0f172a6b}.auth-card{width:min(380px,calc(100vw - 24px));display:grid;gap:14px;padding:14px;border:1px solid var(--border-dark);border-radius:12px;background:var(--panel-3);box-shadow:var(--shadow)}.auth-card header,.auth-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-card h2{margin:0;font-size:16px}.auth-card header span{color:var(--muted);font-size:12px}.auth-card label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.auth-card input{height:34px;border:1px solid var(--border);border-radius:4px;padding:0 10px;color:var(--text)}.auth-error{min-height:18px;margin:0;color:var(--danger);font-size:12px;font-weight:700}.auth-card.is-busy{opacity:.7;pointer-events:none}.ribbon{display:grid;grid-template-rows:31px minmax(0,1fr);min-width:0;min-height:0;background:#fbfbfdeb;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden}.ribbon.collapsed{grid-template-rows:minmax(0,1fr)}.ribbon-tabs-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:stretch;border-bottom:1px solid var(--border)}.ribbon-tabs{min-width:0;display:flex;align-items:end;gap:1px;padding:3px 8px 0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.ribbon-tab{flex:0 0 auto;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-bottom:0;border-radius:4px 4px 0 0;background:transparent;color:var(--muted);padding:0 12px;font-size:12px;font-weight:650;white-space:nowrap}.ribbon-tab:hover{color:var(--text);background:#0000000a}.ribbon-tab.active{color:var(--accent);background:var(--panel-3);border-color:var(--border);box-shadow:inset 0 2px 0 var(--accent)}.ribbon-collapse-button{width:34px;height:30px;align-self:center;justify-self:center;display:grid;place-items:center;border-radius:4px;background:transparent;color:var(--muted)}.ribbon-collapse-button:hover{background:#0000000b;color:var(--text)}.ribbon-collapse-button svg{width:17px;height:17px}.ribbon-panel-row{min-width:0;min-height:0;display:flex;align-items:stretch;gap:0;padding:5px 8px 6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.ribbon-panel-row[hidden]{display:none}.ribbon-panel{flex:0 0 auto;display:grid;grid-template-rows:minmax(0,1fr) 13px;align-items:stretch;gap:2px;padding:0 11px;border-right:1px solid var(--border)}.ribbon-panel:last-child{border-right:0}.ribbon-panel-tools{min-width:0;display:flex;align-items:center;gap:4px}.ribbon-panel>span{min-width:0;padding:0 2px;color:var(--muted);font-size:10px;font-weight:600;line-height:1;text-align:center;text-transform:uppercase}.ribbon-tool{min-width:58px;height:43px;display:grid;place-items:center;background:transparent;color:var(--text);padding:0}.ribbon-tool:focus-visible{box-shadow:none;border-color:transparent}.ribbon-tool-surface{min-width:52px;max-width:100%;height:32px;display:grid;place-items:center;gap:2px;padding:3px 7px;border:1px solid transparent;border-radius:7px;background:transparent;color:inherit}.ribbon-tool-surface svg{width:18px;height:18px}.ribbon-tool-surface b{max-width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:550;line-height:1}.ribbon-tool:hover .ribbon-tool-surface{background:#0000000b}.ribbon-tool.active .ribbon-tool-surface{background:var(--accent-soft);border-color:#007aff2e;color:var(--accent)}.ribbon-tool:focus-visible .ribbon-tool-surface{border-color:#007aff57;box-shadow:0 0 0 3px #007aff2e}.view-tab.active,.tree-node.active{background:var(--accent-soft);border-color:#007aff2e;color:var(--accent)}.workspace{min-height:0;min-width:0;position:relative;display:grid;grid-template-columns:var(--workspace-left-rail-track) var(--workspace-left-track) var(--workspace-resizer-width) minmax(0,1fr) var(--workspace-resizer-width) var(--workspace-right-track) var(--workspace-right-rail-track);overflow:hidden;background:#e8eaed}body.left-sidebar-collapsed .project-browser,body.left-sidebar-collapsed .workspace-resizer-left,body.right-sidebar-collapsed .properties-panel,body.right-sidebar-collapsed .workspace-resizer-right{visibility:hidden;pointer-events:none}.sidebar-rail{width:var(--sidebar-rail-width);height:var(--side-panel-height);min-width:0;display:grid;place-items:center;align-self:start;margin-top:var(--workspace-header-height);padding:0;border:0;background:#76768024;color:var(--muted);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:background .16s ease,color .16s ease}.sidebar-rail-left{grid-column:1;visibility:hidden;pointer-events:none}.sidebar-rail-left{border-right:1px solid rgba(0,0,0,.08)}.sidebar-rail-right{grid-column:7;visibility:hidden;pointer-events:none;border-left:1px solid rgba(0,0,0,.08)}.sidebar-rail:hover,.sidebar-rail:focus-visible{background:#76768038;color:var(--text)}.sidebar-rail svg{width:13px;height:13px;stroke-width:2.4}body.left-sidebar-collapsed .sidebar-rail-left,body.right-sidebar-collapsed .sidebar-rail-right{visibility:visible;pointer-events:auto}.project-browser,.properties-panel{width:var(--browser-panel-width);height:var(--side-panel-height);display:flex;flex-direction:column;align-self:start;margin-top:var(--workspace-header-height);background:#fbfbfdf0;border-right:1px solid var(--border);min-height:0;min-width:0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.project-browser{grid-column:2;width:100%}.properties-panel{grid-column:6;width:100%;border-right:0;border-left:1px solid var(--border);overflow:auto}.drawer-backdrop{display:none}.workspace-resizer{position:relative;z-index:30;width:100%;height:var(--side-panel-height);align-self:start;margin-top:var(--workspace-header-height);background:linear-gradient(90deg,transparent,rgba(0,0,0,.08),transparent);cursor:col-resize;pointer-events:auto;touch-action:none;transition:background .16s ease}.workspace-resizer:hover,.workspace-resizer.resizing{background:linear-gradient(90deg,transparent,rgba(0,122,255,.38),transparent)}.workspace-resizer-left{grid-column:3;margin-left:0}.workspace-resizer-right{grid-column:5;margin-right:0}.panel-title-row{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 10px;border-bottom:1px solid var(--border);background:#ffffffa8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel-title-row h2{min-width:0;flex:1 1 auto}.panel-title-actions{display:flex;align-items:center;gap:8px}.sidebar-collapse-button{width:28px;height:28px;flex:0 0 28px;color:var(--muted);background:transparent;border-color:transparent}.sidebar-collapse-button:hover{color:var(--text);background:#0000000b}.drawer-close-button{display:none;width:28px;height:28px;color:var(--text);background:var(--panel-3);border-color:var(--border)}.panel-title-row h2,.workspace-tabs h2,.ai-console h2{margin:0;font-size:13px;font-weight:650}.panel-title-row span,.active-view-label span,.ai-console header span{color:var(--muted);font-size:11px}.browser-tree{min-height:0;flex:1;overflow:auto;padding:6px}.tree-group{margin-bottom:3px}.tree-group-header-row{display:grid;grid-template-columns:minmax(0,1fr) 26px;align-items:center;gap:4px}.tree-group-header{width:100%;height:28px;display:flex;align-items:center;gap:6px;background:transparent;color:var(--text);font-weight:600;text-align:left}.tree-add-button{width:24px;height:24px;display:grid;place-items:center;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}.tree-group-header-row:hover .tree-add-button,.tree-add-button:focus-visible{opacity:1}.tree-add-button:hover{background:var(--accent-soft);color:var(--accent)}.tree-add-button svg{width:14px;height:14px}.tree-group:not(.open) .tree-group-children{display:none}.tree-group.open .tree-group-header svg{transform:rotate(90deg)}.tree-group-children{display:grid;gap:2px;padding-left:14px}.tree-empty{min-height:24px;display:flex;align-items:center;padding:3px 7px;color:var(--subtle);font-size:11px}.tree-node{min-height:28px;display:flex;align-items:center;gap:7px;background:transparent;color:var(--text);text-align:left;padding:4px 7px}.tree-node:hover{background:#0000000b}.tree-node svg{width:15px;height:15px;color:var(--muted)}.tree-node.active svg,.tree-node:hover svg{color:currentColor}.workspace-main{grid-column:4;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--workspace-header-height) minmax(0,1fr);background:#fff;overflow:hidden}.workspace-main>.view-panel{min-width:0;min-height:0}.workspace-tabs{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px;background:var(--panel-3);border-bottom:1px solid var(--border)}.active-view-label{min-width:0;flex:0 0 210px;display:flex;align-items:center;gap:8px}.active-view-label>div{min-width:0}.active-view-label h2,.active-view-label span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-view-label svg{color:var(--accent)}.view-tabs{min-width:0;flex:1;display:flex;align-items:center;gap:4px;overflow-x:auto}.view-tab{flex:0 0 auto;height:30px;display:flex;align-items:center;gap:5px;background:transparent;color:var(--text);padding:0 9px;white-space:nowrap}.view-tab svg{width:14px;height:14px}.view-tab:hover{background:#0000000b}.view-panel{display:none;min-height:0;min-width:0;width:100%;overflow:hidden}.view-panel.active{display:block}.canvas-container,.plan-container,.pdf-container,.data-view-host{width:100%;max-width:100%;height:100%;position:relative;overflow:hidden}.canvas-container{background:#0f172a}#viewport-hud{position:absolute;left:10px;bottom:10px;display:grid;gap:4px;pointer-events:none;font-family:var(--mono);font-size:11px}#viewport-hud span{width:max-content;max-width:520px;background:#0f172ad1;border:1px solid rgba(148,163,184,.35);color:#e5e7eb;padding:5px 7px;border-radius:4px}.viewport-nav-widget{position:absolute;top:8px;right:8px;z-index:5;display:grid;grid-auto-flow:column;grid-auto-columns:max-content;align-items:start;gap:6px;justify-items:end;pointer-events:auto;-webkit-user-select:none;user-select:none}.viewcube-shell{position:relative;width:103px;height:103px;display:grid;place-items:center;border-radius:4px}.viewport-nav-tool{border:1px solid rgba(100,116,139,.42);background:#f8fafce6;color:#334155;cursor:pointer;letter-spacing:0}.viewport-nav-tool:hover,.viewport-nav-tool:focus-visible{border-color:#2563ebb8;color:#1d4ed8;outline:none}.viewport-nav-tool.active{border-color:#2563ebe0;background:#eff6ff;color:#1d4ed8}.viewport-nav-tool svg{width:14px;height:14px;stroke-width:2}.viewcube-canvas-host{width:99px;height:99px;display:grid;place-items:center}.viewcube-canvas{width:99px;height:99px;display:block;cursor:pointer}.canvas-container.nav-mode-orbit canvas{cursor:grab}.canvas-container.nav-mode-pan canvas{cursor:move}.canvas-container.nav-mode-zoom canvas{cursor:zoom-in}.viewport-navigation-bar{display:grid;gap:4px;padding:5px;border:1px solid rgba(100,116,139,.36);border-radius:4px;background:#f8fafce0;box-shadow:0 10px 22px #0f172a29}.viewport-nav-tool{width:30px;height:30px;display:grid;place-items:center;padding:0;border-radius:3px;background:#ffffffe6}.pdf-container{display:grid;place-items:center;padding:18px;background:#eceef1}.plan-container{display:grid;place-items:stretch;padding:0;background:#fff}#plan-svg-canvas{width:100%;height:100%;display:block;background:#fff;cursor:grab;touch-action:none}#plan-svg-canvas.is-panning{cursor:grabbing!important}.plan-grid-line{stroke:#94a3b847;stroke-width:1;vector-effect:non-scaling-stroke;-webkit-user-select:none;user-select:none}.plan-grid-line.major{stroke:#64748b52}.plan-wall,.plan-route,.plan-datum,.plan-modeling-preview{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:square}.plan-wall{stroke:#334155}.plan-wall.plan-wall-band{fill:#0f172a13;stroke:transparent;stroke-width:0;stroke-linejoin:round;vector-effect:non-scaling-stroke}.plan-wall-face{fill:none;stroke:#1f2937;stroke-width:1.25;stroke-linecap:square;vector-effect:non-scaling-stroke}.plan-room-area{fill:#0ea5e914;stroke:none}.plan-room-space.space .plan-room-area{fill:#8b5cf614}.plan-room-boundary{fill:none;stroke:#0e74908c;stroke-width:1.5;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}.plan-room-space.space .plan-room-boundary{stroke:#6d28d980}.plan-room-label{font-family:var(--mono);font-size:10px;fill:#0f172a;font-weight:800;letter-spacing:0;pointer-events:none;-webkit-user-select:none;user-select:none}.plan-room-label.secondary,.plan-room-label .secondary{fill:#64748b;font-size:9px;font-weight:700}.plan-model-footprint-area{fill:#64748b1c;stroke:none}.plan-model-footprint-outline{fill:none;stroke:#4755699e;stroke-width:1.4;vector-effect:non-scaling-stroke}.plan-roof-footprint .plan-model-footprint-area{fill:#94a3b821}.plan-zone-footprint .plan-model-footprint-area{fill:#0ea5e914}.plan-model-footprint-ridge{stroke:#47556994;stroke-width:1.2;stroke-dasharray:8 5;vector-effect:non-scaling-stroke}.plan-opening-gap{stroke:#fff;stroke-linecap:square}.plan-door-leaf,.plan-door-swing,.plan-window-line{fill:none;stroke:#111827;stroke-width:1.35;vector-effect:non-scaling-stroke}.plan-door-swing{stroke-width:1.05}.plan-window-line{stroke:#0369a1}.plan-route.pipe{stroke:#0f766e}.plan-route.duct{stroke:#2563eb;stroke-linecap:butt}.plan-route.conduit{stroke:#ca8a04}.plan-route.cable-tray{stroke:#92400e;stroke-dasharray:9 4}.plan-route-fitting{vector-effect:non-scaling-stroke}.plan-route-fitting-body{fill:#f8fafc;stroke:#111827;stroke-width:1.5;vector-effect:non-scaling-stroke}.plan-route-fitting.pipe-fitting .plan-route-fitting-body{stroke:#0f766e}.plan-route-fitting.duct-fitting .plan-route-fitting-body{stroke:#2563eb}.plan-route-fitting.conduit-fitting .plan-route-fitting-body{stroke:#ca8a04}.plan-route-fitting.cable-tray-fitting .plan-route-fitting-body{stroke:#92400e}.plan-route-fitting-leg{stroke:#111827;stroke-width:1.25;vector-effect:non-scaling-stroke;pointer-events:none}.plan-datum{stroke:#64748b;stroke-width:1.5}.plan-datum.reference-plane{stroke:#8b5cf6;stroke-dasharray:10 7}.plan-datum-bubble{fill:#fff;stroke:#64748b;stroke-width:1.5}.plan-datum-label,.plan-level-label,.plan-symbol-label{font-family:var(--mono);font-size:10px;fill:#1f2937;font-weight:800;pointer-events:none;-webkit-user-select:none;user-select:none}.plan-level-label{fill:#475569}.plan-diagnostic{font-family:var(--font);font-size:13px;font-weight:700;fill:#475569;paint-order:stroke;stroke:#ffffffeb;stroke-width:4px;pointer-events:none;-webkit-user-select:none;user-select:none}.plan-diagnostic.warning{fill:#b45309}.plan-symbol-box{fill:#ffffffdb;stroke:#475569;stroke-width:2;vector-effect:non-scaling-stroke}.plan-symbol.discipline-mechanical .plan-symbol-box{fill:#2563eb1c;stroke:#2563eb}.plan-symbol.discipline-electrical .plan-symbol-box{fill:#f59e0b26;stroke:#ca8a04}.plan-symbol.discipline-plumbing .plan-symbol-box{fill:#0891b21f;stroke:#0891b2}.plan-symbol.discipline-architectural .plan-symbol-box{fill:#64748b1c;stroke:#475569}.plan-modeling-preview{stroke:#111827;stroke-width:3;stroke-dasharray:8 6;opacity:.72}.plan-opening-preview{pointer-events:none;opacity:.78}.plan-snap-guide{fill:none;stroke:#007aff9e;stroke-width:1.5;stroke-dasharray:5 5;vector-effect:non-scaling-stroke;pointer-events:none}.plan-snap-marker{fill:#fffffff0;stroke:#007aff;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.plan-selection-marquee{fill:#2563eb17;stroke:#2563eb;stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}.plan-selection-marquee[data-selection-mode=crossing]{fill:#10b9811a;stroke:#059669;stroke-dasharray:7 5}.plan-object-selected,[data-plan-selected=true]{stroke:#2563eb!important;stroke-width:2.75px;filter:drop-shadow(0 0 3px rgba(37,99,235,.55));vector-effect:non-scaling-stroke}polygon.plan-object-selected,[data-plan-selected=true].plan-wall-band,[data-plan-selected=true].plan-room-area{fill:#2563eb1f!important}g.plan-object-selected .plan-door-leaf,g.plan-object-selected .plan-door-swing,g.plan-object-selected .plan-opening-gap,g.plan-object-selected .plan-room-boundary,g.plan-object-selected .plan-room-label,g.plan-object-selected .plan-window-glass,g[data-plan-selected=true] .plan-door-leaf,g[data-plan-selected=true] .plan-door-swing,g[data-plan-selected=true] .plan-opening-gap,g[data-plan-selected=true] .plan-room-boundary,g[data-plan-selected=true] .plan-room-label,g[data-plan-selected=true] .plan-window-glass{stroke:#2563eb!important;fill:#1d4ed8;filter:drop-shadow(0 0 3px rgba(37,99,235,.55))}.element-context-menu{position:fixed;z-index:80;min-width:184px;padding:6px;border:1px solid rgba(15,23,42,.16);border-radius:8px;background:#fffffffa;box-shadow:0 18px 42px #0f172a2e;color:#0f172a}.element-context-menu-title{max-width:220px;padding:6px 8px 8px;border-bottom:1px solid rgba(148,163,184,.22);color:#475569;font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.element-context-menu button{width:100%;display:flex;align-items:center;gap:8px;padding:8px;border:0;border-radius:6px;background:transparent;color:#0f172a;font:inherit;font-size:13px;text-align:left;cursor:pointer}.element-context-menu button:hover,.element-context-menu button:focus-visible{outline:none;background:#2563eb1a}.element-context-menu button.danger{color:#b91c1c}.element-context-menu svg{width:15px;height:15px;flex:0 0 auto}.plan-view-control-bar{position:absolute;top:10px;left:10px;z-index:8;display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;max-width:calc(100% - 20px);overflow-x:auto;overflow-y:hidden;padding:5px;border:1px solid rgba(100,116,139,.28);border-radius:4px;background:#fffffff0;box-shadow:0 8px 22px #0f172a1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);scrollbar-width:thin}.plan-view-control-bar label{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;color:#334155;font-size:11px;font-weight:700;white-space:nowrap}.plan-view-control-bar input,.plan-view-control-bar select{height:22px;width:78px;min-width:66px;max-width:104px;border:1px solid rgba(100,116,139,.32);background:#fff;color:#111827;font:700 11px var(--font);padding:0 6px;border-radius:3px;letter-spacing:0}.plan-view-control-bar input[data-plan-view-setting=scale]{width:96px}.view-filter-strip{position:absolute;top:10px;left:10px;right:10px;z-index:4;display:flex;flex-wrap:wrap;gap:5px;pointer-events:none}.view-filter-chip{border:1px solid rgba(37,99,235,.22);background:#ffffffe6;color:#1e3a8a;padding:4px 7px;font-size:10px;font-weight:750;line-height:1}.view-crop-overlay{position:absolute;top:18px;right:18px;bottom:18px;left:18px;z-index:3;pointer-events:none}.view-crop-region,.view-annotation-crop-region{position:absolute;border:1px dashed rgba(37,99,235,.24);background:#2563eb03;opacity:.46;transition:border-color .16s ease,background .16s ease,opacity .16s ease}.view-annotation-crop-region{border-color:#b4530933;background:#f59e0b03}body.crop-edit-active .view-crop-region,body.crop-edit-active .view-annotation-crop-region{border-width:2px;border-color:#2563eb;background:#2563eb0b;opacity:1}body.crop-edit-active .view-annotation-crop-region{border-color:#b45309;background:#f59e0b0a}.view-crop-region span,.view-annotation-crop-region span{position:absolute;top:-20px;left:-2px;padding:3px 6px;background:#ffffffd6;border:1px solid currentColor;color:inherit;font-size:10px;font-weight:800;opacity:0}body.crop-edit-active .view-crop-region span,body.crop-edit-active .view-annotation-crop-region span{opacity:1}#pdf-svg-canvas{width:min(100%,1200px);height:min(100%,820px);background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-soft);cursor:grab;touch-action:none}#pdf-svg-canvas.is-panning{cursor:grabbing!important}.pdf-grid-line{stroke:#d1d5db}.pdf-grid-label{-webkit-user-select:none;user-select:none}.pdf-origin-axis{stroke:#0f172a38;stroke-width:1.5;stroke-dasharray:6,10}.pdf-origin-marker{fill:#fff;stroke:#0f172a73;stroke-width:2}.pdf-wall{stroke:#475569;stroke-width:5;stroke-linecap:square}.pdf-mep-line.pipe{stroke:#0891b2;stroke-width:5}.pdf-mep-line.duct{stroke:#2563eb;stroke-width:9}.pdf-eq-box{fill:#007aff1f;stroke:var(--accent);stroke-width:2}[data-discipline=Architectural]{color:#64748b}[data-discipline=Structural]{color:#8e8e93}[data-discipline=Mechanical]{color:#007aff}[data-discipline=Electrical]{color:#ff9500}[data-discipline=Plumbing]{color:#00a7b5}[data-discipline=Coordination]{color:#6e6e73}[data-discipline=AI]{color:var(--ai)}.properties-form{display:grid;gap:8px;padding:10px}.properties-form label{display:grid;gap:4px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:0;text-align:left;text-transform:none}.properties-form input,.properties-form select,.properties-form textarea{min-width:0;width:100%}.inspector-group{display:grid;gap:8px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.properties-panel.narrow .properties-form{gap:6px;padding:7px}.properties-panel.narrow .field-grid{grid-template-columns:minmax(0,1fr);gap:6px}.properties-panel.narrow .property-section{gap:6px;padding:7px}.properties-panel.narrow .panel-title-actions span{display:none}.property-section,.side-section,.calc-card,.table-view,.data-toolbar,.detail-board,.exchange-view section,.ai-control-grid section{border:1px solid var(--border);background:var(--panel-3);border-radius:8px}.property-section{display:grid;gap:8px;padding:8px}.property-section h3,.side-section h3,.table-view h3,.data-toolbar h3{margin:0;font-size:12px}.calc-card{display:grid;gap:6px;padding:8px;background:#00000006}.calc-card div{display:flex;justify-content:space-between;gap:10px}.badge-status{color:var(--success)}.badge-status.warning{color:var(--warning)}.badge-status.error{color:var(--danger)}.primary-button{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--accent);border-color:transparent;color:#fff;padding:0 10px;font-weight:600;box-shadow:0 1px 2px #007aff33}.primary-button:hover{background:#006ee6}.primary-button.small{min-height:26px}.workspace-readiness-view{height:100%;overflow:auto;display:grid;align-content:start;gap:10px;padding:12px}.readiness-shortcuts,.readiness-chip-list{display:flex;flex-wrap:wrap;gap:6px}.readiness-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.readiness-stat,.readiness-section{border:1px solid var(--border);background:var(--panel-3);border-radius:8px}.readiness-stat{min-width:0;padding:9px}.readiness-stat span,.readiness-section header span{display:block;color:var(--muted);font-size:11px}.readiness-stat strong{display:block;margin-top:4px;font-size:18px}.readiness-section{display:grid;gap:8px;padding:10px}.readiness-section header{display:flex;align-items:center;justify-content:space-between;gap:10px}.readiness-section h3{margin:0;font-size:12px}.readiness-area-list{display:grid;gap:6px}.documentation-readiness-stats{display:flex;flex-wrap:wrap;gap:6px}.persistence-readiness-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.documentation-readiness-metric{min-height:28px;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:6px;padding:4px 7px;color:var(--muted);font-size:11px}.documentation-readiness-metric strong{color:var(--text);font-size:13px}.documentation-readiness-actions{display:flex;flex-wrap:wrap;gap:6px}.persistence-readiness-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.documentation-readiness p,.persistence-readiness p{margin:0;color:var(--muted);font-size:12px}.readiness-authoring-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.readiness-agent-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.readiness-authoring-button,.readiness-agent-button{min-width:0;min-height:58px;padding:8px;border:1px solid var(--border);border-radius:7px;background:var(--panel-2);color:var(--text);text-align:left}.readiness-authoring-button:hover,.readiness-agent-button:hover{background:#007aff0f;border-color:#007aff33}.readiness-authoring-button strong,.readiness-agent-button strong,.readiness-selected-element strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.readiness-authoring-button span,.readiness-agent-button span,.readiness-selected-element>span{display:block;margin-top:4px;color:var(--muted);font-size:11px}.agent-readiness p{margin:8px 0 0;color:var(--muted);font-size:12px}.readiness-selected-element{min-width:0;padding:8px;border:1px solid var(--border);border-radius:7px;background:var(--panel-2)}.readiness-selected-actions{display:flex;gap:6px;margin-top:8px}.readiness-area-row{width:100%;display:grid;grid-template-columns:74px 150px minmax(0,1fr);align-items:center;gap:10px;min-height:38px;padding:7px 8px;border:1px solid var(--border);border-radius:7px;background:var(--panel-2);color:var(--text);text-align:left}.readiness-area-row:hover{background:#007aff0f;border-color:#007aff33}.readiness-area-row span:last-child{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.readiness-state{display:inline-flex;justify-content:center;min-width:58px;padding:3px 6px;border-radius:999px;font-size:10px;font-weight:750;text-transform:uppercase}.readiness-state.ready{color:#166534;background:#34c75924}.readiness-state.next{color:#92400e;background:#ff950029}.readiness-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:10px}.readiness-chip-list span{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 7px;border:1px solid var(--border);border-radius:999px;background:var(--panel-2);color:var(--muted);font-size:11px}.readiness-chip-list strong{color:var(--text)}.readiness-operations{margin:0}.coordination-toolbar small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.coordination-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 12px 0}.coordination-stat,.coordination-issue-card{border:1px solid var(--border);background:var(--panel-3);border-radius:8px}.coordination-stat{padding:9px}.coordination-stat span{display:block;color:var(--muted);font-size:11px}.coordination-stat strong{display:block;margin-top:4px;font-size:18px}.coordination-issue-list{display:grid;gap:8px;padding:12px}.coordination-issue-card{display:grid;gap:8px;padding:10px}.coordination-issue-card header,.coordination-issue-actions,.coordination-issue-meta,.coordination-affected-elements{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.coordination-issue-card header{justify-content:space-between}.coordination-issue-card strong{display:block;margin-top:3px}.coordination-issue-card p,.coordination-issue-card small{margin:0;color:var(--muted);font-size:12px}.coordination-status,.coordination-issue-meta span,.coordination-affected-elements>span{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border:1px solid var(--border);border-radius:999px;background:var(--panel-2);color:var(--muted);font-size:11px}.coordination-status{color:var(--text);font-weight:700}.primary-button.icon-only{width:34px;padding:0}.secondary-button{min-height:30px;display:inline-flex;align-items:center;justify-content:center;background:var(--panel-3);border-color:var(--border);color:var(--text);padding:0 10px;font-weight:600}.secondary-button:hover{background:var(--panel-2)}.text-button{min-height:24px;background:transparent;color:var(--accent);padding:0 5px;font-weight:600}.text-button:hover{background:var(--accent-soft)}.side-section{margin:0 10px 10px;padding:8px}.ai-visibility{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.ai-visibility div{display:grid;gap:2px;padding:6px;background:#00000006;border:1px solid var(--border);border-radius:8px}.ai-visibility strong{color:var(--ai)}.ai-visibility span,.empty-compact{color:var(--muted);font-size:11px}.approval-queue,.agent-activity-feed,.design-run-panel{display:grid;gap:8px;margin-top:8px}.design-run-card{display:grid;gap:8px;padding:8px;border:1px solid var(--border);border-left:4px solid var(--ai);border-radius:8px;background:var(--panel-3)}.design-run-card.blocked{border-left-color:var(--danger)}.design-run-card.complete{border-left-color:var(--success)}.design-run-card header,.design-run-actions,.design-phase-main,.design-phase-actions{display:flex;align-items:center;gap:6px}.design-run-card header{justify-content:space-between}.design-run-card header div{display:grid;gap:2px;min-width:0}.design-run-card strong,.design-phase-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.design-run-card header span,.design-phase-main small{color:var(--muted);font-size:11px}.design-phase-list{display:grid;gap:5px;padding:0;margin:0;list-style:none}.design-phase-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:5px;border:1px solid var(--border);border-radius:7px;background:#00000006}.design-phase-sequence{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:800}.design-phase-main{min-width:0}.design-phase-main div{display:grid;gap:1px;min-width:0}.design-phase-actions,.design-run-actions{justify-content:flex-end}.agent-activity-card{display:grid;gap:6px;padding:8px;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:8px;background:var(--panel-3)}.agent-activity-card.applied{border-left-color:var(--success)}.agent-activity-card header,.agent-activity-meta,.agent-activity-commands{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.agent-activity-card header{justify-content:space-between}.agent-activity-card p{color:var(--muted);font-size:12px}.agent-activity-card header span,.agent-activity-meta span,.agent-activity-commands span{color:var(--muted);font-size:11px}.agent-activity-meta span,.agent-activity-commands span{padding:2px 6px;border-radius:999px;border:1px solid var(--border);background:#00000006}.approval-card{display:grid;gap:6px;border:1px solid var(--border);border-left:4px solid var(--ai);background:var(--panel-3);padding:8px;border-radius:8px}.approval-card.applied{border-left-color:var(--success);opacity:.72}.approval-card.rejected{border-left-color:var(--danger);opacity:.72}.approval-card header,.approval-actions,.table-view header,.data-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.approval-card p{margin:0;color:var(--muted)}.approval-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;font-size:11px;color:var(--muted)}.approval-preview span{border:1px solid var(--border);border-radius:7px;padding:4px;text-align:center;min-width:0}.approval-diff{display:grid;gap:5px}.approval-diff>small{color:var(--muted);font-size:11px}.approval-diff-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--border);border-radius:7px;padding:5px;min-width:0}.approval-diff-row strong,.approval-diff-row small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approval-diff-row small{color:var(--muted);font-size:11px}.approval-status-chip{border-radius:999px;color:#fff;font-size:10px;font-weight:700;line-height:1;padding:4px 6px;text-transform:uppercase}.approval-status-chip.add{background:#059669}.approval-status-chip.update{background:#d97706}.approval-status-chip.archive,.approval-status-chip.delete{background:#dc2626}.approval-issues{display:grid;gap:4px}.approval-issue{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:6px;color:var(--muted);font-size:11px}.approval-issue span{color:var(--danger);font-weight:700;text-transform:uppercase}.approval-issue.warning span{color:#b45309}.approval-issue.existing span{color:var(--muted)}.approval-issue.blocking span,.approval-issue.error span{color:var(--danger)}.approval-issue.info span{color:var(--accent)}.approval-issue p{margin:0;overflow-wrap:anywhere}.approval-issues small{color:var(--muted);font-size:11px}.icon-button.compact{width:26px;height:26px}.icon-button.compact svg{width:14px;height:14px}.data-view-host{padding:12px;overflow:auto;background:#eceef1}.table-scroll{width:100%;overflow-x:auto}.table-view{overflow:hidden}.table-view header,.data-toolbar{padding:10px;background:var(--panel-2);border-bottom:1px solid var(--border)}.table-view header span{color:var(--muted)}.professional-table{width:100%;min-width:760px;border-collapse:collapse;background:var(--panel-3);font-size:12px}.professional-table th,.professional-table td{border-bottom:1px solid var(--border);border-right:1px solid rgba(0,0,0,.06);padding:7px 8px;text-align:left;vertical-align:top}.professional-table th{background:#f4f5f7;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:600}.professional-table tbody tr:hover{background:var(--accent-soft)}.formatted-schedule .schedule-group-row td{background:#e8eef8;color:#1d4ed8;font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase}.formatted-schedule .schedule-subtotal-row td,.formatted-schedule .schedule-total-row td{background:#f8fafc;font-weight:800}.formatted-schedule .schedule-total-row td{border-top:2px solid var(--border)}.empty-table,.empty-state{color:var(--muted);text-align:center;padding:22px}.severity{font-weight:700}.severity.high{color:var(--danger)}.severity.medium{color:var(--warning)}.severity.low{color:var(--success)}.family-catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.family-card{min-height:110px;display:grid;align-content:center;justify-items:center;gap:7px;background:var(--panel-3);border-color:var(--border);color:var(--text)}.family-card svg{width:24px;height:24px;color:var(--accent)}.family-card strong{font-weight:650}.family-card span{color:var(--muted);font-size:12px}.family-card:hover{border-color:#007aff47;background:var(--accent-soft)}.sheet-preview{width:min(100%,1100px);aspect-ratio:17 / 11;position:relative;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr 72px;gap:10px;margin:auto;padding:18px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-soft)}.sheet-toolbar{width:min(100%,1100px);margin:0 auto 14px;display:flex;align-items:center;justify-content:space-between;gap:16px}.sheet-toolbar h3{margin:0;font-size:17px}.sheet-toolbar p{margin:4px 0 0;color:var(--muted);font-size:13px}.sheet-actions{display:flex;gap:8px}.sheet-qa-strip{position:absolute;top:8px;right:10px;z-index:3;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:52%}.sheet-qa-pill{border:1px solid rgba(180,83,9,.28);background:#fffbeb;color:#92400e;padding:3px 6px;font-size:10px;font-weight:750;line-height:1}.sheet-qa-pill.error{border-color:#b91c1c4d;background:#fef2f2;color:#991b1b}.sheet-qa-pill.ok{border-color:#16653442;background:#f0fdf4;color:#166534}.sheet-zone{display:grid;place-items:center;border:2px solid #1f2937;color:var(--muted);font-weight:700}.sheet-zone[style]{position:absolute;font-size:12px;min-width:120px;min-height:58px}.sheet-zone.has-qa-issue,.sheet-annotation.has-qa-issue{border-color:#b45309;box-shadow:0 0 0 3px #f59e0b29}.sheet-zone small{color:var(--muted);font-size:11px;font-weight:600}.sheet-annotation{position:absolute;border:1px dashed #475569;background:#ffffffdb;color:#111827;font:700 11px/1.2 Inter,sans-serif;padding:4px 6px;cursor:pointer}.sheet-qa-badge{position:absolute;top:-8px;right:-8px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#b45309;color:#fff;font-size:10px;font-weight:800}.sheet-zone.large{grid-row:span 2}.sheet-preview footer{grid-column:1 / -1;display:grid;grid-template-columns:90px 1fr 150px 150px;align-items:center;border:2px solid #1f2937}.sheet-preview footer>*{height:100%;display:grid;place-items:center;border-right:1px solid #1f2937}.diagram-view{height:100%;display:flex;align-items:center;justify-content:center;gap:0}.diagram-node{min-width:180px;padding:20px;text-align:center;background:var(--panel-3);border:1px solid rgba(0,122,255,.28);border-radius:8px;font-weight:650}.diagram-link{width:90px;height:3px;background:var(--accent)}.detail-board{padding:16px;background:#fff}.detail-board svg{width:100%;max-height:620px}.manage-workspace{height:100%;min-height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;overflow:hidden}.manage-tabbar{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--panel-3)}.manage-tab{min-height:32px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-weight:650}.manage-tab:hover,.manage-tab.active{background:var(--accent-soft);border-color:#007aff29;color:var(--accent)}.manage-tab svg{width:15px;height:15px}.manage-panel{min-height:0;overflow:auto}.manage-ai-console-host{min-height:min(620px,calc(100vh - 220px));display:grid}.ai-control-grid,.exchange-view{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.ai-control-grid section,.exchange-view section{padding:12px}.org-admin-view{display:grid;gap:12px}.org-alert{padding:10px;border:1px solid #fecaca;border-radius:8px;background:#fee2e2;color:var(--danger);font-weight:700}.org-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:12px}.org-admin-panel{min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--panel-3);overflow:hidden}.org-admin-panel>header,.compact-table header,.org-library-item header{display:flex;align-items:center;justify-content:space-between;gap:10px}.org-admin-panel>header,.compact-table header{padding:10px;background:var(--panel-2);border-bottom:1px solid var(--border)}.org-admin-panel h3,.compact-table h3{margin:0;font-size:12px}.org-admin-panel header span,.compact-table header span,.org-library-item header span{color:var(--muted);font-size:11px;text-transform:capitalize}.item-actions,.action-row{display:inline-flex;align-items:center;gap:6px}.compact-action{width:28px;height:28px}.org-overview-panel{grid-column:1 / -1}.org-overview-panel select{height:30px;max-width:min(340px,50vw);border:1px solid var(--border);border-radius:4px;background:var(--panel-3);color:var(--text);padding:0 8px}.org-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;padding:10px}.org-stat-grid div{min-height:64px;display:grid;align-content:center;gap:4px;padding:10px;border:1px solid var(--border);border-radius:4px;background:var(--panel-2)}.org-stat-grid strong{font-size:16px;text-transform:capitalize}.org-stat-grid span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.compact-table{overflow-x:auto}.compact-table table{width:100%;min-width:360px;border-collapse:collapse}.compact-table th,.compact-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.compact-table th{color:var(--muted);background:#f4f5f7;font-size:11px;text-transform:uppercase;font-weight:600}.org-library-panel,.org-library-form-panel,.org-audit-panel{grid-column:span 1}.org-member-panel{display:grid;gap:10px}.org-member-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(120px,.45fr);gap:8px;align-items:end;padding:10px}.org-member-form .primary-button{grid-column:1 / -1}.org-member-form label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.org-member-form input,.org-member-form select,.inline-select{width:100%;border:1px solid var(--border);border-radius:7px;background:var(--panel-3);color:var(--text);padding:7px 8px}.pending-invites{display:grid;gap:6px;padding:0 10px 10px}.pending-invites h4{margin:0;color:var(--muted);font-size:11px;text-transform:uppercase}.pending-invite-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:8px;background:#00000006}.pending-invite-row span:first-child{overflow:hidden;text-overflow:ellipsis}.pending-invite-row span:nth-child(2){color:var(--muted);font-size:12px;text-transform:capitalize}.library-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:8px;padding:10px;border-bottom:1px solid var(--border)}.library-toolbar input,.library-toolbar select{width:100%;border:1px solid var(--border);border-radius:7px;background:var(--panel-3);color:var(--text);padding:7px 8px}.audit-list{display:grid;gap:8px;max-height:280px;overflow:auto;padding:10px}.audit-event{display:grid;gap:3px;padding:8px;border:1px solid var(--border);border-radius:8px;background:#00000006}.audit-event strong{font-size:12px;text-transform:capitalize}.audit-event span{color:var(--muted);font-size:11px}.org-library-list{display:grid;gap:8px;padding:10px;max-height:360px;overflow:auto}.org-library-item{display:grid;gap:6px;padding:9px;border:1px solid var(--border);border-radius:8px;background:#00000006}.org-library-item p{margin:0;color:var(--muted);line-height:1.35}.org-library-form{display:grid;gap:10px;padding:10px}.org-library-form label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.org-library-form input,.org-library-form select,.org-library-form textarea{width:100%;border:1px solid var(--border);border-radius:7px;background:var(--panel-3);color:var(--text);padding:8px;resize:vertical}.inline-library-form{padding:0}.empty-compact{color:var(--muted);padding:10px;text-align:center}.operation-list{display:grid;gap:6px;padding:0;margin:0;list-style:none}.operation-list li{display:flex;gap:8px;color:var(--muted)}.operation-list span{color:var(--text);font-family:var(--mono)}.ai-console{position:fixed;left:50%;bottom:42px;width:min(760px,calc(100vw - 44px));max-height:min(620px,calc(100vh - 154px));transform:translate(-50%);display:none;grid-template-rows:auto auto minmax(0,1fr) auto;background:linear-gradient(180deg,#ffffffc7,#f6f7faa3),#ffffff8f;-webkit-backdrop-filter:blur(26px) saturate(1.18);backdrop-filter:blur(26px) saturate(1.18);border:1px solid rgba(255,255,255,.64);border-radius:18px;box-shadow:0 24px 80px #0000002e,0 1px #ffffffb3 inset;z-index:20;overflow:hidden}.ai-console.embedded{position:static;left:auto;bottom:auto;width:100%;max-height:none;min-height:100%;transform:none;display:grid;border-radius:8px;box-shadow:none;background:var(--panel-3);-webkit-backdrop-filter:none;backdrop-filter:none}.ai-console.embedded #btn-close-ai-panel{display:none}.ai-console.embedded .chat-feed{max-height:none}.ai-console.collapsed{width:min(480px,calc(100vw - 44px));min-height:0;display:none;grid-template-rows:auto;cursor:pointer;border-radius:16px;background:linear-gradient(180deg,#ffffffbd,#f5f6f98a),#ffffff6b;box-shadow:0 18px 52px #00000029,0 1px #ffffffb8 inset;overflow:visible}.ai-console.collapsed header,.ai-console.collapsed header span,.ai-console.collapsed #btn-close-ai-panel,.ai-console.collapsed .ai-terminal-logs,.ai-console.collapsed .chat-feed,.ai-console.collapsed .command-suggestions{display:none}.ai-console header,.ai-console footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:transparent;border-bottom:1px solid rgba(0,0,0,.055)}.ai-console header h2{font-size:13px;font-weight:700;margin:0}.ai-console header span{color:#1d1d1f94;font-size:11px}.ai-mode-segment{display:inline-grid;grid-template-columns:repeat(3,minmax(58px,1fr));gap:2px;padding:3px;border-radius:8px;background:#1d1d1f0f;box-shadow:0 0 0 1px #0000000e inset}.ai-mode-segment button{min-height:26px;border:0;border-radius:6px;padding:0 8px;background:transparent;color:#1d1d1fa3;font-size:11px;font-weight:700}.ai-mode-segment button.active{background:#ffffffdb;color:var(--text);box-shadow:0 1px 4px #00000014}.ai-console footer{align-items:flex-end;padding-top:8px;border-top:1px solid rgba(0,0,0,.055);border-bottom:0}.ai-console.collapsed footer{padding:0;border:0}.command-input-shell{position:relative;min-width:0;flex:1;display:grid}.ai-console footer textarea{width:100%;min-height:40px;max-height:132px;border:0;border-radius:15px;padding:10px 142px 10px 13px;resize:none;line-height:1.35;overflow-y:auto;font:inherit;background:#ffffff9e;box-shadow:0 0 0 1px #0000000e inset,0 1px 2px #0000000a inset}.command-input-hint{position:absolute;right:46px;top:50%;max-width:96px;overflow:hidden;color:#6e6e7394;font-family:var(--mono);font-size:12px;line-height:1.35;pointer-events:none;text-align:right;text-overflow:ellipsis;transform:translateY(-50%);white-space:nowrap}.command-suggestions{position:absolute;left:6px;right:6px;bottom:calc(100% + 8px);display:grid;gap:4px;padding:6px;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:#fbfbfdf0;box-shadow:0 12px 34px #00000024}.command-suggestion{display:flex;align-items:center;justify-content:space-between;min-height:30px;border:0;border-radius:8px;padding:6px 8px;background:transparent;color:var(--text);text-align:left}.command-suggestion.active,.command-suggestion:hover{background:#007aff1a}.command-suggestion span{font-family:var(--mono);font-size:12px}.command-suggestion small{color:var(--muted);font-size:11px}.ai-console footer textarea:focus{background:#ffffffc7;box-shadow:0 0 0 1px #007aff47 inset,0 0 0 4px #007aff1a}.ai-console footer .primary-button.icon-only{position:absolute;right:5px;top:50%;width:30px;height:30px;min-height:30px;border:0;border-radius:50%;color:#fff;background:#007affe0;box-shadow:0 4px 12px #007aff33,0 1px #ffffff59 inset;transform:translateY(-50%)}.ai-console footer .primary-button.icon-only:hover{background:#007aff;transform:translateY(-50%)}.ai-console footer .primary-button.icon-only svg{width:14px;height:14px}.chat-feed{overflow:auto;padding:8px 12px;display:grid;align-content:start;gap:4px;max-height:min(360px,calc(100vh - 300px))}.chat-msg{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px}.chat-msg.user{grid-template-columns:minmax(0,1fr) 28px}.chat-msg.user .avatar{grid-column:2}.chat-msg.user .msg-bubble{grid-row:1}.avatar{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#ffffff8a;color:#1d1d1fb8}.avatar svg{width:14px;height:14px}.msg-bubble{background:transparent;border:0;border-radius:12px;padding:5px 2px;color:#1d1d1fe0}.chat-msg.user .msg-bubble{justify-self:end;max-width:min(520px,100%);background:#007aff1a;color:#0b57b7;padding:7px 10px}.msg-bubble p{margin:6px 0 0;color:var(--muted)}.agent-workbench{display:grid;gap:10px;min-width:0;padding:8px 0 2px}.agent-workbench-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.agent-workbench-header strong{display:block;font-size:13px}.agent-workbench-header p,.agent-workbench-summary p,.agent-workbench-section p{margin:4px 0 0}.agent-status-pill{flex:0 0 auto;max-width:132px;overflow:hidden;border-radius:999px;padding:4px 8px;background:#34c7591f;color:#1f7a3a;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.agent-status-pill.failed,.agent-status-pill.cancelled{background:#ff3b301f;color:#b42318}.agent-status-pill.running,.agent-status-pill.waiting-for-approval{background:#ff950024;color:#9a5a00}.agent-workbench-summary{display:grid;gap:4px;padding:8px 10px;border-radius:8px;background:#ffffff8a;box-shadow:0 0 0 1px #0000000e inset}.agent-workbench-summary span{color:var(--muted);font-size:11px}.agent-workbench-link{margin-top:8px;color:var(--muted);font-size:11px}.agent-workbench-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.agent-workbench-section{min-width:0;border-radius:8px;padding:8px 10px;background:#ffffff6b;box-shadow:0 0 0 1px #0000000e inset}.agent-workbench-section.full{grid-column:1 / -1}.agent-workbench-section h3{margin:0 0 6px;color:#1d1d1fb8;font-size:11px;font-weight:800;text-transform:uppercase}.agent-workbench-list{display:grid;gap:4px;margin:0;padding-left:16px;color:#1d1d1fc2;font-size:12px;line-height:1.35}.agent-change-set-card{display:grid;gap:10px;min-width:0;padding:8px 0 2px}.agent-change-set-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.agent-change-set-card header strong{display:block;font-size:13px}.agent-change-set-card header p,.agent-change-set-card>p{margin:4px 0 0;color:var(--muted)}.agent-change-set-card.applied{border-left:3px solid var(--success);padding-left:10px}.agent-readback-actions{display:flex;flex-wrap:wrap;gap:6px}.agent-review-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.agent-review-counts span{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:7px;padding:5px;color:var(--muted);font-size:11px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.msg-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.msg-actions .text-button,.msg-actions .primary-button{min-height:28px;padding-inline:10px}.agent-step-list{margin:0;padding-left:18px;color:#1d1d1fb8;font-size:12px;line-height:1.35}.agent-step-list li+li{margin-top:3px}.msg-chips-container{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.msg-chip{border:0;background:#ffffff9e;border-radius:999px;color:#1d1d1fb8;padding:5px 9px;box-shadow:0 0 0 1px #0000000e inset}.msg-chip:hover{background:#ffffffdb;color:var(--text)}.ai-terminal-logs{border-bottom:1px solid rgba(0,0,0,.06);background:#1d1d1fc7;color:#ffffffdb;font-family:var(--mono);font-size:11px}.terminal-header{padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.12)}.terminal-feed{max-height:92px;overflow:auto;padding:7px 8px}.terminal-line{display:grid;grid-template-columns:22px minmax(0,1fr);gap:6px;line-height:1.35}.terminal-line span{color:#ffffff7a}.status-bar{min-height:var(--status-bar-height);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:4px 8px;background:#f7f7f8;color:var(--muted);border-top:1px solid var(--border);font-size:11px;overflow:hidden}.status-core,.plan-status-controls{min-width:0;display:flex;align-items:center;gap:10px}.status-core{overflow:hidden;white-space:nowrap}.status-core span{min-width:0;overflow:hidden;text-overflow:ellipsis}.plan-status-controls{display:none;max-width:100%;justify-self:end;overflow:hidden}body.plan-view-active .plan-status-controls{display:flex;align-items:center;gap:6px}body.plan-view-active .status-bar{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr)}body.plan-view-active .status-core{min-width:0}body.plan-view-active .plan-status-controls{width:auto;justify-self:end}.status-bar span,.status-bar label,.status-bar button{flex:0 0 auto}.status-core span{flex:0 1 auto}.plan-status-diagnostic{min-width:0;max-width:min(360px,42vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 7px;border:1px solid rgba(100,116,139,.22);border-radius:999px;background:#fff;color:#64748b}.plan-status-diagnostic.warning{color:#b45309}.plan-status-actions{display:inline-flex;align-items:center;gap:4px;justify-content:flex-end}.plan-status-button{width:24px;height:22px;display:inline-grid;place-items:center;border:1px solid rgba(100,116,139,.28);border-radius:4px;background:#fff;color:#334155}.plan-status-button:hover,.plan-status-button.active{border-color:#007aff66;background:var(--accent-soft);color:var(--accent)}.plan-status-button svg{width:13px;height:13px}@media (max-width: 1100px){:root{--browser-panel-width: 200px;--properties-panel-width: 240px}.readiness-stat-grid,.persistence-readiness-grid,.readiness-authoring-actions,.readiness-agent-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.readiness-split{grid-template-columns:1fr}.view-tabs{display:none}}@media (max-width: 1199px){:root{--app-header-height: 54px}.ribbon-tabs,.ribbon-panel-row{padding-left:6px;padding-right:6px}.ribbon-panel{padding:0 8px}.ribbon-panel>span{font-size:9px}.ribbon-tool{min-width:54px;height:42px}.ribbon-tool-surface{min-width:48px;padding:3px 6px}}@media (max-width: 720px){.readiness-stat-grid,.persistence-readiness-grid,.readiness-authoring-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.readiness-area-row{grid-template-columns:68px minmax(0,1fr)}.readiness-area-row span:last-child{grid-column:1 / -1;white-space:normal}}@media (max-width: 899px){:root{--app-header-height: 54px;--workspace-left-track: 0px;--workspace-right-track: 0px;--workspace-left-rail-track: var(--sidebar-rail-width);--workspace-right-rail-track: var(--sidebar-rail-width)}.app-header{gap:10px;padding:0 8px;overflow:hidden}.app-brand{flex:1 1 auto}.brand-mark{width:32px;height:32px;flex:0 0 auto}.app-brand h1{font-size:14px}.app-brand span{max-width:260px;font-size:10px}.app-context{flex:0 0 auto;gap:6px}.app-context label{display:none}.mobile-shell-button{display:inline-grid}.ribbon-tabs{padding:3px 5px 0}.ribbon-tab{padding:0 9px;font-size:11px}.ribbon-panel-row{padding:5px 5px 6px}.ribbon-panel{padding:0 5px}.ribbon-panel>span{font-size:8px}.ribbon-tool{min-width:48px;height:40px}.ribbon-tool-surface{min-width:42px;height:31px;padding:3px 5px}.ribbon-tool-surface svg{width:18px;height:18px}.ribbon-tool-surface b{font-size:10px}.workspace{width:100vw;grid-template-columns:var(--sidebar-rail-width) minmax(0,1fr) var(--sidebar-rail-width)}.workspace-resizer{display:none}.project-browser,.properties-panel{position:fixed;top:var(--side-panel-top);bottom:var(--side-panel-bottom);z-index:31;width:min(86vw,360px);max-width:360px;height:var(--side-panel-height);margin-top:0;align-self:auto;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease;visibility:hidden}.sidebar-rail{position:fixed;top:var(--side-panel-top);bottom:var(--side-panel-bottom);z-index:32;height:var(--side-panel-height);margin-top:0;width:var(--sidebar-rail-width);display:grid;visibility:visible;pointer-events:auto;box-shadow:0 8px 24px #00000014}.sidebar-rail-left{left:0}.sidebar-rail-right{right:0}body.drawer-open .sidebar-rail{display:none;visibility:hidden;pointer-events:none}body.left-sidebar-collapsed .project-browser,body.right-sidebar-collapsed .properties-panel{display:flex}body.right-sidebar-collapsed .workspace-resizer-right{display:none}.project-browser{left:0;transform:translate(-105%);border-right:1px solid var(--border-dark)}.properties-panel{right:0;transform:translate(105%);border-left:1px solid var(--border-dark)}.project-browser.drawer-active,.properties-panel.drawer-active{transform:translate(0);visibility:visible;box-shadow:0 18px 44px #0000002e}body.left-sidebar-collapsed .project-browser.drawer-active,body.right-sidebar-collapsed .properties-panel.drawer-active{visibility:visible;pointer-events:auto}.drawer-close-button{display:inline-grid}.sidebar-collapse-button{display:none}.drawer-backdrop{position:fixed;inset:var(--side-panel-top) 0 var(--side-panel-bottom);z-index:30;display:block;pointer-events:none;background:#0f172a00;transition:background .18s ease}.drawer-backdrop.active{pointer-events:auto;background:#0f172a61}.workspace-main{grid-column:2;width:100%}.workspace-tabs{min-width:0;width:100%}.active-view-label{flex:1 1 auto}.canvas-container,.plan-container,.pdf-container,.data-view-host{width:100%}.data-view-host{padding:10px}.status-bar{padding:0 6px;gap:6px}.status-core,.plan-status-controls{gap:6px}.plan-status-diagnostic{max-width:min(280px,52vw)}}@media (max-width: 699px){.project-browser,.properties-panel{width:min(86vw,360px);max-width:360px}}@media (max-width: 599px){:root{--workspace-header-height: 42px;--plan-status-bar-height: 34px}body{font-size:12px}.app-header{padding:0 6px}.brand-mark{width:30px;height:30px}.app-brand{gap:8px}.app-brand h1{font-size:13px}.app-brand span{display:none}.auth-chip{min-width:0;width:auto;grid-template-columns:auto;padding:3px 6px}.auth-chip>svg,.auth-chip>div,.auth-chip small{display:none}.text-button.compact{padding:0 4px;font-size:10px}.icon-button{width:31px;height:31px}.ribbon-tab{height:28px;padding:0 8px;font-size:10px}.ribbon-tool{min-width:44px;height:42px}.ribbon-tool-surface{min-width:38px}.ribbon-tool-surface b{display:none}.workspace-tabs{height:42px;padding:0 8px}.workspace-main{grid-template-rows:42px minmax(0,1fr)}.active-view-label{gap:6px}.active-view-label h2{font-size:12px}.active-view-label span{font-size:10px}#viewport-hud{left:8px;bottom:8px;font-size:10px}#viewport-hud span{max-width:calc(100vw - 16px);padding:4px 6px}.viewport-nav-widget{top:8px;right:8px;gap:6px}.viewcube-shell{width:86px;height:86px}.viewcube-canvas-host,.viewcube-canvas{width:82px;height:82px}.viewport-navigation-bar{padding:4px}.viewport-nav-tool{width:28px;height:28px}.project-browser,.properties-panel{top:var(--side-panel-top);width:min(86vw,360px);max-width:360px}.drawer-backdrop{inset:var(--side-panel-top) 0 var(--side-panel-bottom)}.sidebar-rail{top:var(--side-panel-top)}.field-grid,.ai-visibility,.ai-control-grid,.exchange-view,.readiness-authoring-actions,.readiness-agent-actions,.persistence-readiness-grid{grid-template-columns:1fr}.data-toolbar,.table-view header{align-items:flex-start;flex-direction:column}.data-toolbar p{margin:4px 0 0}.professional-table{min-width:640px;font-size:11px}.professional-table th,.professional-table td{padding:6px}.family-catalog{grid-template-columns:1fr}.family-card{min-height:82px}.sheet-preview{min-width:620px;width:620px;padding:10px;gap:6px}.diagram-view{min-width:620px;justify-content:flex-start;padding:20px}.detail-board{min-width:620px}.ai-console header{min-width:0}.ai-console h2,.ai-console header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-msg,.chat-msg.user{grid-template-columns:24px minmax(0,1fr)}.chat-msg.user .avatar{grid-column:1}.chat-msg.user .msg-bubble{grid-column:2}.avatar{width:24px;height:24px}}
