:root{--color-bg-page: #ffffff;--color-bg-surface: #ffffff;--color-bg-content: #ffffff;--color-bg-hover: #fafafa;--color-bg-alt: #f0f0f2;--color-text-primary: #18181b;--color-text-secondary: #52525b;--color-text-tertiary: #a1a1aa;--color-border: #e4e4e7;--color-border-dark: #d4d4d8;--color-primary: #18181b;--color-primary-light: #f4f4f5;--color-accent-blue: #2563eb;--color-accent-blue-bg: #eff6ff;--color-status-green: #16a34a;--color-status-green-bg: #f0fdf4;--color-status-orange: #d97706;--color-status-orange-bg: #fffbeb;--color-status-red: #dc2626;--color-status-red-bg: #fef2f2;--color-status-blue: #2563eb;--color-status-blue-bg: #eff6ff;--color-status-purple: #7c3aed;--color-status-purple-bg: #f5f3ff;--color-status-gray: #a1a1aa;--color-status-gray-bg: #f4f4f5;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--radius-sm: 3px;--radius-md: 3px;--radius-lg: 4px;--shadow-sm: none;--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 16px 48px rgba(0,0,0,.12), 0 0 0 1px rgba(0,0,0,.05);--transition: all .12s ease;--sidebar-width: 220px}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;font-family:Inter,-apple-system,system-ui,sans-serif;background-color:var(--color-bg-page);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;font-size:13px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:12px;font-weight:500;color:var(--color-text-secondary);letter-spacing:-.01em}.form-hint{font-size:11px;color:var(--color-text-tertiary)}.form-input,.form-select,.form-textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px;background:#fff;color:var(--color-text-primary);transition:border-color .12s;font-family:inherit;width:100%}.form-input::placeholder{color:var(--color-text-tertiary)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary)}.form-input.error{border-color:#dc2626}.form-input.error:focus{border-color:#dc2626}.form-error{font-size:11px;color:#dc2626;margin-top:2px}.form-error-box{padding:10px 12px;background:#fef2f2;border-radius:6px;border:1px solid #fecaca;font-size:12px;color:#b91c1c;display:flex;align-items:center;gap:8px;line-height:1.4}.form-input:disabled,.form-textarea:disabled{background:var(--color-primary-light);color:#71717a;cursor:default;opacity:.85}.btn{padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;border:none;transition:var(--transition);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:#27272a}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b91c1c}.btn-secondary{background:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-hover)}.btn-sm{padding:5px 10px;font-size:12px}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:20px}.search-input{font-family:inherit;font-size:13px;padding:7px 10px 7px 32px;border:1px solid #e4e4e7;border-radius:3px;outline:none;width:240px;color:#18181b;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath d='M9.5 9.5L13 13'/%3E%3C/svg%3E") 10px center no-repeat;transition:border-color .15s}.search-input::placeholder{color:#a1a1aa}.search-input:focus{border-color:#18181b}.filter-btn{font-family:inherit;font-size:12px;font-weight:500;padding:7px 12px;border-radius:3px;border:1px solid #e4e4e7;background:#fff;color:#71717a;cursor:pointer;transition:all .1s}.filter-btn:hover{background:#f4f4f5;color:#18181b}.filter-btn.active{background:#18181b;color:#fff;border-color:#18181b}.btn-icon{background:none;border:none;cursor:pointer;color:#a1a1aa;padding:4px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover{background:#f4f4f5;color:#18181b}.project-table{width:100%;border-collapse:collapse}.project-table th{text-align:left;padding:12px;font-weight:500;font-size:11px;color:#a1a1aa;text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid #e4e4e7}.project-table td{padding:12px;border-bottom:1px solid #f4f4f5;color:#52525b;vertical-align:middle}.project-table tr{cursor:pointer;transition:background .08s}.project-table tbody tr:hover td{background:#fafafa}.project-name{font-weight:500;color:#18181b}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-th:hover{color:#18181b}.sort-arrow{font-size:10px}.data-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e4e4e7;border-radius:3px}.data-table th{text-align:left;padding:10px 16px;font-size:11px;font-weight:600;color:#a1a1aa;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid #e4e4e7;background:#fafafa}.data-table td{padding:10px 16px;font-size:13px;color:#18181b;border-bottom:1px solid #f4f4f5}.data-table tr{cursor:pointer;transition:background .1s ease}.data-table tbody tr:hover{background:#f9f9fb}.data-table tbody tr:last-child td{border-bottom:none}.dept-tag{display:inline-flex;font-size:11px;font-weight:500;padding:2px 8px;border-radius:3px;letter-spacing:.02em}.dept-arch{background:#f0fdf4;color:#16a34a}.dept-mep{background:#eff6ff;color:#2563eb}.dept-tags{display:flex;gap:4px}.owner-cell{display:flex;align-items:center;gap:8px}.owner-avatar{width:22px;height:22px;border-radius:3px;background:#e4e4e7;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#52525b;flex-shrink:0}.member-stack{display:flex;align-items:center}.member-dot{width:22px;height:22px;border-radius:3px;background:#e4e4e7;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;color:#52525b;margin-left:-4px;border:2px solid #fff}.member-dot:first-child{margin-left:0}.member-count{font-size:11px;color:#a1a1aa;margin-left:6px}.date-cell{font-size:12px;color:#a1a1aa}.models-cell{font-size:12px;color:#52525b}.activity-cell{font-size:12px;color:#a1a1aa}.scope-view-bar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4e4e7;background:#fafafa;padding:6px 12px;min-height:40px}.scope-view-tabs{display:flex;gap:4px;flex:1}.scope-view-tab{padding:4px 12px;border:none;background:transparent;color:#52525b;border-radius:4px;font-size:12px;cursor:pointer;font-weight:400;font-family:inherit;transition:all .1s}.scope-view-tab:hover{background:#f4f4f5;color:#18181b}.scope-view-tab.active{background:#18181b;color:#fff;font-weight:600}.scope-view-actions{display:flex;gap:8px}.scope-tab-badge{margin-left:6px;display:inline-block;background:#e4e4e7;color:#52525b;padding:0 4px;border-radius:3px;font-size:10px;font-weight:600}.scope-view-tab.active .scope-tab-badge{background:#71717a;color:#fff}.scope-secondary-tabs{display:flex;border-bottom:1px solid #e4e4e7;background:#fafafa;padding:0 12px}.scope-secondary-tab{padding:8px 12px;border:none;background:transparent;border-bottom:2px solid transparent;cursor:pointer;font-size:12px;font-weight:400;font-family:inherit;color:#71717a;transition:all .1s}.scope-secondary-tab:hover{color:#18181b}.scope-secondary-tab.active{color:#18181b;font-weight:600;border-bottom-color:#18181b;background:#fff}.chat-input-area{border-top:1px solid #e4e4e7;padding:12px 20px;cursor:text}.chat-input-row{display:flex;align-items:flex-end;gap:8px}.chat-input{flex:1;padding:8px 10px;border:1px solid #e4e4e7;border-radius:4px;font-size:12px;font-family:inherit;resize:none;max-height:100px;outline:none}.chat-input:focus{border-color:#18181b}.attach-btn{color:#a1a1aa}.attach-btn:hover{color:#18181b}.taskview-layout{display:flex;flex:1;min-height:0;position:relative}.scope-main-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff}.scope-tree-scroll{flex:1;overflow-y:auto}.taskview-chat{width:35%;display:flex;flex-direction:column;overflow:hidden;background:#fff}.panel-resize-handle{width:9px;cursor:col-resize;z-index:10;display:flex;align-items:center;justify-content:center;position:relative}.panel-resize-handle:before{content:"";position:absolute;top:0;bottom:0;left:4px;width:1px;background:#e4e4e7;transition:background .2s}.panel-resize-handle:after{content:"";width:4px;height:32px;border-radius:2px;background:#d4d4d8;position:relative;z-index:1;transition:background .2s}.panel-resize-handle:hover:before{background:var(--color-primary, #3b82f6)}.panel-resize-handle:hover:after{background:var(--color-primary, #3b82f6)}.chat-toggle-tab{position:absolute;right:0;top:50%;transform:translateY(-50%);width:24px;padding:12px 4px;background:#18181b;color:#fff;border:none;cursor:pointer;writing-mode:vertical-rl;text-orientation:mixed;font-size:11px;font-weight:600;z-index:15;border-radius:4px 0 0 4px}.task-selector-bar{border-bottom:1px solid #e4e4e7;padding:8px 12px;display:flex;gap:8px;align-items:center}.btn-exec-plan{padding:6px 10px;border:1px solid #e4e4e7;border-radius:4px;background:#fff;cursor:pointer;font-size:11px;color:#52525b;display:flex;align-items:center;gap:6px;white-space:nowrap;font-family:inherit;transition:all .1s}.btn-exec-plan:hover{background:#f4f4f5;color:#18181b}.scope-context-sections{border-top:1px solid #e4e4e7;background:#fafafa;max-height:30%;overflow:auto}.scope-context-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid #e4e4e7;cursor:pointer}.scope-context-label{font-size:12px;font-weight:600}.scope-context-counts{font-size:11px;color:#71717a}.scope-context-chevron{transition:transform .2s}.scope-context-sections.collapsed .scope-context-chevron{transform:rotate(180deg)}.scope-context-body{display:none}.scope-context-sections:not(.collapsed) .scope-context-body{display:block}.side-section{border-bottom:1px solid #e4e4e7}.side-section-title{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;cursor:pointer;background:#fff;font-size:11px;font-weight:500}.side-section-body{padding:6px 12px;font-size:11px;color:#71717a;background:#fafafa}.side-empty-state{padding:8px 0;color:#a1a1aa;font-size:11px}.section-chevron{transition:transform .2s}.list-panel{border-bottom:1px solid #e4e4e7;overflow:hidden}.list-panel-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#fafafa;border-bottom:1px solid #e4e4e7;cursor:pointer}.list-panel-content{overflow-y:auto}.list-panel-toggle{display:flex;align-items:center;gap:4px;font-size:12px;color:#71717a}.list-panel-summary{flex:1}.lp-filter-tabs{display:flex;align-items:center;gap:4px;padding:8px 16px;border-bottom:1px solid #e4e4e7}.back-button{display:flex;align-items:center;gap:6px;font-size:13px;padding:6px 12px;border-radius:3px;border:1px solid #e4e4e7;background:#fff;color:#52525b;cursor:pointer;font-family:inherit;transition:all .1s}.back-button:hover{background:#f4f4f5;color:#18181b}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:500;letter-spacing:-.01em}.badge-green{background:var(--color-status-green-bg);color:var(--color-status-green)}.badge-orange{background:var(--color-status-orange-bg);color:var(--color-status-orange)}.badge-red{background:var(--color-status-red-bg);color:var(--color-status-red)}.badge-blue{background:var(--color-status-blue-bg);color:var(--color-status-blue)}.badge-purple{background:var(--color-status-purple-bg);color:var(--color-status-purple)}.badge-gray{background:var(--color-status-gray-bg);color:var(--color-status-gray)}.spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:6px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.error-msg{background:var(--color-status-red-bg);color:var(--color-status-red);padding:8px 12px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:16px;display:none}.toast{position:fixed;bottom:24px;right:24px;padding:10px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;z-index:10000;animation:toastIn .2s ease;border:1px solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-primary)}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-header{height:56px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;padding:0 var(--spacing-xl);gap:var(--spacing-lg);flex-shrink:0}.page-header-brand{display:flex;align-items:center;gap:var(--spacing-md)}.page-header-brand-icon{width:28px;height:28px;background:#18181b;border-radius:3px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.page-header-brand-text{font-size:14px;font-weight:600;color:var(--color-text-primary)}.page-header-breadcrumb{display:flex;align-items:center;gap:var(--spacing-sm);font-size:13px;color:var(--color-text-secondary);margin-left:var(--spacing-lg)}.page-header-breadcrumb span.active{color:var(--color-text-primary);font-weight:500}.page-header-breadcrumb span[onclick]{cursor:pointer;padding:2px 4px;border-radius:4px;transition:background .15s,color .15s}.page-header-breadcrumb span[onclick]:hover{background:var(--color-bg-hover, #f0f0f0);color:var(--color-primary)}.page-header-spacer{flex:1}.page-header-user{position:relative;display:flex;align-items:center;gap:var(--spacing-md)}.page-header-user-btn{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#52525b;cursor:pointer;background:transparent;border:1px solid #e4e4e7;padding:6px 12px;border-radius:3px;transition:var(--transition)}.page-header-user-btn:hover{background:#f4f4f5;color:#18181b}.page-header-user-btn svg{transition:transform .2s}.page-header-user.open .page-header-user-btn svg{transform:rotate(180deg)}.user-dropdown{display:none;position:absolute;top:calc(100% + 6px);right:0;min-width:320px;background:#fff;border:1px solid #e4e4e7;border-radius:3px;box-shadow:0 1px 2px #0000000a;z-index:100;overflow:hidden}.page-header-user.open .user-dropdown{display:block}.user-dropdown-section{padding:12px 16px;border-bottom:1px solid #e4e4e7}.user-dropdown-section:last-child{border-bottom:none}.user-dropdown-label{font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.user-dropdown-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.user-dropdown-row:last-child{margin-bottom:0}.user-dropdown-row .dd-label{font-size:12px;color:var(--color-text-secondary);min-width:60px;flex-shrink:0}.user-dropdown-row .dd-value{flex:1;font-size:12px;font-family:SF Mono,Fira Code,monospace;color:var(--color-text-primary);background:var(--color-bg-hover);padding:4px 8px;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-row .dd-copy-btn{flex-shrink:0;background:none;border:1px solid var(--color-border);border-radius:4px;padding:4px 6px;cursor:pointer;color:var(--color-text-secondary);transition:var(--transition);display:flex;align-items:center}.user-dropdown-row .dd-copy-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.user-dropdown-logout{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;border:none;background:none;cursor:pointer;font-size:13px;color:var(--color-text-secondary);transition:var(--transition)}.user-dropdown-logout:hover{background:var(--color-status-red-bg);color:var(--color-status-red)}.plugin-status{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:3px;font-size:12px;font-weight:500;border:1px solid #e4e4e7;background:#fff;color:#71717a;cursor:pointer;font-family:inherit}.plugin-status .status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.plugin-status.connected .status-dot{background:#10b981}.plugin-status.disconnected .status-dot{background:#a1a1aa}.plugin-status.connected{color:#18181b;border-color:#e4e4e7;background:#fff}.plugin-status.disconnected{color:#a1a1aa;border-color:#e4e4e7;background:#fafafa}.plugin-refresh-icon{opacity:.3;transition:opacity .15s ease,transform .3s ease;flex-shrink:0}.plugin-status:hover .plugin-refresh-icon{opacity:.7}.plugin-status.refreshing .plugin-refresh-icon{animation:spin .8s linear infinite}.action-bar{display:flex;align-items:center;padding:0 20px;gap:8px;height:44px;border-bottom:1px solid var(--color-border);flex-shrink:0;background:var(--color-bg-surface)}.action-bar-btn{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:6px 14px;border-radius:3px;border:1px solid #e4e4e7;background:#fff;color:#52525b;cursor:pointer;transition:all .15s ease;position:relative}.action-bar-btn:hover:not(:disabled){background:#f4f4f5;color:#18181b}.action-bar-btn:disabled{opacity:.4;cursor:not-allowed}.ep-tag{font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;line-height:1.3}.ep-tag-pass{background:#dcfce7;color:#15803d}.ep-tag-fail{background:#fee2e2;color:#dc2626}.ep-tag-ready{background:#dbeafe;color:#2563eb}.ep-tag-pending{background:#f3f4f6;color:#6b7280}.btn-run{font-size:13px;font-weight:600;padding:7px 22px;background:#10b981;color:#fff;border:none;border-radius:3px;cursor:pointer;transition:all .15s ease;letter-spacing:.2px}.btn-run:hover:not(:disabled){background:#059669}.btn-run:disabled{background:var(--color-bg-hover);color:var(--color-text-tertiary);cursor:not-allowed}.btn-ghost{background:transparent;color:var(--color-accent-blue, #3b82f6);padding:0;font-weight:500;border:none;cursor:pointer}.btn-ghost:hover{color:#2563eb}.task-selector-dropdown{flex:1;display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--color-border);border-radius:3px;cursor:pointer;transition:border-color .15s,background .1s;min-width:0;background:#fafafa}.task-selector-dropdown:hover{border-color:var(--color-border-dark, #d4d4d8);background:#f4f4f5}.task-selector-dropdown.open{border-color:var(--color-primary);background:#fff}.task-selector-current{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.task-selector-label{font-size:12px;font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-selector-status{font-size:9px;font-weight:600;padding:1px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.task-selector-status.active{background:var(--color-status-green-bg);color:var(--color-status-green)}.task-selector-status.completed{background:var(--color-status-blue-bg);color:var(--color-status-blue)}.task-selector-status.creating{background:var(--color-status-orange-bg);color:var(--color-status-orange)}.task-selector-chevron{flex-shrink:0;opacity:.4;transition:transform .15s}.task-selector-dropdown.open .task-selector-chevron{transform:rotate(180deg)}.task-dropdown-menu{display:none;position:absolute;top:calc(100% - 4px);left:12px;right:12px;background:#fff;border:1px solid var(--color-border);border-radius:3px;box-shadow:0 4px 16px #0000001a;z-index:50;max-height:280px;overflow-y:auto}.task-dropdown-menu.open{display:block}.task-dropdown-list{padding:4px 0}.task-dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background .1s;font-size:12px}.task-dropdown-item:hover{background:#f4f4f5}.task-dropdown-item.active{background:#f0f0f2;font-weight:500}.task-dropdown-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary)}.task-dropdown-item-status{font-size:9px;font-weight:500;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.2px;flex-shrink:0}.task-dropdown-item-status.active{background:#ecfdf5;color:#10b981}.task-dropdown-item-status.completed{background:#eff6ff;color:#3b82f6}.task-dropdown-item-status.creating{background:#fffbeb;color:#f59e0b}.task-dropdown-divider{height:1px;background:var(--color-border);margin:2px 0}.task-dropdown-action{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:11px;color:var(--color-text-tertiary);cursor:pointer;transition:all .1s}.task-dropdown-action:hover{background:#f4f4f5;color:var(--color-text-secondary)}.taskview-chat.collapsed{flex:0 0 0px!important;min-width:0;max-width:0;overflow:hidden;border-left:none}.chat-messages{flex:1;overflow-y:auto;padding:20px}.chat-typing-indicator{display:flex;align-items:center;gap:8px;padding:8px 20px;font-size:12px;color:var(--color-text-tertiary)}.chat-pending-files{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:4px}.tab-bar{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xl)}.tab-btn{padding:var(--spacing-md) var(--spacing-xl);font-size:14px;font-weight:500;color:var(--color-text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:var(--transition);font-family:inherit}.tab-btn:hover{color:var(--color-text-primary)}.tab-btn.active{color:var(--color-accent-blue, #3b82f6);border-bottom-color:var(--color-accent-blue, #3b82f6)}.modal-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:1000;align-items:center;justify-content:center;animation:co-fadein .15s ease}.modal-backdrop.active{display:flex}.modal{background:#fff;border-radius:12px;box-shadow:0 24px 80px #0000002e,0 0 0 1px #0000000a;width:480px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{padding:20px 24px 16px;font-weight:600;font-size:14px;border-bottom:1px solid #f0f0f2;display:flex;align-items:center;justify-content:space-between;color:var(--color-text-primary)}.modal-header .modal-close{background:none;border:none;cursor:pointer;color:var(--color-text-tertiary);font-size:18px;padding:0;display:flex;align-items:center}.modal-body{padding:20px 24px;overflow-y:auto;flex:1}.modal-footer{padding:16px 24px;border-top:1px solid #f0f0f2;display:flex;gap:10px;justify-content:flex-end;background:#fafbfc}.taskview-side{width:280px;display:flex;flex-direction:column;border-left:1px solid var(--color-border);background:#fafafa;transition:width .2s}.taskview-side.collapsed{width:0;min-width:0;overflow:hidden;border-left:none}.taskview-side-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--color-border);font-size:13px;font-weight:600;cursor:pointer}.taskview-side-body{flex:1;overflow-y:auto}.taskview-side-tab{position:absolute;right:0;top:50%;transform:translateY(-50%);background:#fff;border:1px solid #e4e4e7;border-right:none;border-radius:3px 0 0 3px;padding:8px 6px;cursor:pointer;font-size:11px;color:#52525b;writing-mode:vertical-lr;z-index:10;display:none}.taskview-side.collapsed~.taskview-side-tab{display:block}.settings-tab{padding:8px 16px;border:none;background:none;border-bottom:2px solid transparent;cursor:pointer;font-size:13px;font-weight:500;color:var(--color-text-secondary);font-family:inherit;transition:var(--transition)}.settings-tab:hover{color:var(--color-text-primary)}.settings-tab.active{color:var(--color-text-primary);border-bottom-color:var(--color-primary)}.settings-tab-content{display:none}.settings-tab-content.active{display:block}.badge-type{font-size:10px;font-weight:700;padding:2px 7px;border-radius:3px;text-transform:uppercase}.badge-type-c{background:#eff6ff;color:#3b82f6}.list-panel-resize{height:6px;cursor:row-resize;background:transparent;transition:background .2s}.list-panel-resize:hover{background:#e4e4e7}.report-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:10000;align-items:flex-start;justify-content:center;padding:24px 0;overflow-y:auto}.report-overlay.active{display:flex}.topbar{display:flex;flex-direction:column;background:#fff;border-bottom:1px solid #e4e4e7;flex-shrink:0;z-index:20}.topbar-row{display:flex;align-items:center;height:52px;padding:0 28px;gap:20px}.topbar-left{display:flex;align-items:center;gap:10px;flex-shrink:0}.topbar-center{flex:1;display:flex;align-items:center;justify-content:flex-start;min-width:0;padding-left:4px}.topbar-logo .mark{width:22px;height:22px;border-radius:4px;background:#18181b;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.topbar-right{display:flex;align-items:center;gap:16px;margin-left:auto;flex-shrink:0}.topbar-admin-btn{display:flex;align-items:center;font-size:11px;font-weight:500;padding:4px 10px;border-radius:4px;background:#18181b;color:#fff;cursor:pointer;text-decoration:none;transition:background .15s;border:none;font-family:inherit}.topbar-admin-btn:hover{background:#333}.topbar-status-split{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#71717a;background:#f4f4f5;border-radius:6px;padding:4px 8px 4px 10px}.topbar-status-label{display:flex;align-items:center;gap:6px}.topbar-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:#d4d4d8}.topbar-status-dot.connected{background:#10b981}.topbar-status-dot.connecting{background:#f59e0b}.topbar-status-dot.disconnected{background:#a1a1aa}.topbar-status-dot.green{background:#10b981}.topbar-status-dot.grey{background:#a1a1aa}.topbar-status-dot.red{background:#ef4444}.topbar-status-dot.idle{background:#10b981}.topbar-status-dot.ingesting,.topbar-status-dot.analyzing{background:#3b82f6}.topbar-status-dot.ready{background:#10b981}.topbar-status-dot.executing{background:#3b82f6}.topbar-status-dot.error{background:#ef4444}.topbar-status-refresh-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;margin-left:2px;cursor:pointer;color:#a1a1aa;line-height:0;transition:color .15s}.topbar-status-refresh-btn svg{width:12px;height:12px}.topbar-status-refresh-btn:hover{color:#18181b}.topbar-status,.topbar-status.active{display:none}.topbar-mode-toggle{position:relative;display:inline-flex;align-items:center;width:40px;height:20px;border-radius:999px;border:1px solid transparent;padding:0;margin:0;cursor:pointer;transition:background .15s,border-color .15s;background:#d4d4d8;flex-shrink:0}.topbar-mode-toggle:before{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000001f;transition:transform .15s,background .15s}.topbar-mode-toggle.off{background:#d4d4d8}.topbar-mode-toggle.off:before{transform:translate(0)}.topbar-mode-toggle.on{background:#10b981}.topbar-mode-toggle.on:before{transform:translate(20px)}.topbar-mode-toggle.disabled{background:#e4e4e7;cursor:not-allowed;opacity:.6}.topbar-mode-toggle.disabled:before{background:#f4f4f5}.topbar-mode-toggle:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.topbar-mode-toggle-wrap{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#71717a;position:relative}.topbar-mode-toggle-label{font-size:11px;color:#71717a;-webkit-user-select:none;user-select:none}.topbar-mode-toggle-tooltip{position:absolute;top:calc(100% + 6px);right:0;background:#18181b;color:#fafafa;font-size:11px;padding:6px 10px;border-radius:4px;white-space:nowrap;z-index:1000;pointer-events:none;box-shadow:0 4px 12px #00000026}.topbar-user{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;cursor:pointer;transition:background .1s}.topbar-user:hover{background:#f4f4f5}.topbar-user .avatar{width:28px;height:28px;min-width:28px;border-radius:4px;background:#e4e4e7;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#52525b;flex-shrink:0}.topbar-user .user-name{font-size:12px;font-weight:500;color:#18181b}.topbar-user .user-role{font-size:10px;color:#a1a1aa}.app-layout{display:flex;flex-direction:column;width:100%;height:100vh}.main{display:flex;flex-direction:column}.screen{display:flex;height:100%;min-height:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.co-thinking-spinner{width:14px;height:14px;border:2px solid #e4e4e7;border-top-color:#18181b;border-radius:50%;animation:spin .6s linear infinite}select.form-input{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.revit-conn-wrap{position:relative}.revit-conn-menu{display:none;position:absolute;top:calc(100% + 4px);right:0;background:#fff;border:1px solid #e4e4e7;border-radius:6px;box-shadow:0 4px 16px #0000001a;min-width:240px;z-index:100;overflow:hidden}.revit-conn-wrap.open .revit-conn-menu{display:block}.fam-category{border-bottom:1px solid #eee}.fam-category-header{display:flex;align-items:center;gap:8px;padding:10px 16px;cursor:pointer;font-size:13px;font-weight:600;color:#1a1a1a}.fam-category-header:hover{background:#f8f8f8}.fam-category-count{font-size:11px;font-weight:400;color:#888}.fam-category-body{display:none;padding-left:8px}.fam-category.expanded>.fam-category-body{display:block}.fam-category.expanded>.fam-category-header>.fam-chevron{transform:rotate(90deg)}.fam-chevron{transition:transform .15s;flex-shrink:0}.fam-family{border-left:2px solid #e8e8e8;margin-left:12px}.fam-family-header{display:flex;align-items:center;gap:6px;padding:7px 16px 7px 12px;cursor:pointer;font-size:12px;font-weight:500;color:#444}.fam-family-header:hover{background:#f8f8f8}.fam-family-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fam-family-meta{font-size:11px;font-weight:400;color:#888;white-space:nowrap}.fam-family-body{display:none;padding:4px 0 8px 12px}.fam-family.expanded>.fam-family-body{display:block}.fam-family.expanded>.fam-family-header>.fam-chevron{transform:rotate(90deg)}.fam-type-row{cursor:pointer;border-bottom:1px solid #f4f4f4}.fam-type-row:hover>.fam-type-header{background:#f8f8f8}.fam-type-header{display:flex;align-items:center;gap:6px;padding:6px 16px 6px 8px;font-size:12px}.fam-type-name{font-family:SF Mono,Fira Code,monospace;font-size:11px;color:#1a1a1a;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fam-type-meta{font-size:10px;color:#888;white-space:nowrap}.fam-type-params{display:none;padding:8px 12px 12px 24px;background:#fafafa}.fam-type-row.expanded>.fam-type-params{display:block}.fam-type-row.expanded>.fam-type-header>.fam-chevron{transform:rotate(90deg)}.fam-param-table{border-collapse:collapse;font-size:12px;width:100%;min-width:400px}.fam-param-table th{text-align:left;padding:6px 10px;font-weight:600;color:#888;border-bottom:2px solid #ddd;font-size:10px;text-transform:uppercase;letter-spacing:.5px;background:#fff;position:sticky;top:0;z-index:1}.fam-param-table td{padding:4px 10px;border-bottom:1px solid #f0f0f0;color:#444;vertical-align:middle}.fam-param-val{font-family:SF Mono,Fira Code,monospace;font-size:11px;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fam-generic-flag,.fam-missing-flag{font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px;background:#fff3cd;color:#856404;white-space:nowrap}.action-tag{display:inline-flex;align-items:center;margin-left:6px;padding:1px 8px;border-radius:9px;font-size:10px;font-weight:600;letter-spacing:.2px;white-space:nowrap}.action-tag-placed{background:#e8f5e9;color:#2e7d32}.action-tag-created{background:#e3f2fd;color:#1565c0}.action-tag-renamed{background:#fff3e0;color:#e65100}.action-tag-edited{background:#f3e5f5;color:#7b1fa2}.action-tag-verified{background:#e8f5e9;color:#1b5e20;border:1px solid #a5d6a7}.plc-table-wrap{padding:4px 8px 8px;overflow-x:auto}.plc-table{border-collapse:collapse;font-size:12px;width:100%}.plc-table th{padding:6px 10px;text-align:left;font-weight:600;font-size:11px;color:#777;white-space:nowrap;background:#f8f9fa}.plc-header-top th{text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid #e0e0e0}.plc-param-group-th{text-align:center;border-left:2px solid #e0e0e0}.plc-position-group-th{background:#f5f7fa;color:#888;font-style:italic}.plc-position-sub-th{border-left:2px solid #e0e0e0;color:#999;font-style:italic}.plc-header-sub th{font-size:10px;font-weight:500;text-transform:none;letter-spacing:0;padding:3px 10px;border-bottom:2px solid #e0e0e0;color:#999}.plc-identity-th{vertical-align:bottom}.plc-table td{padding:5px 10px;border-bottom:1px solid #f0f0f0;color:#444;vertical-align:middle;white-space:nowrap}.plc-table tbody tr:hover{background:#f5f7fa}.plc-cell{font-family:SF Mono,Fira Code,monospace;font-size:11px}.plc-identity-cell{font-size:12px;color:#1a1a1a}.plc-position-cell{background:#fafafa;color:#888!important;font-style:italic}.plc-current-cell{border-left:2px solid #e0e0e0}.plc-expandable-row{transition:background .15s}.plc-expandable-row:hover{background:#f0f4ff!important}.plc-row-active{background:#eef2ff!important}.plc-row-active td{border-bottom-color:transparent}.plc-detail-row{background:#f8f9fb}.plc-detail-cell{padding:10px 16px!important;border-bottom:2px solid #e4e4e7!important}.plc-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.plc-detail-group{background:#fff;border:1px solid #e4e4e7;border-radius:6px;padding:8px 10px;font-size:12px}.plc-detail-group-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#71717a;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid #f0f0f0}.plc-detail-param{display:flex;justify-content:space-between;align-items:baseline;padding:2px 0;gap:8px}.plc-detail-param-name{color:#555;font-size:11px;flex-shrink:0}.plc-detail-param-val{font-family:SF Mono,Fira Code,monospace;font-size:11px;color:#1a1a1a;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.param-groups{display:flex;flex-direction:column;gap:2px}.param-group{border:1px solid #eee;border-radius:4px;overflow:hidden}.param-group.expanded{border-color:#d4d4d8}.param-group-header{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;background:#fafafa;font-size:12px;-webkit-user-select:none;user-select:none;transition:background .15s}.param-group-header:hover{background:#f0f4ff}.param-group.expanded>.param-group-header{background:#eef2ff;border-bottom:1px solid #e4e4e7}.param-group.expanded>.param-group-header>.fam-chevron{transform:rotate(90deg)}.param-group-name{font-weight:600;color:#333}.param-group-count{margin-left:auto;font-size:10px;color:#999;background:#f0f0f0;padding:1px 6px;border-radius:8px}.sheets-table{border-collapse:collapse;font-size:12px;width:100%}.sheets-table th{text-align:left;padding:8px 12px;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#888;border-bottom:2px solid #e4e4e7;background:#fafafa;position:sticky;top:0;z-index:1}.sheets-table td{padding:6px 12px;border-bottom:1px solid #f4f4f5;color:#444;vertical-align:middle}.sheets-table tbody tr:hover{background:#f8f8f8}.sheets-table .mono{font-family:SF Mono,Fira Code,monospace;font-size:11px;color:#1a1a1a}.sheets-filter-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid #e4e4e7;background:#fafafa}.sheets-filter-bar input,.sheets-filter-bar select{padding:4px 8px;border:1px solid #e4e4e7;border-radius:3px;font-size:11px;font-family:inherit;outline:none}.sheets-filter-bar label{font-size:11px;color:#71717a;font-weight:500}.sheets-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 12px;border-top:1px solid #e4e4e7;font-size:12px;color:#71717a}.sheets-pagination button{padding:4px 10px;border:1px solid #e4e4e7;border-radius:3px;background:#fff;cursor:pointer;font-size:11px;font-family:inherit}.sheets-pagination button:disabled{opacity:.4;cursor:default}.sheets-pagination button:hover:not(:disabled){background:#f4f4f5}.coord-card{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f4f4f5;cursor:pointer}.coord-card:hover{background:#f8f8f8}.coord-badge{display:inline-flex;padding:2px 7px;border-radius:3px;font-size:10px;font-weight:600;white-space:nowrap}.coord-badge-critical{background:#fee2e2;color:#991b1b}.coord-badge-major{background:#ffedd5;color:#9a3412}.coord-badge-minor{background:#fef3c7;color:#92400e}.coord-badge-resolved{background:#dcfce7;color:#166534}.coord-badge-detected{background:#e0e7ff;color:#3730a3}.coord-disc-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;font-size:10px;font-weight:700;color:#fff;flex-shrink:0}@keyframes co-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes co-fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.skeleton-shimmer{background:linear-gradient(90deg,#f4f4f5 25%,#e4e4e7,#f4f4f5 75%);background-size:800px 100%;animation:co-shimmer 1.8s ease-in-out infinite;border-radius:3px}.skeleton-container{animation:co-fadein .2s ease;padding:16px}.skeleton-tree-group{margin-bottom:12px}.skeleton-tree-header{display:flex;align-items:center;gap:10px;padding:8px 12px}.skeleton-tree-chevron{width:10px;height:10px}.skeleton-tree-label{height:13px;flex:1;max-width:200px}.skeleton-tree-count{height:11px;width:80px;margin-left:auto}.skeleton-tree-child{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 36px}.skeleton-tree-child-label{height:12px;flex:1;max-width:160px}.skeleton-tree-child-meta{height:11px;width:50px}.skeleton-table{width:100%;padding:0 16px}.skeleton-table-header{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #e4e4e7}.skeleton-table-header-cell{height:11px}.skeleton-table-row{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #f4f4f5}.skeleton-table-cell{height:12px}.skeleton-coord-card{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f4f4f5}.skeleton-coord-badge{width:28px;height:28px;border-radius:4px;flex-shrink:0}.skeleton-coord-name{height:12px;width:180px}.skeleton-coord-meta{height:11px;width:100px;margin-top:4px}.skeleton-coord-status{height:18px;width:55px;border-radius:3px;margin-left:auto}.modal-backdrop-react{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#00000059;display:flex;align-items:center;justify-content:center;animation:co-fadein .15s ease}.modal-react{background:#fff;border-radius:12px;box-shadow:0 24px 80px #0000002e,0 0 0 1px #0000000a;max-height:90vh;display:flex;flex-direction:column}.modal-react-header{padding:20px 24px 16px;border-bottom:1px solid #f0f0f2;display:flex;align-items:center;gap:12px}.modal-react-header h2{margin:0;font-size:15px;font-weight:600;color:#18181b}.modal-react-body{flex:1;overflow-y:auto;padding:20px 24px}.modal-react-footer{padding:16px 24px;border-top:1px solid #f0f0f2;display:flex;align-items:center;gap:10px;background:#fafbfc;border-radius:0 0 12px 12px}.confirm-dialog-backdrop{z-index:10001!important}.confirm-dialog{width:92%;max-width:420px}.confirm-dialog .modal-react-body{font-size:13px;color:#52525b;line-height:1.55}.confirm-dialog .modal-react-footer{justify-content:flex-end}.analysis-modal{width:92%;max-width:500px}.analysis-stepper{display:flex;flex-direction:column;gap:0;padding:8px 0}.analysis-step{display:flex;align-items:flex-start;gap:12px;padding:8px 0;position:relative}.analysis-step:not(:last-child):after{content:"";position:absolute;left:11px;top:32px;bottom:-2px;width:2px;background:#e4e4e7;transition:background .3s ease}.analysis-step.completed:not(:last-child):after{background:#10b981}.analysis-step.active:not(:last-child):after{background:linear-gradient(to bottom,#3b82f6,#e4e4e7)}.analysis-step-icon{width:24px;height:24px;border-radius:50%;border:2px solid #e4e4e7;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#fff;position:relative;z-index:1;transition:all .3s ease}.analysis-step.active .analysis-step-icon{border-color:#3b82f6;background:#eff6ff}.analysis-step.completed .analysis-step-icon{border-color:#10b981;background:#ecfdf5}.analysis-step.failed .analysis-step-icon{border-color:#ef4444;background:#fef2f2}.analysis-step-content{flex:1;min-width:0}.analysis-step-label{font-size:13px;color:#a1a1aa;padding-top:2px;line-height:1.4;transition:color .2s ease}.analysis-step.active .analysis-step-label{color:#18181b;font-weight:500}.analysis-step.completed .analysis-step-label{color:#10b981}.analysis-step.failed .analysis-step-label{color:#ef4444}.analysis-step-stat{font-size:11px;color:#a1a1aa;margin-top:2px;opacity:0;max-height:0;overflow:hidden;transition:opacity .3s ease,max-height .3s ease}.analysis-step-stat.visible{opacity:1;max-height:40px;margin-top:3px}.analysis-step.active .analysis-step-icon svg{animation:spin 1s linear infinite}.btn-sm{padding:5px 12px;font-size:11px}.lp-filter-tabs{padding:8px 16px;display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid #eee}.exec-plan-modal{width:94%;max-width:920px;min-height:520px}.exec-plan-progress{height:3px;background:#f0f0f2}.exec-plan-progress-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);transition:width .4s ease;border-radius:0 2px 2px 0}.plan-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f4f4f5}.plan-item:last-child{border-bottom:none}.plan-item-index{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0;background:#f4f4f5;color:#71717a}.plan-item-body{flex:1;min-width:0}.plan-item-title{font-size:13px;font-weight:500;color:#18181b}.plan-item-desc{font-size:11px;color:#a1a1aa;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-item-state{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;padding:3px 10px;border-radius:6px;white-space:nowrap}.plan-item-state.pending{background:#f3f4f6;color:#6b7280}.plan-item-state.ready{background:#dbeafe;color:#2563eb}.plan-item-state.running{background:#eff6ff;color:#2563eb}.plan-item-state.passed{background:#f0fdf4;color:#16a34a}.plan-item-state.failed{background:#fef2f2;color:#dc2626}.plan-item-state.skipped{background:#f4f4f5;color:#a1a1aa}.creation-stepper{display:flex;flex-direction:column;gap:0;padding:8px 0}.creation-step{display:flex;align-items:flex-start;gap:12px;padding:10px 0;position:relative}.creation-step:not(:last-child):after{content:"";position:absolute;left:11px;top:34px;bottom:-2px;width:2px;background:var(--color-border, #e4e4e7)}.creation-step.completed:not(:last-child):after{background:var(--color-status-green, #16a34a)}.creation-step-icon{width:24px;height:24px;border-radius:50%;border:2px solid var(--color-border, #e4e4e7);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-bg-surface, #fff);position:relative;z-index:1;transition:all .3s ease}.creation-step.active .creation-step-icon{border-color:var(--color-accent-blue, #3b82f6);background:var(--color-accent-blue-bg, #eff6ff)}.creation-step.completed .creation-step-icon{border-color:var(--color-status-green, #16a34a);background:var(--color-status-green-bg, #f0fdf4)}.creation-step.failed .creation-step-icon{border-color:var(--color-status-red, #dc2626);background:var(--color-status-red-bg, #fef2f2)}.creation-step-label{font-size:13px;color:var(--color-text-tertiary, #a1a1aa);padding-top:2px;line-height:1.4}.creation-step.active .creation-step-label{color:var(--color-text-primary, #18181b);font-weight:500}.creation-step.completed .creation-step-label{color:var(--color-status-green, #16a34a)}.creation-step.failed .creation-step-label{color:var(--color-status-red, #dc2626)}@keyframes spin-step{to{transform:rotate(360deg)}}.creation-step.active .creation-step-icon svg{animation:spin-step 1s linear infinite}@keyframes ingest-pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.ingest-pulse{animation:ingest-pulse .5s ease-in-out}body:has(.login-card){display:flex;align-items:center;justify-content:center}.login-card{width:360px;max-width:90vw;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-2xl)}.login-header{text-align:center;margin-bottom:var(--spacing-2xl)}.login-logo{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:20px}.login-logo .mark{width:32px;height:32px;background:var(--color-primary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:700}.login-logo-text{font-size:20px;font-weight:600;color:var(--color-text-primary);letter-spacing:-.03em}.login-subtitle{font-size:13px;color:var(--color-text-tertiary)}.login-card .form-group{margin-bottom:var(--spacing-lg)}.forgot-link{background:none;border:none;cursor:pointer;font-family:inherit;font-size:12px;color:#71717a;transition:color .1s}.forgot-link:hover{color:var(--color-primary)}.forgot-success{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 0}.login-footer{margin-top:var(--spacing-xl);text-align:center;font-size:11px;color:var(--color-border-dark)}
