:root{--bg: #f5f5f7;--panel: #fbfbfd;--panel-2: #f2f3f5;--panel-3: #ffffff;--panel-translucent: rgba(251, 251, 253, .92);--panel-glass: rgba(255, 255, 255, .72);--panel-raised: rgba(255, 255, 255, .98);--border: rgba(0, 0, 0, .1);--border-dark: rgba(0, 0, 0, .16);--border-subtle: rgba(0, 0, 0, .06);--text: #1d1d1f;--muted: #6e6e73;--subtle: #8e8e93;--accent: #0f766e;--accent-strong: #0b5f59;--accent-soft: rgba(15, 118, 110, .1);--accent-ring: rgba(15, 118, 110, .22);--accent-hover: rgba(15, 118, 110, .08);--brand-ink: #12342f;--brand-copper: #b7793f;--brand-copper-soft: rgba(183, 121, 63, .18);--danger: #ff3b30;--danger-strong: #b91c1c;--danger-soft: rgba(220, 38, 38, .08);--warning: #ff9500;--warning-strong: #92400e;--warning-soft: rgba(255, 149, 0, .16);--success: #34c759;--success-strong: #166534;--success-soft: rgba(52, 199, 89, .14);--ai: #5856d6;--ai-soft: rgba(88, 86, 214, .1);--hover-bg: rgba(0, 0, 0, .045);--control-bg: #ffffff;--workspace-bg: #e8eaed;--data-host-bg: #eceef1;--table-header-bg: #f4f5f7;--table-group-bg: #e8eef8;--table-group-text: #1d4ed8;--table-total-bg: #f8fafc;--overlay-scrim: rgba(15, 23, 42, .42);--toolbar-bg: rgba(255, 255, 255, .94);--toolbar-text: #334155;--toolbar-control-bg: #ffffff;--viewport-nav-bg: rgba(248, 250, 252, .88);--viewport-nav-control-bg: rgba(255, 255, 255, .9);--viewport-nav-text: #334155;--viewport-hud-bg: rgba(15, 23, 42, .82);--viewport-hud-text: #e5e7eb;--drawing-bg: #ffffff;--drawing-ink: #111827;--drawing-muted: #475569;--drawing-grid: rgba(148, 163, 184, .28);--drawing-grid-major: rgba(100, 116, 139, .32);--drawing-paper: #ffffff;--drawing-paper-shadow: rgba(15, 23, 42, .16);--sheet-preview-bg: #ffffff;--sheet-preview-border: #111827;--sheet-preview-fill: #f8fafc;--sheet-preview-muted: #475569;--selection: #2563eb;--selection-soft: rgba(37, 99, 235, .12);--selection-glow: rgba(37, 99, 235, .55);--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;--ai-panel-width: clamp(360px, 30vw, 480px);--ai-history-width: min(300px, calc(100vw - 48px) );--workspace-resizer-width: 8px;--sidebar-rail-width: 22px;--app-header-height: 52px;--workspace-header-height: 52px;--narrow-policy-height: 0px;--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,:root[data-theme=light]{--bg: #eef1f5;--panel: #ffffff;--panel-2: #f4f6f8;--panel-3: #ffffff}:root.dark-mode,:root[data-theme=dark]{--bg: #0f1419;--panel: #171d24;--panel-2: #202832;--panel-3: #121820;--panel-translucent: rgba(23, 29, 36, .94);--panel-glass: rgba(23, 29, 36, .78);--panel-raised: rgba(18, 24, 32, .98);--border: rgba(226, 232, 240, .14);--border-dark: rgba(226, 232, 240, .22);--border-subtle: rgba(226, 232, 240, .08);--text: #eef2f7;--muted: #a8b3c2;--subtle: #7f8a99;--accent: #34d399;--accent-strong: #6ee7b7;--accent-soft: rgba(52, 211, 153, .15);--accent-ring: rgba(52, 211, 153, .28);--accent-hover: rgba(52, 211, 153, .12);--brand-ink: #c9f4e7;--brand-copper: #e0a667;--brand-copper-soft: rgba(224, 166, 103, .2);--danger: #f87171;--danger-strong: #fca5a5;--danger-soft: rgba(248, 113, 113, .14);--warning: #fbbf24;--warning-strong: #fcd34d;--warning-soft: rgba(251, 191, 36, .16);--success: #4ade80;--success-strong: #86efac;--success-soft: rgba(74, 222, 128, .14);--ai: #a5b4fc;--ai-soft: rgba(165, 180, 252, .14);--hover-bg: rgba(226, 232, 240, .08);--control-bg: #0f151c;--workspace-bg: #0b1117;--data-host-bg: #0d131a;--table-header-bg: #1d2630;--table-group-bg: rgba(59, 130, 246, .16);--table-group-text: #93c5fd;--table-total-bg: rgba(226, 232, 240, .08);--overlay-scrim: rgba(0, 0, 0, .58);--toolbar-bg: rgba(18, 24, 32, .94);--toolbar-text: #dbe5f0;--toolbar-control-bg: #0f151c;--viewport-nav-bg: rgba(18, 24, 32, .88);--viewport-nav-control-bg: rgba(31, 41, 55, .92);--viewport-nav-text: #dbe5f0;--viewport-hud-bg: rgba(3, 7, 18, .84);--viewport-hud-text: #f8fafc;--drawing-bg: #111827;--drawing-ink: #e5e7eb;--drawing-muted: #cbd5e1;--drawing-grid: rgba(148, 163, 184, .18);--drawing-grid-major: rgba(203, 213, 225, .26);--drawing-paper: #f8fafc;--drawing-paper-shadow: rgba(0, 0, 0, .42);--sheet-preview-bg: #17202a;--sheet-preview-border: #dbe5f0;--sheet-preview-fill: rgba(226, 232, 240, .08);--sheet-preview-muted: #b7c4d3;--selection: #60a5fa;--selection-soft: rgba(96, 165, 250, .18);--selection-glow: rgba(96, 165, 250, .55);--shadow: 0 16px 42px rgba(0, 0, 0, .34);--shadow-soft: 0 10px 28px rgba(0, 0, 0, .28)}*{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}body.public-landing-mode{min-height:100vh;height:auto;overflow:auto;display:block;background:#f4f7f4}body.public-landing-mode.dark-mode,body.public-landing-mode[data-theme=dark]{background:#0f1419}button,input,select,textarea{font:inherit}input,select,textarea{color:var(--text);background:var(--control-bg)}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-ring);border-color:var(--accent)}.public-landing{min-height:100vh;color:var(--text)}.public-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;padding:10px clamp(18px,4vw,64px);background:color-mix(in srgb,var(--panel) 90%,transparent);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.public-brand,.public-nav nav,.public-hero-actions,.public-section-heading,.public-preview-toolbar,.public-preview-body,.public-feature-list article{display:flex;align-items:center}.public-brand{gap:10px;color:var(--text);text-decoration:none;font-weight:700;font-size:16px}.public-brand-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:var(--panel-3)}.public-brand-mark .catenary-logo{width:30px;height:30px}.public-nav nav{gap:10px}.public-nav a{color:var(--muted);text-decoration:none;font-weight:600}.public-nav nav>a:not(.public-app-link){padding:8px 10px}.public-app-link{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-3);color:var(--text)}.public-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:clamp(28px,5vw,70px);align-items:center;min-height:calc(100vh - 64px);padding:clamp(48px,8vw,96px) clamp(18px,5vw,84px) clamp(28px,5vw,64px)}.public-kicker{margin:0 0 12px;color:var(--accent);font-weight:800;letter-spacing:0;text-transform:uppercase;font-size:12px}.public-hero h1,.public-section h2{margin:0;color:var(--brand-ink);letter-spacing:0}.public-hero h1{max-width:760px;font-size:clamp(42px,7vw,86px);line-height:.96}.public-section h2{font-size:clamp(30px,4vw,48px);line-height:1.04}.public-lede,.public-section p{color:var(--muted);line-height:1.7;font-size:16px}.public-lede{max-width:650px;margin:24px 0 0;font-size:18px}.public-hero-actions{gap:12px;margin-top:30px;flex-wrap:wrap}.public-product-preview{min-height:520px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--panel);box-shadow:0 30px 80px #1118272e}.public-preview-toolbar{gap:8px;height:42px;padding:0 14px;border-bottom:1px solid var(--border);background:var(--panel-2)}.public-preview-toolbar span{width:10px;height:10px;border-radius:50%;background:var(--border-dark)}.public-preview-toolbar strong{margin-left:10px;color:var(--muted);font-size:12px}.public-preview-body{align-items:stretch;min-height:478px}.public-preview-body aside{width:148px;padding:18px 14px;border-right:1px solid var(--border);background:var(--panel-3)}.public-preview-body aside span,.public-preview-body aside em{display:block;font-style:normal}.public-preview-body aside span{margin-bottom:18px;font-weight:700}.public-preview-body aside em{margin:10px 0;padding:8px 9px;border-radius:7px;background:var(--panel-2);color:var(--muted);font-size:12px}.public-preview-canvas{position:relative;flex:1;min-height:478px;overflow:hidden;background:linear-gradient(rgba(15,118,110,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(15,118,110,.08) 1px,transparent 1px),var(--workspace-bg);background-size:36px 36px}.preview-run,.preview-node,.preview-ai-callout{position:absolute}.preview-run{height:18px;border-radius:999px;box-shadow:0 10px 22px #0000001f}.preview-run-a{left:12%;top:30%;width:64%;transform:rotate(-8deg);background:#d48040}.preview-run-b{left:20%;top:50%;width:58%;transform:rotate(14deg);background:#168f83}.preview-run-c{left:38%;top:20%;width:18px;height:56%;background:#4266b2}.preview-node{width:68px;height:68px;border:3px solid var(--selection);border-radius:8px;background:var(--panel-glass)}.preview-node-a{left:16%;top:18%}.preview-node-b{right:14%;bottom:18%}.preview-ai-callout{right:20px;top:22px;display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-raised);color:var(--text);font-weight:700}.public-proof-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 clamp(18px,5vw,84px);border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--border)}.public-proof-band div{padding:20px;background:var(--panel)}.public-proof-band strong,.public-proof-band span{display:block}.public-proof-band strong{margin-bottom:8px;font-size:18px}.public-proof-band span{color:var(--muted);line-height:1.5}.public-section{margin:clamp(42px,7vw,92px) clamp(18px,5vw,84px)}.public-two-column,.public-waitlist{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:clamp(28px,5vw,64px)}.public-feature-list{flex-direction:column;gap:12px;align-items:stretch}.public-feature-list article{gap:14px;padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.public-feature-list i{color:var(--accent)}.public-feature-list h3,.public-feature-list p{margin:0}.public-feature-list h3{margin-bottom:4px;font-size:15px}.public-feature-list p{font-size:13px}.public-section-heading{justify-content:space-between;gap:20px;margin-bottom:16px}.public-section-heading>span{color:var(--muted);font-weight:700}.public-empty,.public-update-list article,.public-waitlist-form{border:1px solid var(--border);border-radius:8px;background:var(--panel)}.public-empty{padding:22px;color:var(--muted)}.public-update-list{display:grid;gap:12px}.public-update-list article{display:grid;grid-template-columns:170px minmax(0,1fr) 140px;gap:16px;align-items:center;padding:16px}.public-update-list span{color:var(--accent-strong);font-weight:800}.public-update-list p{margin:0;color:var(--text)}.public-update-list time{color:var(--muted);text-align:right}.public-waitlist-form{display:grid;gap:12px;padding:20px}.public-waitlist-form label{display:grid;gap:6px;color:var(--muted);font-weight:700}.public-waitlist-form input,.public-waitlist-form textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px 11px;resize:vertical}.public-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.public-waitlist-form .primary-button{justify-self:start}@media (max-width: 900px){.public-nav{position:static;align-items:flex-start;flex-direction:column}.public-nav nav{width:100%;justify-content:space-between;flex-wrap:wrap}.public-hero,.public-two-column,.public-waitlist,.public-proof-band{grid-template-columns:1fr}.public-hero{min-height:auto}.public-product-preview{min-height:420px}.public-preview-body{min-height:378px}.public-preview-body aside{display:none}.public-update-list article{grid-template-columns:1fr}.public-update-list time{text-align:left}.public-form-grid{grid-template-columns:1fr}}.hidden{display:none!important}.app-header{display:flex;align-items:center;justify-content:space-between;background:var(--panel-translucent);color:var(--text);border-bottom:1px solid var(--border);padding:0 14px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.operational-status-banner{position:fixed;top:var(--app-header-height);left:50%;z-index:90;width:min(760px,calc(100vw - 32px));transform:translate(-50%);pointer-events:none}.operational-banner-content{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:34px;margin-top:8px;padding:7px 12px;border:1px solid var(--accent-ring);border-radius:8px;background:var(--panel-raised);box-shadow:var(--shadow-soft);color:var(--text)}.operational-banner-content strong{font-weight:650}.operational-banner-content span{min-width:0;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operational-banner-content small{color:var(--subtle);font-family:var(--mono);font-size:10px}.operational-banner-content.offline,.operational-banner-content.save,.operational-banner-content.backend,.operational-banner-content.auth,.operational-banner-content.maintenance,.operational-banner-content.rate{border-color:#ff95005c}.operational-banner-content.deployment{border-color:#ff3b305c}.environment-watermark{position:fixed;right:14px;bottom:calc(var(--status-bar-height) + 12px);z-index:85;padding:5px 8px;border:1px solid var(--accent-ring);border-radius:6px;background:var(--panel-glass);color:var(--brand-ink);font-family:var(--mono);font-size:10px;text-transform:uppercase;pointer-events:none}.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(145deg,var(--panel-3),var(--panel-2)),radial-gradient(circle at 74% 20%,var(--brand-copper-soft),transparent 34%);border:1px solid var(--border);border-radius:8px;box-shadow:inset 0 1px #ffffff2e,var(--shadow-soft);color:var(--brand-ink)}.catenary-logo{width:24px;height:24px}.catenary-logo path,.catenary-logo circle{vector-effect:non-scaling-stroke}.catenary-logo-arch{fill:none;stroke:var(--brand-ink);stroke-width:4;stroke-linecap:round}.catenary-logo-chain{fill:none;stroke:var(--brand-copper);stroke-width:2.4;stroke-linecap:round;opacity:.92}.catenary-logo-line{fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round}.catenary-logo-node{fill:var(--brand-copper);stroke:var(--panel-3);stroke-width:1.4}.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:var(--panel-glass);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,.family-result-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:var(--hover-bg);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:var(--overlay-scrim)}.suggestion-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:82;display:grid;place-items:center;padding:20px;background:var(--overlay-scrim)}.suggestion-dialog{display:grid;gap:12px;width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;border:1px solid var(--border-dark);border-radius:8px;padding:14px;background:var(--panel-3);box-shadow:var(--shadow)}.suggestion-dialog>header,.suggestion-history>header,.suggestion-form footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.suggestion-dialog h2,.suggestion-history h3{margin:0}.suggestion-dialog header span{display:block;margin-top:3px;color:var(--muted);font-size:12px}.suggestion-form{display:grid;gap:10px}.suggestion-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.suggestion-form label{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:12px;font-weight:700}.suggestion-form input,.suggestion-form select,.suggestion-form textarea{width:100%;min-height:36px;border:1px solid var(--border);border-radius:7px;padding:8px 10px;background:var(--panel-2);color:var(--text);font:inherit}.suggestion-form textarea{resize:vertical}.suggestion-checkbox{grid-template-columns:auto 1fr;align-items:center}.suggestion-checkbox input{width:auto;min-height:auto}.suggestion-history{display:grid;gap:8px;padding-top:4px}.suggestion-history-list{display:grid;gap:6px}.suggestion-history-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:9px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2)}.suggestion-history-list strong,.suggestion-history-list span,.suggestion-history-list small{display:block;min-width:0;overflow-wrap:anywhere}.suggestion-history-list span,.suggestion-history-list small{color:var(--muted);font-size:11px}.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-access-message{min-height:18px;margin:0;padding:8px 10px;border:1px solid var(--warning-soft);border-radius:6px;background:var(--warning-soft);color:var(--text);font-size:12px;line-height:1.4}.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:var(--panel-translucent);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:var(--hover-bg)}.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:var(--hover-bg);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:var(--hover-bg)}.ribbon-tool.active .ribbon-tool-surface{background:var(--accent-soft);border-color:var(--accent-ring);color:var(--accent)}.ribbon-tool:focus-visible .ribbon-tool-surface{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.view-tab.active,.tree-node.active{background:var(--accent-soft);border-color:var(--accent-ring);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:var(--workspace-bg);transition:margin-left .18s ease}body.ai-sidebar-open .workspace{margin-left:var(--ai-panel-width)}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:var(--panel-2);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 var(--border)}.sidebar-rail-right{grid-column:7;visibility:hidden;pointer-events:none;border-left:1px solid var(--border)}.sidebar-rail:hover,.sidebar-rail:focus-visible{background:var(--hover-bg);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:var(--panel-translucent);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,var(--border),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,var(--accent),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:var(--panel-glass);-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:var(--hover-bg)}.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-toolbar{display:grid;gap:6px;padding:8px;border-bottom:1px solid var(--border);background:var(--panel-2)}.browser-search{height:30px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:5px;padding:0 8px;border:1px solid var(--border);border-radius:7px;background:var(--control-bg);color:var(--muted)}.browser-search svg{width:14px;height:14px}.browser-search input{min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:12px}.browser-control-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.browser-control-row select{min-width:0;height:28px;padding:0 5px;border:1px solid var(--border);border-radius:6px;background:var(--control-bg);color:var(--text);font-size:11px}.browser-message{min-height:14px;margin:0;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-group-header span{margin-left:auto;color:var(--muted);font-size:10px;font-weight:600}.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 span{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-node small{flex:0 0 auto;color:var(--subtle);font-size:10px}.tree-node:hover{background:var(--hover-bg)}.tree-node svg{width:15px;height:15px;color:var(--muted)}.tree-node.active svg,.tree-node:hover svg{color:currentColor}.browser-state{min-height:140px;display:grid;place-items:center;align-content:center;gap:8px;padding:22px;color:var(--muted);text-align:center}.browser-state svg{width:22px;height:22px}.browser-state p{margin:0;font-size:12px}.browser-state.error{color:var(--danger-strong)}.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) var(--narrow-policy-height) minmax(0,1fr);background:var(--panel-3);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 190px;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)}.workspace-action-strip{min-width:0;flex:1 1 auto;height:100%;display:flex;align-items:center;justify-content:flex-end;gap:6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.workspace-action-group{flex:0 0 auto;display:inline-flex;align-items:center;gap:3px;padding:0 6px;border-left:1px solid var(--border)}.workspace-action-group:first-child{border-left:0}.workspace-action-group-views{min-width:0;flex:1 1 auto;justify-content:flex-end}.workspace-action-button,.view-tabs{min-width:0}.workspace-action-button{height:32px;width:34px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text);padding:0;white-space:nowrap}.workspace-action-button.compact{padding:0}.workspace-action-button svg{width:14px;height:14px}.workspace-action-button span{display:none;overflow:hidden;text-overflow:ellipsis}.workspace-action-button:hover,.workspace-action-button.active{background:var(--hover-bg)}.workspace-action-button.active{border-color:var(--accent-ring);color:var(--accent)}.workspace-action-button.is-disabled,.workspace-action-button.narrow-unsupported,.ribbon-tool.narrow-unsupported{color:var(--subtle)}.workspace-action-button.narrow-unsupported,.ribbon-tool.narrow-unsupported .ribbon-tool-surface{border-color:var(--border-subtle)}.narrow-authoring-policy{grid-row:2;align-self:start;display:none;min-width:0;align-items:center;gap:8px;padding:7px 12px;border-bottom:1px solid var(--border);background:var(--warning-soft);color:var(--warning-strong);font-size:12px;line-height:1.35}.narrow-authoring-policy svg{width:15px;height:15px;flex:0 0 auto}.narrow-authoring-policy span{min-width:0}.narrow-authoring-policy.attention{box-shadow:inset 0 0 0 2px #ff950047}body.narrow-authoring-view-only .narrow-authoring-policy{display:flex;min-height:var(--narrow-policy-height)}.view-tabs{flex:1 1 auto;display:flex;align-items:center;gap:4px;overflow-x:auto;overflow-y:hidden}.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:var(--hover-bg)}.view-panel{grid-row:3;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:var(--viewport-hud-bg);border:1px solid var(--border-dark);color:var(--viewport-hud-text);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 var(--border-dark);background:var(--viewport-nav-control-bg);color:var(--viewport-nav-text);cursor:pointer;letter-spacing:0}.viewport-nav-tool:hover,.viewport-nav-tool:focus-visible{border-color:var(--selection);color:var(--selection);outline:none}.viewport-nav-tool.active{border-color:var(--selection);background:var(--selection-soft);color:var(--selection)}.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 var(--border-dark);border-radius:4px;background:var(--viewport-nav-bg);box-shadow:0 10px 22px #0f172a29}.viewport-nav-tool{width:30px;height:30px;display:grid;place-items:center;padding:0;border-radius:3px;background:var(--viewport-nav-control-bg)}.pdf-container{display:grid;place-items:center;padding:18px;background:var(--data-host-bg)}.plan-container{display:grid;place-items:stretch;padding:0;background:var(--drawing-bg)}.plan-container[data-viewport-theme=dark]{background:#111827}#plan-svg-canvas{width:100%;height:100%;display:block;background:var(--drawing-bg);cursor:grab;touch-action:none}#plan-svg-canvas[data-viewport-theme=dark]{background:#111827}#plan-svg-canvas.is-panning{cursor:grabbing!important}.plan-grid-line{stroke:var(--drawing-grid);stroke-width:1;vector-effect:non-scaling-stroke;-webkit-user-select:none;user-select:none}.plan-grid-line.major{stroke:var(--drawing-grid-major)}.plan-wall,.plan-route,.plan-datum,.plan-modeling-preview{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:square}.plan-wall{stroke:var(--drawing-muted)}.plan-wall.plan-wall-band{fill:color-mix(in srgb,var(--drawing-ink) 8%,transparent);stroke:transparent;stroke-width:0;stroke-linejoin:round;vector-effect:non-scaling-stroke}.plan-wall-face{fill:none;stroke:var(--drawing-ink);stroke-width:var(--plan-line-weight, 1.25);stroke-linecap:square;vector-effect:non-scaling-stroke}[data-plan-drawing-profile=construction-document],[data-plan-drawing-profile=print-plan]{color:var(--drawing-ink)}[data-plan-drawing-profile=construction-document][data-plan-line-role=cut] .plan-wall-face,[data-plan-drawing-profile=print-plan][data-plan-line-role=cut] .plan-wall-face,.plan-wall-face[data-plan-drawing-profile=construction-document][data-plan-line-role=cut],.plan-wall-face[data-plan-drawing-profile=print-plan][data-plan-line-role=cut]{stroke-width:calc(var(--plan-line-weight, 2.4) * 1px);stroke:var(--drawing-ink)}[data-plan-line-role=projection]{--plan-line-weight: 1.15}[data-plan-line-role=beyond],[data-plan-line-role=hidden]{--plan-line-weight: .8}[data-plan-visibility=projection]{opacity:.74}[data-plan-visibility=beyond]{opacity:.42}.plan-route[data-plan-visibility=beyond],.plan-wall-face[data-plan-visibility=beyond],.plan-datum[data-plan-visibility=beyond],[data-plan-line-role=hidden]{stroke-dasharray:8 5}[data-plan-halftone=true]{opacity:.45}[data-plan-graphic-color=true],[data-plan-graphic-color=true] .plan-model-footprint-outline,[data-plan-graphic-color=true] .plan-room-boundary,[data-plan-graphic-color=true] .plan-symbol-box,[data-plan-graphic-color=true] .plan-route-fitting-body,[data-plan-graphic-color=true] .plan-door-leaf,[data-plan-graphic-color=true] .plan-door-swing,[data-plan-graphic-color=true] .plan-window-line{stroke:var(--plan-graphic-color)!important}#plan-svg-canvas[data-viewport-theme=dark] .plan-wall-face,#plan-svg-canvas[data-viewport-theme=dark] .plan-door-leaf,#plan-svg-canvas[data-viewport-theme=dark] .plan-door-swing,#plan-svg-canvas[data-viewport-theme=dark] .plan-route-fitting-leg{stroke:#e5e7eb}#plan-svg-canvas[data-viewport-theme=dark] .plan-wall.plan-wall-band{fill:#e2e8f01a}#plan-svg-canvas[data-viewport-theme=dark] .plan-opening-gap{stroke:#111827}#plan-svg-canvas[data-viewport-theme=dark] .plan-symbol-box,#plan-svg-canvas[data-viewport-theme=dark] .plan-route-fitting-body,#plan-svg-canvas[data-viewport-theme=dark] .plan-datum-bubble{fill:#0f172ae6;stroke:#cbd5e1}#plan-svg-canvas[data-viewport-theme=dark] .plan-symbol-label,#plan-svg-canvas[data-viewport-theme=dark] .plan-datum-label,#plan-svg-canvas[data-viewport-theme=dark] .plan-level-label,#plan-svg-canvas[data-viewport-theme=dark] .plan-room-label{fill:#f8fafc}.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:var(--drawing-ink);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:var(--drawing-muted);font-size:9px;font-weight:700}.plan-model-footprint-area{fill:#64748b1c;stroke:none}.plan-model-footprint-outline{fill:none;stroke:color-mix(in srgb,var(--drawing-muted) 70%,transparent);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:color-mix(in srgb,var(--drawing-muted) 64%,transparent);stroke-width:1.2;stroke-dasharray:8 5;vector-effect:non-scaling-stroke}.plan-opening-gap{stroke:var(--drawing-bg);stroke-linecap:square}.plan-door-leaf,.plan-door-swing,.plan-window-line,.plan-louver-line,.plan-louver-blade,.plan-opening-line{fill:none;stroke:var(--drawing-ink);stroke-width:1.35;vector-effect:non-scaling-stroke}.plan-door-swing{stroke-width:1.05}.plan-window-line{stroke:#0369a1}.plan-louver-line,.plan-louver-blade{stroke:var(--drawing-muted)}.plan-louver-blade{stroke-width:1}.plan-opening-line{stroke:var(--drawing-muted)}.plan-drafting-overlay{pointer-events:auto}.plan-drafting-annotation{fill:none;stroke:var(--plan-annotation-color, var(--drawing-ink));stroke-width:calc(var(--plan-annotation-weight, 1) * 1px);vector-effect:non-scaling-stroke}.plan-draft-line{stroke-linecap:square}.plan-dimension-line,.plan-dimension-tick,.plan-tag-leader{fill:none;stroke:var(--plan-annotation-color, var(--drawing-ink));stroke-width:calc(var(--plan-annotation-weight, 1) * 1px);vector-effect:non-scaling-stroke}.plan-dimension-label,.plan-tag-label,.plan-text-note{font-family:var(--mono);font-weight:800;letter-spacing:0;paint-order:stroke;stroke:#ffffffeb;stroke-width:3px;-webkit-user-select:none;user-select:none}#plan-svg-canvas[data-viewport-theme=dark] .plan-dimension-label,#plan-svg-canvas[data-viewport-theme=dark] .plan-tag-label,#plan-svg-canvas[data-viewport-theme=dark] .plan-text-note{stroke:#0f172aeb}.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:var(--sheet-preview-fill);stroke:var(--drawing-ink);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:var(--drawing-ink);stroke-width:1.25;vector-effect:non-scaling-stroke;pointer-events:none}.plan-datum{stroke:var(--drawing-muted);stroke-width:1.5}.plan-datum.reference-plane{stroke:#8b5cf6;stroke-dasharray:10 7}.plan-datum-bubble{fill:var(--drawing-bg);stroke:var(--drawing-muted);stroke-width:1.5}.plan-datum-label,.plan-level-label,.plan-symbol-label{font-family:var(--mono);font-size:10px;fill:var(--drawing-ink);font-weight:800;pointer-events:none;-webkit-user-select:none;user-select:none}.plan-symbol-detail{fill:none;stroke:var(--drawing-muted);stroke-width:1;pointer-events:none;vector-effect:non-scaling-stroke}#plan-svg-canvas[data-viewport-theme=dark] .plan-symbol-detail{stroke:#e2e8f0}.plan-level-label{fill:var(--drawing-muted)}.plan-diagnostic{font-family:var(--font);font-size:13px;font-weight:700;fill:var(--drawing-muted);paint-order:stroke;stroke:#ffffffeb;stroke-width:4px;pointer-events:none;-webkit-user-select:none;user-select:none}.plan-diagnostic.warning{fill:var(--warning-strong)}.plan-symbol-box{fill:color-mix(in srgb,var(--drawing-bg) 86%,transparent);stroke:var(--drawing-muted);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:var(--drawing-ink);stroke-width:3;stroke-dasharray:8 6;opacity:.72}.plan-opening-preview{pointer-events:none;opacity:.78}.plan-snap-guide{fill:none;stroke:var(--selection);stroke-width:1.5;stroke-dasharray:5 5;vector-effect:non-scaling-stroke;pointer-events:none}.plan-snap-marker{fill:var(--drawing-bg);stroke:var(--selection);stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.plan-selection-marquee{fill:var(--selection-soft);stroke:var(--selection);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:var(--selection)!important;stroke-width:2.75px;filter:drop-shadow(0 0 3px var(--selection-glow));vector-effect:non-scaling-stroke}polygon.plan-object-selected,[data-plan-selected=true].plan-wall-band,[data-plan-selected=true].plan-room-area{fill:var(--selection-soft)!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-louver-line,g.plan-object-selected .plan-louver-blade,g.plan-object-selected .plan-opening-line,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-louver-line,g[data-plan-selected=true] .plan-louver-blade,g[data-plan-selected=true] .plan-opening-line,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:var(--selection)!important;fill:var(--selection);filter:drop-shadow(0 0 3px var(--selection-glow))}.element-context-menu{position:fixed;z-index:80;min-width:184px;padding:6px;border:1px solid var(--border-dark);border-radius:8px;background:var(--panel-raised);box-shadow:0 18px 42px #0f172a2e;color:var(--text)}.element-context-menu-title{max-width:220px;padding:6px 8px 8px;border-bottom:1px solid var(--border);color:var(--muted);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:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer}.element-context-menu button:hover,.element-context-menu button:focus-visible{outline:none;background:var(--selection-soft)}.element-context-menu button.danger{color:var(--danger-strong)}.element-context-menu svg{width:15px;height:15px;flex:0 0 auto}.plan-view-control-bar,.three-d-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 var(--border-dark);border-radius:4px;background:var(--toolbar-bg);box-shadow:0 8px 22px #0f172a1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);scrollbar-width:thin}.plan-view-control-bar label,.three-d-view-control-bar label{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;color:var(--toolbar-text);font-size:11px;font-weight:700;white-space:nowrap}.plan-view-control-bar input,.plan-view-control-bar select,.three-d-view-control-bar select{height:22px;width:78px;min-width:66px;max-width:104px;border:1px solid var(--border-dark);background:var(--toolbar-control-bg);color:var(--text);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}.three-d-view-control-bar{right:128px;max-width:calc(100% - 152px)}.three-d-view-control-bar .plan-status-button{width:24px;height:24px;display:grid;place-items:center}.three-d-diagnostic-overlay{position:absolute;top:48px;left:10px;z-index:7;display:grid;gap:2px;max-width:260px;padding:7px 8px;border:1px solid var(--border-dark);border-radius:4px;background:var(--viewport-hud-bg);color:var(--viewport-hud-text);font:600 11px var(--font);pointer-events:none;box-shadow:0 8px 22px #0f172a2e}.three-d-diagnostic-overlay strong{color:var(--viewport-hud-text);font-size:11px}.three-d-diagnostic-overlay span,.three-d-diagnostic-overlay em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal}.three-d-diagnostic-overlay em{color:var(--selection)}.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 var(--accent-ring);background:var(--panel-glass);color:var(--accent-strong);padding:4px 7px;font-size:10px;font-weight:750;line-height:1}.view-template-status{margin:4px 0 6px;font-size:11px;line-height:1.4;color:var(--muted)}.view-template-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.view-template-actions .secondary-button{font-size:11px;padding:5px 8px}.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:var(--selection);background:var(--selection-soft);opacity:1}body.crop-edit-active .view-annotation-crop-region{border-color:var(--warning);background:var(--warning-soft)}.view-crop-region span,.view-annotation-crop-region span{position:absolute;top:-20px;left:-2px;padding:3px 6px;background:var(--panel-glass);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:var(--drawing-paper);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:var(--drawing-grid-major)}.pdf-grid-label{-webkit-user-select:none;user-select:none}.pdf-origin-axis{stroke:var(--drawing-grid-major);stroke-width:1.5;stroke-dasharray:6,10}.pdf-origin-marker{fill:var(--drawing-paper);stroke:var(--drawing-muted);stroke-width:2}.pdf-wall{stroke:var(--drawing-muted);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}.properties-context-summary{display:grid;gap:2px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--text);font-size:12px}.properties-context-summary strong{font-size:12px;line-height:1.25}.properties-context-summary span,.property-provenance,.property-help{color:var(--muted);font-size:10px;line-height:1.3}.properties-feedback{display:grid;gap:4px;padding:8px;border:1px solid var(--danger);border-radius:8px;background:var(--danger-soft);color:var(--danger-strong);font-size:11px}.schema-property-groups{display:grid;gap:8px}.schema-property-field input[data-mixed=true],.schema-property-field select[data-mixed=true]{font-style:italic}.schema-property-field.invalid input,.schema-property-field.invalid select{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger-soft)}.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:var(--panel-2)}.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:var(--accent-strong)}.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:var(--accent-hover);border-color:var(--accent-ring)}.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:var(--accent-hover);border-color:var(--accent-ring)}.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:var(--success-strong);background:var(--success-soft)}.readiness-state.next{color:var(--warning-strong);background:var(--warning-soft)}.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:var(--panel-2);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:var(--panel-2)}.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:var(--panel-2)}.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:var(--success)}.approval-status-chip.update{background:var(--warning)}.approval-status-chip.archive,.approval-status-chip.delete{background:var(--danger)}.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:var(--warning-strong)}.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:var(--data-host-bg)}.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 var(--border-subtle);padding:7px 8px;text-align:left;vertical-align:top}.professional-table th{background:var(--table-header-bg);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:var(--table-group-bg);color:var(--table-group-text);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:var(--table-total-bg);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-manager{display:grid;gap:12px}.family-manager-header,.family-manager-filters,.family-manager-layout,.family-preview-top,.family-actions{display:flex;gap:10px}.family-manager-header{align-items:end;justify-content:space-between}.family-manager-header h2,.family-preview h3{margin:0}.family-manager-header p,.family-preview p{margin:4px 0 0;color:var(--muted);font-size:13px}.family-manager-counts,.family-tags,.family-actions{flex-wrap:wrap}.family-manager-counts span,.family-tags span,.family-scope-badge{border:1px solid var(--border);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:750;text-transform:uppercase;color:var(--muted);background:var(--panel-3)}.family-scope-badge.stock{color:var(--table-group-text);background:var(--table-group-bg);border-color:var(--selection)}.family-scope-badge.project{color:var(--success-strong);background:var(--success-soft);border-color:var(--success)}.family-scope-badge.company{color:var(--warning-strong);background:var(--warning-soft);border-color:var(--warning)}.family-manager-filters{align-items:end;flex-wrap:wrap;padding:10px;border:1px solid var(--border);background:var(--panel-2)}.family-manager-filters label,.family-editor label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:650}.family-manager-filters input,.family-manager-filters select,.family-editor input,.family-editor select,.family-editor textarea{min-height:34px;border:1px solid var(--border);border-radius:6px;padding:7px 9px;background:var(--panel);color:var(--text);font:inherit}.family-manager-layout{align-items:start}.family-manager-results{flex:1 1 520px;display:grid;gap:8px;min-width:0}.family-result-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:64px;padding:10px;text-align:left;color:var(--text);background:var(--panel-3);border-color:var(--border)}.family-result-card:hover,.family-result-card.selected{border-color:var(--accent-ring);background:var(--accent-soft)}.family-card-icon,.family-preview-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:var(--panel);color:var(--accent);border:1px solid var(--border)}.family-card-main{display:grid;min-width:0;gap:3px}.family-card-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-card-main span{color:var(--muted);font-size:12px}.family-manager-detail{flex:0 0 min(390px,42%);position:sticky;top:0;min-width:320px}.family-preview{display:grid;gap:12px;padding:12px;border:1px solid var(--border);background:var(--panel-2)}.family-preview-top{align-items:center}.family-preview-top .family-scope-badge{margin-left:auto}.family-preview-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.family-preview-meta div{padding:8px;border:1px solid var(--border);background:var(--panel)}.family-preview-meta dt{color:var(--muted);font-size:11px;font-weight:750;text-transform:uppercase}.family-preview-meta dd{margin:3px 0 0;font-size:13px}.family-editor{display:grid;gap:8px}.family-editor textarea{resize:vertical;font-family:var(--mono);font-size:12px}.family-manager-feedback{min-height:18px;margin:0;color:var(--muted);font-size:12px}.manufacturer-import-panel{display:grid;gap:10px;padding:10px;border:1px solid var(--border);background:var(--panel-2)}.manufacturer-import-header,.manufacturer-import-controls,.manufacturer-import-summary{display:flex;gap:10px;flex-wrap:wrap}.manufacturer-import-header{align-items:end;justify-content:space-between}.manufacturer-import-header h3{margin:0}.manufacturer-import-header p{margin:4px 0 0;color:var(--muted);font-size:13px}.manufacturer-import-controls{align-items:end}.manufacturer-import-controls label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:650}.manufacturer-import-panel textarea,.manufacturer-import-controls select{min-height:34px;border:1px solid var(--border);border-radius:6px;padding:7px 9px;background:var(--panel);color:var(--text);font:inherit}.manufacturer-import-panel textarea{width:100%;resize:vertical;font-family:var(--mono);font-size:12px}.manufacturer-import-summary span,.import-status-pill{border:1px solid var(--border);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:750;text-transform:uppercase;background:var(--panel)}.manufacturer-import-table-wrap{overflow:auto;border:1px solid var(--border)}.manufacturer-import-table{width:100%;min-width:760px;border-collapse:collapse;font-size:12px}.manufacturer-import-table th,.manufacturer-import-table td{padding:8px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.manufacturer-import-table th{color:var(--muted);font-size:11px;text-transform:uppercase;background:var(--panel-3)}.manufacturer-import-table span{color:var(--muted)}.import-status-pill.ready{color:var(--success-strong);background:var(--success-soft);border-color:var(--success)}.import-status-pill.warning{color:var(--warning-strong);background:var(--warning-soft);border-color:var(--warning)}.import-status-pill.error,.import-status-pill.conflict{color:var(--danger-strong);background:var(--danger-soft);border-color:var(--danger)}.import-status-pill.duplicate{color:var(--warning-strong);background:var(--warning-soft);border-color:var(--warning)}.manufacturer-import-errors{padding:8px;border:1px solid var(--danger);background:var(--danger-soft);color:var(--danger-strong)}.manufacturer-import-errors p{margin:0}.sheet-preview{width:min(100%,1100px);aspect-ratio:17 / 11;position:relative;margin:auto;padding:18px;background:var(--sheet-preview-bg);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 var(--warning);background:var(--warning-soft);color:var(--warning-strong);padding:3px 6px;font-size:10px;font-weight:750;line-height:1}.sheet-qa-pill.error{border-color:var(--danger);background:var(--danger-soft);color:var(--danger-strong)}.sheet-qa-pill.ok{border-color:var(--success);background:var(--success-soft);color:var(--success-strong)}.sheet-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px solid var(--sheet-preview-border);color:var(--muted);font-weight:700;text-align:center;overflow:hidden;padding:8px}.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:var(--warning);box-shadow:0 0 0 3px var(--warning-soft)}.sheet-zone small{color:var(--muted);font-size:11px;font-weight:600}.sheet-annotation{position:absolute;border:1px dashed var(--sheet-preview-muted);background:var(--sheet-preview-fill);color:var(--text);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:var(--warning);color:#fff;font-size:10px;font-weight:800}.sheet-zone.large{grid-row:span 2}.sheet-preview footer{position:absolute;left:4%;right:4%;bottom:4%;height:8%;min-height:54px;display:grid;grid-template-columns:90px 1fr 150px 150px;align-items:center;border:2px solid var(--sheet-preview-border);background:var(--sheet-preview-bg);z-index:2}.sheet-preview footer>*{height:100%;display:grid;place-items:center;border-right:1px solid var(--sheet-preview-border)}.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 var(--accent-ring);border-radius:8px;font-weight:650}.diagram-link{width:90px;height:3px;background:var(--accent)}.detail-board{padding:16px;background:var(--drawing-paper)}.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:var(--accent-ring);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,.catenary-admin-view{display:grid;gap:12px}.org-alert{padding:10px;border:1px solid var(--danger);border-radius:8px;background:var(--danger-soft);color:var(--danger-strong);font-weight:700}.admin-feedback{padding:10px;border:1px solid var(--success);border-radius:8px;background:var(--success-soft);color:var(--success-strong);font-weight:700}.admin-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.admin-summary-grid>div{min-width:0;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-3)}.admin-summary-grid strong{display:block;font-size:20px}.admin-summary-grid span{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:700}.org-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:12px}.catenary-admin-grid{display:grid;grid-template-columns:minmax(420px,1.4fr) minmax(280px,.8fr);gap:12px}.admin-placeholder-panel{grid-column:1 / -1}.admin-suggestions-panel,.admin-waitlist-panel{margin-bottom:2px}.admin-inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-waitlist-table td span,.admin-waitlist-table td small{display:block;margin-top:3px;color:var(--muted)}.admin-suggestion-list{display:grid;gap:10px;padding:10px}.admin-suggestion-card{display:grid;gap:8px;min-width:0;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.admin-suggestion-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-suggestion-card strong,.admin-suggestion-card span,.admin-suggestion-card p{min-width:0;overflow-wrap:anywhere}.admin-suggestion-card header span{display:block;margin-top:3px}.admin-suggestion-card p{margin:0;color:var(--text);font-size:12px;line-height:1.4}.admin-suggestion-meta{display:flex;flex-wrap:wrap;gap:6px}.admin-suggestion-meta span{min-height:22px;padding:4px 7px;border-radius:999px;background:var(--panel-2);color:var(--muted);font-size:11px;font-weight:700}.admin-suggestion-automation{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:6px}.admin-suggestion-automation span{min-height:28px;padding:7px 8px;border:1px solid var(--border);border-radius:7px;background:var(--panel-3);color:var(--muted);font-size:11px;font-weight:700}.admin-suggestion-form{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;gap:8px;align-items:end}.admin-suggestion-form label{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:11px;font-weight:700}.admin-suggestion-form input,.admin-suggestion-form select,.admin-suggestion-form textarea{width:100%;min-height:32px;border:1px solid var(--border);border-radius:7px;padding:7px 9px;background:var(--panel-3);color:var(--text);font:inherit}.admin-suggestion-notes{grid-column:1 / -2}.admin-operations-panel{margin-bottom:2px}.admin-ops-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:8px;padding:10px}.admin-ops-grid article{min-width:0;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.admin-ops-grid strong,.admin-ops-grid span,.admin-ops-grid small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-ops-grid span{margin-top:4px;color:var(--muted);font-size:11px}.admin-ops-grid small{margin-top:4px;color:var(--subtle);font-family:var(--mono);font-size:10px}.admin-flag-grid,.admin-rate-grid,.admin-budget-grid,.admin-checklist-grid{display:flex;flex-wrap:wrap;gap:8px;padding:0 10px 10px}.admin-rate-grid span{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:0 8px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--muted);font-size:11px;text-transform:capitalize}.admin-search-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px;align-items:end;padding:10px;border-bottom:1px solid var(--border)}.admin-search-row label{display:grid;gap:4px;color:var(--muted);font-size:11px;font-weight:700}.admin-budget-grid{border-top:1px solid var(--border);padding-top:10px}.admin-incident-list{display:grid;gap:6px;padding:0 10px 10px}.admin-search-row input{min-height:32px;border:1px solid var(--border);border-radius:7px;padding:0 9px;background:var(--panel);color:var(--text)}.admin-users-table table{table-layout:fixed}.admin-users-table td:first-child{display:grid;gap:2px}.admin-users-table td:first-child span{color:var(--muted);font-size:11px;overflow-wrap:anywhere}.admin-status-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:800}.admin-status-pill.owner{background:var(--success-soft);color:var(--success-strong)}.admin-status-pill.blocked{background:var(--danger-soft);color:var(--danger-strong)}.admin-status-pill.unknown{background:var(--panel-2);color:var(--muted)}.admin-row-note{color:var(--muted);font-size:11px;font-weight:700}.admin-placeholder-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:8px;padding:10px}.admin-placeholder-grid article{min-width:0;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.admin-placeholder-grid strong,.admin-placeholder-grid span,.admin-placeholder-grid small{display:block}.admin-placeholder-grid strong{font-size:12px}.admin-placeholder-grid span{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.35}.admin-placeholder-grid small{margin-top:4px;color:var(--subtle);font-family:var(--mono);font-size:10px;line-height:1.35;overflow-wrap:anywhere}.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}.table-actions{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.table-section-row td{background:var(--panel-3);color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.inline-pill{display:inline-flex;align-items:center;margin-left:6px;padding:2px 6px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase}.org-project-panel td small{display:block;margin-top:2px;color:var(--muted);font-size:11px}.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:var(--table-header-bg);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:var(--panel-2)}.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:var(--panel-2)}.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:var(--panel-2)}.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,color-mix(in srgb,var(--panel-3) 82%,transparent),color-mix(in srgb,var(--panel-2) 68%,transparent)),var(--panel-glass);-webkit-backdrop-filter:blur(26px) saturate(1.18);backdrop-filter:blur(26px) saturate(1.18);border:1px solid var(--border-dark);border-radius:18px;box-shadow:0 24px 80px #0000002e,0 1px #ffffffb3 inset;z-index:20;overflow:hidden}.ai-sidebar-panel{position:fixed;top:var(--app-header-height);bottom:var(--status-bar-height);left:0;z-index:34;width:var(--ai-panel-width);display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--panel);border-right:1px solid var(--border-dark);box-shadow:0 18px 54px #0f172a2e;transform:translate(-104%);visibility:hidden;transition:transform .18s ease,visibility .18s ease}body.ai-sidebar-open .ai-sidebar-panel{transform:translate(0);visibility:visible}.ai-sidebar-header{display:flex;align-items:center;justify-content:start;gap:10px;min-height:50px;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--panel-2)}.ai-sidebar-header>div{min-width:0;flex:1 1 auto}.ai-sidebar-header h2{margin:0;font-size:14px;font-weight:750}.ai-sidebar-header span{display:block;margin-top:2px;color:var(--muted);font-size:11px}.ai-history-surface{position:absolute;top:50px;bottom:0;left:0;z-index:2;width:var(--ai-history-width);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--panel);border-right:1px solid var(--border-dark);box-shadow:18px 0 40px #0f172a29;transform:translate(-104%);visibility:hidden;transition:transform .18s ease,visibility .18s ease}body.ai-history-open .ai-history-surface{transform:translate(0);visibility:visible}.ai-history-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:8px 10px 8px 12px;border-bottom:1px solid var(--border);background:var(--panel-2)}.ai-history-header strong{font-size:13px}.ai-sidebar-conversations,.ai-sidebar-context{min-height:0;padding:10px 12px;border-bottom:1px solid var(--border)}.ai-sidebar-conversations{display:grid;grid-template-rows:auto minmax(0,1fr)}.ai-sidebar-context{border-top:1px solid var(--border);border-bottom:0}.ai-sidebar-search{display:grid;grid-template-columns:18px minmax(0,1fr) 30px;align-items:center;gap:6px;min-height:34px;padding:0 6px;border:1px solid var(--border);border-radius:8px;background:var(--panel-3)}.ai-sidebar-search svg{width:15px;height:15px;color:var(--muted)}.ai-sidebar-search input{min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:12px}.ai-conversation-list{display:grid;gap:6px;margin-top:8px;overflow:auto;align-content:start}.ai-conversation-card{display:grid;gap:3px;width:100%;min-height:46px;border:1px solid var(--border);border-radius:8px;padding:8px;background:var(--panel-3);color:var(--text);text-align:left}.ai-conversation-card.active,.ai-conversation-card:hover{border-color:var(--accent-ring);background:var(--accent-hover)}.ai-conversation-card strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.ai-conversation-card span{color:var(--muted);font-size:11px}.ai-context-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:12px}.ai-context-title-row span{color:var(--muted);font-size:11px}.ai-mode-description{display:block;margin-bottom:8px;color:var(--muted);font-size:11px}.ai-context-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.ai-context-options label{display:flex;align-items:center;gap:6px;min-width:0;min-height:28px;border:1px solid var(--border);border-radius:8px;padding:5px 7px;background:var(--panel-3);color:var(--text);font-size:11px}.ai-context-options input{margin:0}.ai-context-chip-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.ai-context-chip-list span{max-width:100%;overflow:hidden;border-radius:999px;padding:4px 7px;background:var(--ai-soft);color:var(--text);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.ai-reference-project-list{display:grid;gap:8px;margin-top:10px}.ai-reference-options{display:grid;gap:6px}.ai-reference-options label{display:flex;align-items:center;min-width:0;gap:8px;color:var(--text-secondary);font-size:11px}.ai-reference-options span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-reference-empty{color:var(--text-secondary);font-size:11px}.ai-provider-settings-host{display:grid;gap:10px;min-width:0;margin-top:10px}.ai-provider-form{display:grid;gap:8px;min-width:0}.ai-provider-form label,.ai-provider-credential form{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:11px;font-weight:700}.ai-provider-form input,.ai-provider-form select,.ai-provider-credential input{min-width:0;width:100%;height:30px;border:1px solid var(--border);border-radius:7px;padding:0 8px;background:var(--control-bg);color:var(--text);font:inherit}.ai-provider-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ai-provider-mode label{display:flex;align-items:center;gap:6px;min-height:30px;border:1px solid var(--border);border-radius:7px;padding:0 8px;background:var(--panel-3);color:var(--text)}.ai-provider-actions{display:flex;flex-wrap:wrap;gap:6px}.provider-status{min-width:0;border:1px solid var(--border);border-radius:7px;padding:6px 8px;color:var(--muted);background:var(--panel-2);overflow-wrap:anywhere}.provider-status.error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.ai-provider-credential-list{display:grid;gap:8px}.ai-provider-credential{display:grid;gap:8px;min-width:0;border:1px solid var(--border);border-radius:8px;padding:8px;background:var(--panel-2)}.ai-provider-credential>div{display:grid;gap:2px;min-width:0}.ai-provider-credential strong,.ai-provider-credential span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-provider-credential span{color:var(--muted);font-size:11px}.ai-sidebar-chat-host{min-height:0;overflow:hidden;padding:0}.ai-sidebar-panel .ai-console{position:static;left:auto;bottom:auto;width:100%;height:100%;max-height:none;transform:none;display:grid;border:0;border-radius:0;box-shadow:none;background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none;grid-template-rows:auto minmax(0,1fr) auto}.ai-sidebar-panel .ai-console.collapsed{display:grid}.ai-sidebar-panel .ai-console #btn-close-ai-panel{display:none}.ai-sidebar-panel .ai-console>header{display:none}.ai-sidebar-panel .ai-console .chat-feed{max-height:none}.ai-sidebar-panel .ai-console footer{border-top:1px solid var(--border);background:var(--panel-2)}.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,color-mix(in srgb,var(--panel-3) 76%,transparent),color-mix(in srgb,var(--panel-2) 58%,transparent)),var(--panel-glass);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 var(--border)}.ai-console header h2{font-size:13px;font-weight:700;margin:0}.ai-console header span{color:var(--muted);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:var(--panel-2);box-shadow:0 0 0 1px var(--border) inset}.ai-mode-segment button{min-height:26px;border:0;border-radius:6px;padding:0 8px;background:transparent;color:var(--muted);font-size:11px;font-weight:700}.ai-mode-segment button.active{background:var(--panel-3);color:var(--text);box-shadow:0 1px 4px #00000014}.ai-console footer{align-items:flex-end;padding-top:8px;border-top:1px solid var(--border);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:var(--control-bg);color:var(--text);box-shadow:0 0 0 1px var(--border) inset,0 1px 2px #0000000a inset}.command-input-hint{position:absolute;right:46px;top:50%;max-width:96px;overflow:hidden;color:var(--subtle);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 var(--border);border-radius:12px;background:var(--panel-translucent);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:var(--accent-hover)}.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:var(--control-bg);box-shadow:0 0 0 1px var(--accent) inset,0 0 0 4px var(--accent-ring)}.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:var(--accent);box-shadow:0 4px 12px #007aff33,0 1px #ffffff59 inset;transform:translateY(-50%)}.ai-console footer .primary-button.icon-only:hover{background:var(--accent-strong);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:var(--panel-2);color:var(--muted)}.avatar svg{width:14px;height:14px}.msg-bubble{background:transparent;border:0;border-radius:12px;padding:5px 2px;color:var(--text)}.chat-msg.user .msg-bubble{justify-self:end;max-width:min(520px,100%);background:var(--accent-soft);color:var(--accent-strong);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:var(--success-soft);color:var(--success-strong);font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.agent-status-pill.failed,.agent-status-pill.cancelled{background:var(--danger-soft);color:var(--danger-strong)}.agent-status-pill.running,.agent-status-pill.waiting-for-approval{background:var(--warning-soft);color:var(--warning-strong)}.agent-workbench-summary{display:grid;gap:4px;padding:8px 10px;border-radius:8px;background:var(--panel-2);box-shadow:0 0 0 1px var(--border) 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:var(--panel-2);box-shadow:0 0 0 1px var(--border) inset}.agent-workbench-section.full{grid-column:1 / -1}.agent-workbench-section h3{margin:0 0 6px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.agent-workbench-list{display:grid;gap:4px;margin:0;padding-left:16px;color:var(--text);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:var(--text);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:var(--panel-2);border-radius:999px;color:var(--muted);padding:5px 9px;box-shadow:0 0 0 1px var(--border) inset}.msg-chip:hover{background:var(--panel-3);color:var(--text)}.ai-terminal-logs{border-bottom:1px solid var(--border);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:var(--panel-2);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 var(--border);border-radius:999px;background:var(--panel-3);color:var(--muted)}.plan-status-diagnostic.warning{color:var(--warning-strong)}.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 var(--border);border-radius:4px;background:var(--panel-3);color:var(--muted)}.plan-status-button:hover,.plan-status-button.active{border-color:var(--accent-ring);background:var(--accent-soft);color:var(--accent)}.plan-status-button svg{width:13px;height:13px}.project-trust-view{display:grid;gap:12px}.snapshot-create-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px;align-items:center}.snapshot-create-row input{min-width:0}.snapshot-list{display:grid;gap:8px}.snapshot-row{border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--panel)}.snapshot-row header,.project-timeline-event header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.snapshot-row p,.snapshot-row small,.project-timeline-event p,.project-timeline-event small{margin:4px 0 0;color:var(--muted)}@media (max-width: 1100px){:root{--browser-panel-width: 200px;--properties-panel-width: 240px}.admin-summary-grid,.admin-placeholder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catenary-admin-grid{grid-template-columns:1fr}.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}}@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){.suggestion-modal{padding:10px}.suggestion-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.suggestion-form-grid,.admin-suggestion-form{grid-template-columns:1fr}.admin-suggestion-notes{grid-column:auto}.admin-summary-grid,.admin-suggestion-automation,.admin-placeholder-grid,.admin-search-row{grid-template-columns:1fr}.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);--narrow-policy-height: 76px}.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}.workspace-tabs{gap:6px;padding:0 6px}.active-view-label{flex-basis:148px;gap:6px}.active-view-label span{display:none}.workspace-action-strip{justify-content:flex-start;gap:4px}.workspace-action-group{padding:0 4px}.workspace-action-group-views{flex:0 0 auto}.view-tab{width:34px;padding:0;justify-content:center}.view-tab{font-size:0}.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}.snapshot-create-row{grid-template-columns:1fr}.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}.ai-sidebar-panel{inset:var(--app-header-height) 0 var(--status-bar-height) 0;width:auto;border-right:0;transform:translate(-100%);grid-template-rows:auto minmax(0,1fr)}body.ai-sidebar-open .workspace{margin-left:0}body.ai-sidebar-open .drawer-backdrop{pointer-events:auto;background:#0f172a61}.ai-history-surface{width:min(330px,86vw)}.ai-context-options{grid-template-columns:repeat(2,minmax(0,1fr))}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.drawer-open .project-browser.drawer-active,body.drawer-open .properties-panel.drawer-active{transform:translate(0)!important}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 var(--narrow-policy-height) 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}.three-d-view-control-bar{right:8px;max-width:calc(100vw - 16px)}.three-d-diagnostic-overlay{top:50px;max-width:calc(100vw - 24px)}.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-manager-header,.family-manager-layout{display:grid}.family-manager-detail{position:static;min-width:0}.family-preview-meta{grid-template-columns:1fr}.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}}
