:root{--bg-app:#f1f5f9;--bg-surface:#fff;--bg-subtle:#f8fafc;--bg-hover:#e2e8f0;--bg-selected:#eff6ff;--bg-header:#0f172a;--bg-drafting-mat:#1e293b;--bg-terminal:#020617;--border-light:#e2e8f0;--border-medium:#cbd5e1;--border-dark:#94a3b8;--border-header:#334155;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--text-inverse:#fff;--text-inverse-muted:#94a3b8;--primary-navy:#1e293b;--primary-blue:#60a5fa;--primary-hover:#93c5fd;--accent-cyan:#64748b;--accent-emerald:#64748b;--accent-amber:#64748b;--accent-rose:#64748b;--accent-purple:#64748b;--badge-green-bg:#f1f5f9;--badge-green-text:#334155;--badge-green-border:#cbd5e1;--badge-amber-bg:#f1f5f9;--badge-amber-text:#334155;--badge-amber-border:#cbd5e1;--badge-blue-bg:#f8fafc;--badge-blue-text:#0f172a;--badge-blue-border:#cbd5e1;--badge-purple-bg:#f1f5f9;--badge-purple-text:#334155;--badge-purple-border:#cbd5e1;--badge-cyan-bg:#f1f5f9;--badge-cyan-text:#334155;--badge-cyan-border:#cbd5e1;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Menlo, Monaco, Consolas, monospace;--shadow-xs:0 1px 2px 0 #0f172a0d;--shadow-sm:0 1px 3px 0 #0f172a14, 0 1px 2px -1px #0f172a0a;--shadow-md:0 4px 6px -1px #0f172a1a, 0 2px 4px -2px #0f172a0f;--shadow-lg:0 10px 15px -3px #0f172a1a, 0 4px 6px -4px #0f172a0d;--shadow-canvas:0 12px 36px #00000073}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.011em;flex-direction:column;height:100vh;display:flex;overflow:hidden}.top-navbar{background-color:var(--bg-header);border-bottom:1px solid var(--border-header);z-index:50;flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex;box-shadow:0 2px 8px #00000040}.brand-wrapper{align-items:center;gap:14px;display:flex}.brand-icon{background:var(--primary-blue);color:#fff;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;display:flex;box-shadow:0 0 12px #2563eb66}.brand-title{color:var(--text-inverse);letter-spacing:-.01em;align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.saas-pill{color:#60a5fa;text-transform:uppercase;background:#2563eb40;border:1px solid #60a5fa4d;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.brand-sub{color:var(--text-inverse-muted);font-size:11px}.package-selector-wrapper{margin-left:12px;position:relative}.package-dropdown-btn{color:#fff;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:6px;align-items:center;gap:8px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.package-dropdown-btn:hover{background:#334155;border-color:#475569}.pkg-icon{font-size:13px}.pkg-name{color:#f8fafc;font-weight:600}.pkg-badge{color:#34d399;background:#10b98133;border:1px solid #10b98166;border-radius:4px;padding:1px 5px;font-size:10px}.pkg-arrow{color:#94a3b8;margin-left:2px;font-size:9px}.package-dropdown-menu{z-index:100;background:#0f172a;border:1px solid #334155;border-radius:8px;width:320px;padding:8px;display:none;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 25px #0006}.package-dropdown-menu.open{display:block}.pkg-menu-header{text-transform:uppercase;color:#94a3b8;border-bottom:1px solid #1e293b;justify-content:space-between;align-items:center;padding:6px 8px 10px;font-size:11px;font-weight:700;display:flex}.btn-create-pkg{background:var(--primary-blue);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:600}.pkg-list{flex-direction:column;gap:4px;max-height:240px;margin-top:8px;display:flex;overflow-y:auto}.pkg-item{cursor:pointer;background:#1e293b;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 10px;transition:all .12s;display:flex}.pkg-item:hover{background:#334155;border-color:#475569}.pkg-item.active{border-color:var(--primary-blue);background:#2563eb26}.pkg-item-title{color:#f8fafc;font-size:12px;font-weight:600}.pkg-item-sub{color:#94a3b8;font-size:10px}.nav-segmented{background:#1e293b;border:1px solid #334155;border-radius:8px;gap:2px;padding:3px;display:flex}.nav-tab-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s;display:flex;position:relative}.nav-tab-btn:hover{color:#fff;background:#ffffff0d}.nav-tab-btn.active{background:var(--primary-blue);color:#fff;font-weight:600;box-shadow:0 1px 3px #0000004d}.nav-icon{font-size:13px}.tab-badge{color:#fff;background:#ef4444;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:700}.tab-pulse-dot{background:#38bdf8;border-radius:50%;width:7px;height:7px;animation:1.5s infinite pulseLive;display:inline-block;box-shadow:0 0 8px #38bdf8}@keyframes pulseLive{0%{opacity:.7;transform:scale(.9)}50%{opacity:1;transform:scale(1.3)}to{opacity:.7;transform:scale(.9)}}.workspace-container{background-color:var(--bg-app);flex:1;display:flex;position:relative;overflow:hidden}.view-pane{flex-direction:column;overflow:hidden;width:100%!important;height:100%!important;display:flex!important}.view-pane.active{display:flex!important}.intake-content{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:24px 36px;overflow-y:auto}.intake-banner{background:var(--bg-surface);border:1px solid var(--border-medium);box-shadow:var(--shadow-xs);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px 20px;display:flex}.intake-banner-title{color:var(--primary-navy);font-size:16px;font-weight:700}.intake-banner-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.intake-banner-right{align-items:center;gap:12px;display:flex}.intake-count-text{color:var(--text-secondary);font-size:12px;font-weight:600}.upload-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}.upload-card{background:var(--bg-surface);border:1px solid var(--border-medium);box-shadow:var(--shadow-xs);border-radius:8px;flex-direction:column;gap:12px;padding:16px;transition:all .15s;display:flex}.upload-card:hover{border-color:var(--primary-blue);box-shadow:var(--shadow-sm)}.upload-card-top{align-items:center;gap:10px;display:flex}.upload-card-icon{background:#f1f5f9;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;display:flex}.upload-card-title{color:var(--text-primary);font-size:13px;font-weight:700}.upload-card-sub{color:var(--text-muted);font-size:11px}.upload-dropzone{border:2px dashed var(--border-medium);text-align:center;cursor:pointer;background:var(--bg-subtle);border-radius:6px;padding:16px 12px;transition:all .15s;position:relative}.upload-dropzone:hover{border-color:var(--primary-blue);background:var(--bg-selected)}.file-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.dropzone-body{flex-direction:column;align-items:center;gap:4px;display:flex}.dropzone-icon{font-size:16px}.dropzone-text{color:var(--text-muted);font-size:11px}.dropzone-file-name{font-family:var(--font-mono);color:var(--primary-navy);font-size:11px;font-weight:600}.upload-card-footer{justify-content:space-between;align-items:center;font-size:11px;display:flex}.file-meta{color:var(--text-muted)}.launch-action-card{box-shadow:var(--shadow-md);background:#0f172a;border-radius:8px;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.launch-title{color:#fff;font-size:15px;font-weight:700}.launch-sub{color:#94a3b8;margin-top:3px;font-size:12px}.btn-launch-pipeline{background:var(--primary-blue);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:13px;font-weight:700;transition:all .15s;box-shadow:0 0 16px #2563eb66}.btn-launch-pipeline:hover{background:var(--primary-hover);transform:translateY(-1px)}.pipeline-layout{background:#f8fafc;flex-direction:column;flex:1;display:flex;overflow:hidden}.pipeline-header-bar{background:var(--bg-surface);border-bottom:1px solid var(--border-medium);box-shadow:var(--shadow-xs);justify-content:space-between;align-items:center;padding:14px 28px;display:flex}.pipeline-title-group{align-items:center;gap:12px;display:flex}.pipeline-title{color:var(--text-primary);letter-spacing:-.01em;font-size:18px;font-weight:700}.pipeline-status-pill{text-transform:uppercase;border-radius:12px;padding:3px 10px;font-size:11px;font-weight:700}.pill-running{color:var(--primary-blue);background:#2563eb26;border:1px solid #2563eb4d}.pill-waiting{color:var(--accent-amber);background:#d9770626;border:1px solid #d977064d;animation:1.5s infinite pulseLive}.pill-complete{color:var(--accent-emerald);background:#10b98126;border:1px solid #10b9814d}.pipeline-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.pipeline-header-actions{align-items:center;gap:14px;display:flex}.pipeline-progress-wrap{flex-direction:column;gap:4px;width:180px;display:flex}.progress-label{color:var(--text-secondary);text-align:right;font-size:11px;font-weight:600}.pipeline-progress-bar{background:#e2e8f0;border-radius:3px;width:100%;height:6px;overflow:hidden}.pipeline-progress-fill{background:var(--primary-blue);border-radius:3px;height:100%;transition:width .3s}.pipeline-scroll-area{flex-direction:column;flex:1;gap:20px;width:100%;max-width:1100px;margin:0 auto;padding:24px 36px;display:flex;overflow-y:auto}.pipeline-stepper{flex-direction:column;gap:12px;display:flex}.stage-card{background:var(--bg-surface);border:1px solid var(--border-medium);box-shadow:var(--shadow-xs);border-radius:8px;transition:all .2s;overflow:hidden}.stage-card.active{border-color:var(--primary-blue);box-shadow:0 0 0 2px #2563eb33}.stage-card.waiting-input{border-color:var(--accent-amber);box-shadow:0 0 0 2px #d9770633}.stage-card.completed{border-color:#cbd5e1}.stage-card-header{cursor:pointer;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.stage-card-left{align-items:center;gap:14px;display:flex}.stage-badge{width:28px;height:28px;color:var(--text-muted);background:#f1f5f9;border:1px solid #cbd5e1;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.stage-card.active .stage-badge{background:var(--primary-blue);color:#fff;border-color:var(--primary-blue);box-shadow:0 0 10px #2563eb66}.stage-card.waiting-input .stage-badge{background:var(--accent-amber);color:#fff;border-color:var(--accent-amber)}.stage-card.completed .stage-badge{color:#fff;background:#166534;border-color:#166534}.stage-title{color:var(--text-primary);font-size:14px;font-weight:700}.stage-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.stage-card-right{align-items:center;gap:10px;display:flex}.stage-metric-chip{color:var(--text-secondary);background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600}.stage-expansion-panel{background:#fffbeb;border-top:1px solid #fde68a;flex-direction:column;gap:12px;padding:16px 20px;animation:.2s ease-out slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.expansion-title{color:#92400e;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.expansion-desc{color:#78350f;font-size:12px;line-height:1.4}.expansion-data-box{background:#fff;border:1px solid #fde68a;border-radius:6px;padding:10px 14px;font-size:12px}.expansion-options{flex-direction:column;gap:6px;display:flex}.expansion-option-label{color:var(--text-primary);cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;transition:all .1s;display:flex}.expansion-option-label:hover{border-color:var(--primary-blue)}.expansion-option-label.recommended{border-color:var(--primary-blue);background:#eff6ff;font-weight:600}.expansion-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.btn-confirm-expansion{background:var(--primary-navy);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:7px 16px;font-size:12px;font-weight:600;transition:background .15s}.btn-confirm-expansion:hover{background:var(--primary-hover)}.pipeline-terminal-card{background:var(--bg-terminal);box-shadow:var(--shadow-md);border:1px solid #1e293b;border-radius:8px;overflow:hidden}.terminal-header{background:#0f172a;border-bottom:1px solid #1e293b;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.terminal-dots{gap:6px;display:flex}.tdot{border-radius:50%;width:9px;height:9px}.tdot.red{background:#ef4444}.tdot.yellow{background:#f59e0b}.tdot.green{background:#10b981}.terminal-title{color:#94a3b8;font-size:11px;font-weight:600;font-family:var(--font-mono)}.terminal-live-badge{color:#38bdf8;letter-spacing:.05em;font-size:10px;font-weight:700}.terminal-body{font-family:var(--font-mono);color:#e2e8f0;max-height:180px;padding:12px 16px;font-size:11px;line-height:1.6;overflow-y:auto}.terminal-line{gap:10px;display:flex}.terminal-line .t-time{color:#64748b}.terminal-line .t-level{color:#38bdf8;font-weight:700}.terminal-line .t-msg{color:#cbd5e1}.terminal-line.STAGE{border-left:2px solid #2563eb;padding-left:6px}.terminal-line.DECISION{background:#f59e0b14;border-left:2px solid #f59e0b;padding-left:6px}.terminal-line.COMPLETE{background:#10b98114;border-left:2px solid #10b981;padding-left:6px}.pipeline-complete-banner{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.complete-banner-icon{color:#fff;background:#166534;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:700;display:flex}.complete-banner-text{flex:1;margin-left:14px}.complete-banner-title{color:#065f46;font-size:15px;font-weight:700}.complete-banner-sub{color:#047857;margin-top:2px;font-size:12px}.complete-banner-actions{gap:8px;display:flex}.sidebar-systems{background:var(--bg-surface);border-right:1px solid var(--border-medium);flex-direction:column;flex-shrink:0;width:220px;transition:all .2s;display:flex}.sidebar-header{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-light);background:var(--bg-subtle);justify-content:space-between;align-items:center;padding:12px 14px;font-size:11px;font-weight:700;display:flex}.icon-toggle-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:11px}.icon-toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-expand-tab{z-index:40;background:var(--bg-surface);border:1px solid var(--border-medium);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-sm);border-left:none;border-radius:0 6px 6px 0;padding:6px 10px;font-size:11px;font-weight:600;position:absolute;top:12px;left:0}.sidebar-expand-tab:hover{background:var(--bg-hover);color:var(--primary-blue)}.systems-list{flex:1;padding:6px;overflow-y:auto}.system-item{color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:2px;padding:8px 10px;font-size:12px;transition:all .12s;display:flex}.system-item:hover{background:var(--bg-hover);color:var(--text-primary)}.system-item.active{background:var(--primary-blue);color:#fff;font-weight:600}.system-count{color:var(--text-muted);background:var(--bg-hover);border-radius:10px;padding:1px 6px;font-size:11px}.system-item.active .system-count{color:#fff;background:#ffffff40}.asset-list-col{background:var(--bg-surface);border-right:1px solid var(--border-medium);flex-direction:column;flex-shrink:0;width:340px;display:flex;box-shadow:1px 0 3px #00000005}.list-toolbar{border-bottom:1px solid var(--border-light);background:var(--bg-subtle);gap:8px;padding:10px 12px;display:flex}.search-box{flex:1;position:relative}.search-input{border:1px solid var(--border-medium);background:var(--bg-surface);width:100%;color:var(--text-primary);font-size:12px;font-family:var(--font-sans);border-radius:6px;outline:none;padding:7px 10px 7px 30px;transition:border-color .15s,box-shadow .15s}.search-input:focus{border-color:var(--primary-blue);box-shadow:0 0 0 2px #2563eb26}.search-icon{color:var(--text-muted);font-size:12px;position:absolute;top:8px;left:9px}.filter-btn{background:var(--bg-surface);border:1px solid var(--border-medium);color:var(--text-secondary);cursor:pointer;border-radius:6px;outline:none;padding:0 8px;font-size:11px}.list-summary-bar{background:var(--bg-subtle);border-bottom:1px solid var(--border-light);color:var(--text-muted);justify-content:space-between;align-items:center;padding:6px 12px;font-size:11px;display:flex}.shortcut-tip{color:#94a3b8;font-size:10px}.assets-scroll{flex:1;overflow-y:auto}.asset-card{border-bottom:1px solid var(--border-light);cursor:pointer;background:var(--bg-surface);flex-direction:column;gap:4px;padding:10px 14px;transition:all .1s;display:flex}.asset-card:hover{background:var(--bg-subtle)}.asset-card.selected{background:var(--bg-selected);border-left:4px solid var(--primary-blue);padding-left:10px}.asset-card-top{justify-content:space-between;align-items:center;display:flex}.asset-tag{font-family:var(--font-mono);color:var(--primary-navy);font-size:13px;font-weight:700}.asset-desc{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.asset-meta{align-items:center;gap:6px;margin-top:2px;display:flex}.pill{text-transform:uppercase;letter-spacing:.02em;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.pill-class{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1}.pill-high{background:var(--badge-green-bg);color:var(--badge-green-text);border:1px solid var(--badge-green-border)}.pill-medium{background:var(--badge-amber-bg);color:var(--badge-amber-text);border:1px solid var(--badge-amber-border)}.pill-multi{background:var(--badge-blue-bg);color:var(--badge-blue-text);border:1px solid var(--badge-blue-border)}.pill-system{color:var(--text-muted);text-transform:none;background:#f1f5f9;font-size:10px}.canvas-stage-col{background:var(--bg-drafting-mat);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.stage-topbar{background:var(--bg-surface);border-bottom:1px solid var(--border-medium);z-index:10;box-shadow:var(--shadow-xs);justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.sheet-selector{align-items:center;gap:10px;font-size:13px;display:flex}.sheet-tag-badge{font-family:var(--font-mono);background:var(--primary-navy);color:#fff;border-radius:4px;padding:2px 8px;font-size:13px;font-weight:700}.sheet-title{color:var(--text-primary);font-size:13px;font-weight:600}.sheet-page-badge{background:var(--bg-subtle);border:1px solid var(--border-medium);color:var(--text-muted);border-radius:4px;padding:2px 7px;font-size:11px;font-weight:500}.stage-actions{align-items:center;gap:6px;display:flex}.tool-btn{background:var(--bg-surface);border:1px solid var(--border-medium);color:var(--text-secondary);cursor:pointer;border-radius:5px;padding:5px 10px;font-size:12px;font-weight:500;transition:all .12s}.tool-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.tool-btn.primary{background:var(--primary-navy);color:#fff;border-color:var(--primary-navy);font-weight:600}.tool-btn.primary:hover{background:var(--primary-hover)}.stage-viewport{background-color:var(--bg-drafting-mat);cursor:grab;background-image:radial-gradient(#ffffff14 1px,#0000 1px);background-size:24px 24px;flex:1;position:relative;overflow:hidden}.stage-viewport:active{cursor:grabbing}#drawing-canvas{transform-origin:0 0;box-shadow:var(--shadow-canvas);background:#fff;border-radius:2px;position:absolute;top:0;left:0}.stage-loader{color:#fff;box-shadow:var(--shadow-lg);z-index:20;background:#0f172ae6;border-radius:8px;padding:12px 24px;font-size:13px;font-weight:500;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.docked-inspector{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-medium);box-shadow:var(--shadow-lg);z-index:30;background:#fffffffa;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;display:flex;position:absolute;bottom:14px;left:16px;right:16px}.inspector-primary{flex-direction:column;gap:3px;display:flex}.inspector-header-row{align-items:center;gap:8px;display:flex}.inspector-tag{font-family:var(--font-mono);color:var(--primary-navy);font-size:14px;font-weight:700}.inspector-desc-row{color:var(--text-secondary);font-size:12px;font-weight:500}.inspector-relations-row{color:var(--text-muted);align-items:center;gap:8px;font-size:11px;display:flex}.inspector-sources-block{flex-direction:column;gap:4px;display:flex}.sources-label{color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:600}.sources-chips{gap:6px;display:flex}.source-chip{background:var(--bg-subtle);border:1px solid var(--border-medium);color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:500;transition:all .12s}.source-chip:hover,.source-chip.active{background:var(--primary-navy);color:#fff;border-color:var(--primary-navy)}.inspector-actions{gap:8px;display:flex}.btn-approve{color:#fff;cursor:pointer;background:#166534;border:none;border-radius:6px;align-items:center;gap:4px;padding:8px 16px;font-size:12px;font-weight:600;transition:background .15s;display:flex}.btn-approve:hover{background:#14532d}.btn-secondary{background:var(--bg-surface);border:1px solid var(--border-medium);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:8px 14px;font-size:12px;font-weight:500}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.hierarchy-layout{background:var(--bg-app);width:100%;height:100%;display:flex;overflow:hidden}.hierarchy-sidebar{background:var(--bg-surface);border-right:1px solid var(--border-medium);flex-direction:column;flex-shrink:0;width:240px;display:flex}.hierarchy-systems-menu{border-bottom:1px solid var(--border-light);padding:10px 12px}.menu-label{color:var(--text-muted);text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:600}.hierarchy-systems-list{flex-direction:column;gap:2px;max-height:280px;display:flex;overflow-y:auto}.h-sys-btn{text-align:left;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:space-between;align-items:center;padding:6px 8px;font-size:12px;display:flex}.h-sys-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.h-sys-btn.active{background:var(--primary-blue);color:#fff;font-weight:600}.hierarchy-stats-card{background:var(--bg-subtle);border-top:1px solid var(--border-light);margin-top:auto;padding:14px}.stats-header{text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-size:11px;font-weight:700}.stats-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stat-item{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:6px;flex-direction:column;align-items:center;padding:8px;display:flex}.stat-num{color:var(--primary-navy);font-size:18px;font-weight:700}.stat-lbl{color:var(--text-muted);text-transform:uppercase;font-size:10px}.hierarchy-main{background:#f8fafc;flex-direction:column;flex:1;display:flex;overflow:hidden}.tree-toolbar{background:var(--bg-surface);border-bottom:1px solid var(--border-medium);justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;display:flex}.tree-search-box{flex:1;max-width:480px;position:relative}.tree-controls-group{gap:8px;display:flex}.tree-viewport{flex:1;padding:24px 32px;overflow-y:auto}.tree-nodes-wrapper{flex-direction:column;gap:14px;max-width:900px;margin:0 auto;display:flex}.tree-root-banner{color:#fff;box-shadow:var(--shadow-sm);background:#0f172a;border-radius:8px;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.tree-root-title{align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.tree-root-path{color:#94a3b8;font-size:11px;font-family:var(--font-mono)}.tree-system-section{background:var(--bg-surface);border:1px solid var(--border-medium);box-shadow:var(--shadow-xs);border-radius:8px;transition:all .15s;overflow:hidden}.tree-system-header{border-bottom:1px solid var(--border-light);cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8fafc;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.tree-system-header:hover{background:#f1f5f9}.tree-system-title-group{align-items:center;gap:10px;display:flex}.tree-chevron{color:var(--text-muted);font-size:12px;transition:transform .15s}.tree-chevron.open{transform:rotate(90deg)}.tree-system-code{font-family:var(--font-mono);color:var(--primary-navy);font-size:13px;font-weight:700}.tree-system-count{color:var(--text-muted);font-size:11px}.tree-system-body{border-left:2px solid #cbd5e1;flex-direction:column;gap:10px;margin-bottom:8px;margin-left:20px;padding:12px 16px 16px 28px;display:flex}.tree-equipment-card{border:1px solid var(--border-light);background:#fff;border-radius:6px;padding:10px 14px;transition:all .15s;position:relative;box-shadow:0 1px 2px #0000000a}.tree-equipment-card:hover{border-color:var(--primary-blue);transform:translateY(-1px);box-shadow:0 3px 8px #2563eb1f}.tree-equipment-card.selected{border-color:var(--primary-blue);background:#f0f7ff;box-shadow:0 0 0 2px #2563eb33}.tree-eq-top{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.tree-eq-left{align-items:center;gap:8px;display:flex}.tree-eq-tag{font-family:var(--font-mono);color:var(--primary-navy);font-size:13px;font-weight:700}.tree-eq-desc{color:var(--text-secondary);font-size:12px;font-weight:500}.tree-eq-actions{align-items:center;gap:6px;display:flex}.tree-action-btn{background:var(--bg-subtle);border:1px solid var(--border-medium);color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:500;transition:all .12s}.tree-action-btn:hover{background:var(--primary-navy);color:#fff;border-color:var(--primary-navy)}.tree-children-container{border-left:2px dashed #cbd5e1;flex-direction:column;gap:6px;margin-top:8px;padding-left:16px;display:flex}.tree-child-card{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;justify-content:space-between;align-items:center;padding:6px 10px;transition:all .12s;display:flex}.tree-child-card:hover{background:#eff6ff;border-color:#93c5fd}.tree-child-card.selected{border-color:var(--primary-blue);background:#dbeafe}.tree-child-tag{font-family:var(--font-mono);color:var(--primary-navy);font-size:12px;font-weight:600}.hierarchy-detail-pane{background:var(--bg-surface);border-left:1px solid var(--border-medium);flex-direction:column;flex-shrink:0;width:340px;display:flex;box-shadow:-1px 0 3px #00000005}.detail-pane-header{border-bottom:1px solid var(--border-light);background:var(--bg-subtle);color:var(--text-secondary);text-transform:uppercase;justify-content:space-between;align-items:center;padding:12px 16px;font-size:12px;font-weight:700;display:flex}.detail-pane-body{flex-direction:column;flex:1;gap:16px;padding:18px;display:flex;overflow-y:auto}.node-tag-large{font-family:var(--font-mono);color:var(--primary-navy);font-size:18px;font-weight:700}.node-desc{color:var(--text-secondary);font-size:13px;line-height:1.4}.detail-section{flex-direction:column;gap:6px;display:flex}.detail-label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.03em;font-size:11px;font-weight:700}.fn-path-box{background:var(--bg-subtle);border:1px solid var(--border-light);font-family:var(--font-mono);color:var(--text-secondary);border-radius:6px;padding:8px 10px;font-size:11px}.fn-path-box .highlight{color:var(--primary-blue);font-weight:700}.detail-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;padding:4px 0;font-size:12px;display:flex}.detail-row .k{color:var(--text-muted)}.detail-row .v{color:var(--text-primary);font-weight:600}.tree-children-list{flex-wrap:wrap;gap:6px;max-height:140px;display:flex;overflow-y:auto}.tree-child-chip{background:var(--bg-subtle);border:1px solid var(--border-medium);font-family:var(--font-mono);color:var(--primary-navy);cursor:pointer;border-radius:4px;padding:3px 7px;font-size:11px;font-weight:600}.tree-child-chip:hover{background:var(--primary-blue);color:#fff;border-color:var(--primary-blue)}.tree-sources-list{flex-direction:column;gap:6px;display:flex}.detail-cta{margin-top:auto;padding-top:12px}.btn-jump-drawing{background:var(--primary-blue);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;width:100%;padding:10px;font-size:13px;font-weight:600;transition:background .15s;display:flex;box-shadow:0 2px 6px #2563eb4d}.btn-jump-drawing:hover{background:var(--primary-hover)}.pane-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:28px 36px;overflow-y:auto}.pane-header-row{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.page-heading{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:4px;font-size:20px;font-weight:700}.page-desc{color:var(--text-muted);font-size:13px}.white-card{background:var(--bg-surface);border:1px solid var(--border-medium);box-shadow:var(--shadow-sm);border-radius:8px;margin-bottom:16px;padding:20px}.metrics-row{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.metric-box{background:var(--bg-surface);border:1px solid var(--border-medium);box-shadow:var(--shadow-sm);border-radius:8px;padding:16px 20px}.metric-label{color:var(--text-muted);text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:600}.metric-val{color:var(--primary-navy);font-size:26px;font-weight:700}.metric-sub{color:var(--text-muted);margin-top:4px;font-size:11px}.clean-table{border-collapse:collapse;width:100%;font-size:13px}.clean-table th{background:var(--bg-subtle);text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border-medium);padding:10px 14px;font-size:12px;font-weight:600}.clean-table td{border-bottom:1px solid var(--border-light);color:var(--text-primary);padding:10px 14px}.clean-table tr:hover{background:var(--bg-subtle)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172aa6;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-box{background:var(--bg-surface);border:1px solid var(--border-medium);width:100%;max-width:480px;box-shadow:var(--shadow-lg);border-radius:8px;animation:.2s ease-out slideDown;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-light);background:var(--bg-subtle);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{color:var(--text-primary);font-size:14px;font-weight:700}.modal-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:14px}.modal-body{flex-direction:column;gap:14px;padding:20px;display:flex}.form-group{flex-direction:column;gap:4px;display:flex}.form-label{color:var(--text-secondary);font-size:12px;font-weight:600}.form-input,.form-select,.form-textarea{border:1px solid var(--border-medium);color:var(--text-primary);font-size:12px;font-family:var(--font-sans);border-radius:6px;outline:none;padding:8px 10px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-blue);box-shadow:0 0 0 2px #2563eb26}.form-textarea{resize:vertical;min-height:60px}.modal-footer{border-top:1px solid var(--border-light);background:var(--bg-subtle);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.worked-example-container{border:1px solid var(--border-medium);background:#fff;border-radius:10px;margin-bottom:24px;padding:24px;box-shadow:0 4px 12px #0f172a0a}.we-header-row{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.we-main-title{color:#0f172a;letter-spacing:-.01em;margin:0 0 4px;font-size:19px;font-weight:700}.we-subtitle{color:#64748b;margin:0;font-size:13px}.we-live-telemetry{flex-shrink:0;align-items:center;gap:10px;display:flex}.we-telemetry-pill{font-family:var(--font-mono);color:#0f172a;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:20px;padding:5px 12px;font-size:12px;font-weight:700}.we-status-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:20px;padding:5px 12px;font-size:11px;font-weight:700}.we-status-badge.running{color:#0369a1;background:#e0f2fe;border:1px solid #7dd3fc;animation:1.8s ease-in-out infinite badgeBlink;box-shadow:0 0 10px #0284c740}.we-status-badge.waiting{color:#b45309;background:#fef3c7;border:1px solid #fde68a;animation:1.2s ease-in-out infinite badgeBlink}.we-status-badge.completed{color:#15803d;background:#dcfce7;border:1px solid #86efac}.we-legend-bar{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:18px;padding:10px 14px;font-size:12px;display:flex}.we-legend-item{align-items:center;gap:8px;display:flex}.we-legend-box{border-radius:3px;flex-shrink:0;width:14px;height:14px}.we-legend-box.code{background:#eff6ff;border:1.5px solid #3b82f6}.we-legend-box.ai{background:#faf5ff;border:1.5px solid #8b5cf6}.we-legend-box.human{background:#fffbeb;border:1.5px solid #d97706}.we-legend-box.passes{background:#f0fdf4;border:1.5px solid #16a34a}.we-asset-bar{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;display:flex}.we-asset-title{color:#1e293b;align-items:center;gap:10px;font-size:13px;display:flex}.we-tag-pill{font-family:var(--font-mono);color:#fff;letter-spacing:.05em;background:#0f172a;border-radius:4px;padding:3px 10px;font-size:12px;font-weight:700}.we-controls{align-items:center;gap:6px;display:flex}.step-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:5px;padding:5px 10px;font-size:11.5px;font-weight:600;transition:all .15s}.step-btn:hover{color:#0f172a;background:#f1f5f9;border-color:#94a3b8}.step-btn.primary{color:#fff;background:#0284c7;border-color:#0284c7}.step-btn.primary:hover{background:#0369a1;border-color:#0369a1}.we-canvas-wrap{padding:10px 4px;overflow-x:auto}.we-row{align-items:stretch;gap:10px;min-width:1100px;display:flex}.we-row-bottom{margin-top:4px}.we-stage-card{background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;flex-direction:column;flex:1 1 0;gap:6px;min-width:200px;padding:10px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.we-stage-card:hover{border-color:#94a3b8;box-shadow:0 4px 12px #0f172a14}.we-stage-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-bottom:6px;display:flex}.we-stage-num-title{align-items:center;gap:6px;display:flex}.we-stage-num{color:#fff;width:19px;height:19px;font-size:11px;font-family:var(--font-mono);background:#0f172a;border-radius:4px;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.we-stage-name{color:#0f172a;letter-spacing:-.01em;font-size:13px;font-weight:700}.we-stage-badge{color:#64748b;text-transform:uppercase;letter-spacing:.03em;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;padding:2px 7px;font-size:9.5px;font-weight:700}.we-subbox{border:1px solid #0000;border-radius:6px;flex-direction:column;flex:1;gap:2px;padding:6px 8px;font-size:11px;line-height:1.4;display:flex}.we-subbox-badge{letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:700}.we-subbox-text{color:#334155;font-size:10.5px}.subbox-code{background:var(--bg-subtle,#f8fafc);border-color:var(--border-light,#e2e8f0)}.subbox-code .we-subbox-badge{color:#475569}.subbox-ai{background:var(--bg-subtle,#f8fafc);border-color:var(--border-light,#e2e8f0)}.subbox-ai .we-subbox-badge{color:#64748b}.subbox-human{background:var(--bg-subtle,#f8fafc);border-color:var(--border-light,#e2e8f0)}.subbox-human .we-subbox-badge{color:#64748b}.subbox-passes{background:var(--bg-subtle,#f8fafc);border-color:var(--border-light,#e2e8f0)}.subbox-passes .we-subbox-badge{color:#475569}.we-arrow{color:#94a3b8;flex-shrink:0;justify-content:center;align-items:center;width:24px;transition:all .25s;display:flex}.we-flow-bridge{justify-content:center;align-items:center;min-width:1100px;margin:4px 0;padding:10px 0;display:flex;position:relative}.we-bridge-line{z-index:1;background:#e2e8f0;height:2px;position:absolute;left:0;right:0}.we-bridge-badge{z-index:2;color:#475569;background:#fff;border:1.5px dashed #94a3b8;border-radius:20px;align-items:center;gap:8px;padding:4px 18px;font-size:11.5px;font-weight:600;display:flex;position:relative;box-shadow:0 2px 6px #00000008}.we-bridge-arrow{color:#0284c7;font-size:14px;font-weight:700}.we-feedback-card{border:2px dashed var(--border-medium,#cbd5e1)!important;background:var(--bg-surface,#fff)!important}.we-feedback-icon{font-size:13px}@keyframes activeStagePulse{0%{border-color:#0284c7;box-shadow:0 0 #0284c799,0 6px 18px #0284c740}50%{border-color:#38bdf8;box-shadow:0 0 0 6px #0284c72e,0 12px 26px #0284c759}to{border-color:#0284c7;box-shadow:0 0 #0284c799,0 6px 18px #0284c740}}@keyframes amberPulse{0%{border-color:#d97706;box-shadow:0 0 #d9770699,0 6px 18px #d9770640}50%{border-color:#fbbf24;box-shadow:0 0 0 6px #d9770633,0 12px 26px #d9770659}to{border-color:#d97706;box-shadow:0 0 #d9770699,0 6px 18px #d9770640}}@keyframes badgeBlink{0%,to{opacity:1}50%{opacity:.6}}@keyframes arrowFlowPulse{0%{stroke-dashoffset:8px;transform:translate(0)}50%{stroke:#38bdf8;transform:translate(2px)}to{stroke-dashoffset:0;transform:translate(0)}}@keyframes scanPulse{0%{opacity:.2;transform:translate(-100%)}50%{opacity:1}to{opacity:.2;transform:translate(100%)}}.we-stage-card.active-stage{z-index:10;animation:2s ease-in-out infinite activeStagePulse;transform:translateY(-3px);background:#fff!important;border-color:#0284c7!important;box-shadow:0 0 0 3px #0284c766,0 12px 28px -4px #0284c759!important}.we-stage-card.active-stage .we-stage-badge{box-shadow:0 0 8px #0284c780;color:#fff!important;background:#0284c7!important;border-color:#0284c7!important}.we-stage-card.active-stage .we-subbox.subbox-passes{box-shadow:0 0 10px #22c55e40;border-color:#86efac!important}.we-stage-card.waiting-input{z-index:10;animation:1.6s ease-in-out infinite amberPulse;transform:translateY(-3px);background:#fff!important;border-color:#d97706!important;box-shadow:0 0 0 3px #d9770673,0 12px 28px -4px #d9770659!important}.we-stage-card.waiting-input .we-stage-badge{box-shadow:0 0 8px #d9770680;color:#fff!important;background:#d97706!important;border-color:#d97706!important}.we-stage-card.completed-stage{background:#fafaf9;border-color:#cbd5e1}.we-stage-card.completed-stage .we-stage-badge{color:#15803d!important;background:#dcfce7!important;border-color:#86efac!important}.we-arrow.active-flow{animation:1s infinite alternate arrowFlowPulse;color:#0284c7!important}.we-expansion-panel{background:#f8fafc;border:1.5px solid #d97706;border-radius:8px;margin-top:18px;padding:18px;animation:.2s ease-out slideDown;box-shadow:0 6px 18px #d977061f}.we-exp-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.we-exp-title{color:#b45309;font-size:15px;font-weight:700}.we-exp-desc{color:#334155;margin-bottom:14px;font-size:13px}.we-exp-options{flex-direction:column;gap:8px;display:flex}.we-exp-opt-btn{text-align:left;color:#1e293b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:space-between;align-items:center;padding:9px 14px;font-size:12.5px;font-weight:600;transition:all .15s;display:flex}.we-exp-opt-btn:hover{color:#b45309;background:#fffbeb;border-color:#d97706}.we-exp-opt-btn.recommended{color:#15803d;background:#f0fdf4;border-color:#16a34a}.we-exp-opt-btn.recommended:hover{background:#dcfce7;border-color:#15803d}.app-root-shell{background-color:var(--bg-app);flex-direction:row;width:100vw;height:100vh;display:flex;overflow:hidden}.app-sidebar{box-shadow:1px 0 3px #0000000d}.app-sidebar.collapsed{width:68px!important;min-width:68px!important}.sidebar-scrollable-menu::-webkit-scrollbar{width:4px}.sidebar-scrollable-menu::-webkit-scrollbar-track{background:0 0}.sidebar-scrollable-menu::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}.sidebar-scrollable-menu::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.top-operational-header{box-shadow:0 1px 2px #0000000a}@media (max-width:1100px){.header-metrics-bar{display:none!important}}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.sidebar-edge-toggle{background:var(--bg-surface);border:1px solid var(--border-medium);cursor:pointer;width:24px;height:24px;color:var(--text-secondary);z-index:100;border-radius:50%;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:50%;right:-12px;transform:translateY(-50%);box-shadow:0 2px 8px #0000001f}.sidebar-edge-toggle:hover{color:#fff!important;background:#0f172a!important;border-color:#0f172a!important;transform:translateY(-50%)scale(1.15)!important;box-shadow:0 4px 12px #0f172a40!important}.dropzone-box{will-change:min-height, padding;transition:min-height .45s cubic-bezier(.16,1,.3,1),padding .45s cubic-bezier(.16,1,.3,1),background-color .25s,border-color .25s,box-shadow .25s,transform .2s}.dropzone-box.empty{min-height:440px;padding:56px 32px}.dropzone-box.has-files{min-height:84px;padding:16px 24px}.dropzone-box:hover{border-color:var(--primary-blue)!important;box-shadow:0 4px 18px #2563eb14!important}.dropzone-box.empty:hover{transform:translateY(-2px)}@keyframes fileCardEntrance{0%{opacity:0;transform:translateY(22px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fileRowFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes iconPulseSpin{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}.animate-files-section{animation:.45s cubic-bezier(.16,1,.3,1) forwards fileCardEntrance}.animate-file-row{animation:.35s cubic-bezier(.16,1,.3,1) both fileRowFadeIn}.animate-handoff-banner{animation:.45s cubic-bezier(.16,1,.3,1) 80ms backwards fileCardEntrance}.animate-classifying-pulse{animation:1.2s ease-in-out infinite iconPulseSpin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
