:root{--primary: #f56816;--primary-hover: #e5d0c3;--primary-20: #fa7d35;--primary-50: #fcae81;--primary-60: #fdbe9a;--primary-light: #eff6ff;--secondary: #1c1c1c;--secondary-button: linear-gradient(135deg, #475569 0%, #334155 100%);--bg: #ffffff;--sidebar-bg: #f7f6f9;--subbar-bg: #f9f9fb;--topbar-bg: #f7f6f9;--bg-secondary: #f5f5f5;--bg-secondary-light: #fcf9f9;--card: #ffffff;--text: #0f172a;--text-secondary: #475569;--muted: #64748b;--line: #e2e8f0;--line-light: #f1f5f9;--buttonbg: #0e1629;--buttonsecondbg: #24262b;--accent: #ef4444;--accent-light: #fef2f2;--success: #22c55e;--warning: #f59e0b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--transition: .15s ease}*{box-sizing:border-box}body{margin:0;font-family:Inter,"Source Sans 3",-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);padding:0;color:var(--text);min-height:100vh;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100%;display:flex}.app-shell{width:100%;min-height:100vh;margin:0;padding:0;background:var(--bg)}.sidebar{width:260px;background:var(--sidebar-bg, #f7f6f9);padding:16px;border-right:1px solid var(--line);margin:0;height:100vh;overflow:visible;display:flex;flex-direction:column;transition:width .2s ease,padding .2s ease;position:fixed;top:0;left:0;z-index:100}.sidebar-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding-top:8px;margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.sidebar-scroll::-webkit-scrollbar{width:4px}.sidebar-scroll::-webkit-scrollbar-track{background:transparent}.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:2px}.sidebar-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.content{display:flex;align-items:flex-start;padding:0;background:var(--bg);margin-left:260px;width:calc(100% - 260px);transition:margin-left .2s ease,width .2s ease}.app-shell.collapsed .content{margin-left:72px;width:calc(100% - 72px)}.content-frame{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden}.topbar{background:var(--topbar-bg);border-bottom:1px solid var(--line);padding:16px 24px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;flex-shrink:0}.welcome{display:flex;align-items:center;gap:12px}.expand-btn{width:36px;height:36px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);display:grid;place-items:center;cursor:pointer;transition:all var(--transition)}.expand-btn:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}.expand-btn svg{width:18px;height:18px;color:var(--text-secondary)}.collapsed .expand-btn{width:28px;height:28px}.collapsed .expand-btn svg{width:14px;height:14px}.welcome-label{font-size:13px;font-weight:500;color:var(--muted);margin-bottom:2px}.welcome-name{font-size:20px;font-weight:600;color:var(--text);line-height:1.3}.topbar-actions{display:flex;align-items:center;gap:12px}.topbar-search{display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:8px 14px;min-width:240px;color:var(--muted);cursor:pointer;transition:all var(--transition);font-family:inherit;font-size:inherit;text-align:left}.topbar-search:hover{border-color:var(--text-secondary);background:var(--card)}.topbar-search .search-icon svg{width:16px;height:16px;color:var(--muted)}.topbar-search .search-text{font-size:14px}.topbar-search .search-key{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:2px 8px;font-size:12px;font-weight:500;color:var(--muted)}.topbar-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);font-size:14px;font-weight:500;color:var(--text);cursor:pointer;transition:all var(--transition)}.topbar-btn:hover{background:var(--bg);border-color:var(--text-secondary)}.topbar-btn svg{width:16px;height:16px;color:var(--text-secondary)}.topbar-btn-chevron{margin-left:2px;transition:transform var(--transition)}.topbar-btn.disabled,.topbar-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.manage-dropdown-wrapper{position:relative}.manage-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md),0 20px 40px #0000001a;z-index:1000;padding:6px;animation:manageDropdownFadeIn .15s ease-out}@keyframes manageDropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.manage-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:var(--radius);font-size:14px;color:var(--text);cursor:pointer;transition:all var(--transition);text-align:left}.manage-dropdown-item:hover{background:var(--bg-secondary)}.manage-dropdown-item.active{background:var(--primary-light);color:var(--primary)}.manage-dropdown-item svg{color:var(--muted);flex-shrink:0}.manage-dropdown-item:hover svg,.manage-dropdown-item.active svg{color:var(--text)}.manage-dropdown-item.active svg{color:var(--primary)}.icon-btn{width:38px;height:38px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);display:grid;place-items:center;cursor:pointer;transition:all var(--transition)}.icon-btn:hover{background:var(--bg);border-color:var(--text-secondary)}.icon-btn svg{width:18px;height:18px;color:var(--text-secondary)}.icon-btn.disabled{opacity:.5;cursor:not-allowed}.icon-btn.disabled:hover{background:var(--card);border-color:var(--line)}.subbar{background:var(--subbar-bg);border-bottom:1px solid var(--line);padding:10px 24px;display:grid;grid-template-columns:1fr auto;overflow:visible;gap:24px;align-items:center;flex-shrink:0}.subbar-title{font-size:18px;display:flex;align-items:center;gap:8px}.subbar-title .muted{color:var(--muted);font-weight:500}.subbar-title .slash{color:var(--line)}.subbar-title .strong{font-weight:600;color:var(--text)}.subbar-title-wrapper{display:flex;flex-direction:column;gap:4px}.subbar-subtitle{font-size:13px;font-weight:400;color:var(--muted)}.subbar-actions{display:flex;align-items:center;gap:10px}.subbar-actions .stage-save-btn,.subbar-actions .stage-test-btn,.subbar-actions .stage-export-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition);border:1px solid var(--line)}.subbar-actions .stage-save-btn{background:var(--card);color:var(--text)}.subbar-actions .stage-save-btn:hover:not(:disabled){background:var(--card-hover);border-color:var(--primary)}.subbar-actions .stage-test-btn{background:var(--primary);color:#fff;border-color:var(--primary)}.subbar-actions .stage-test-btn:hover:not(:disabled){background:var(--primary-20);border-color:var(--primary-20)}.subbar-actions .stage-export-btn{background:var(--bg);color:var(--text-secondary);border:1px solid var(--line)}.subbar-actions .stage-export-btn.icon-only{padding:8px;gap:0}.subbar-actions .stage-export-btn:hover{background:var(--card);color:var(--text);border-color:var(--text-secondary)}.subbar-actions .stage-save-btn:disabled,.subbar-actions .stage-test-btn:disabled{opacity:.6;cursor:not-allowed}.subbar-actions .stage-save-btn svg,.subbar-actions .stage-test-btn svg{width:16px;height:16px}.subbar-actions .stage-export-btn svg{width:18px;height:18px}.artifact-component-selector-wrapper{position:relative}.artifact-component-selector{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition);min-width:180px}.artifact-component-selector:hover{border-color:var(--primary);box-shadow:0 0 0 3px #f95d031a}.artifact-component-selector .artifact-component-icon{width:16px;height:16px;color:var(--primary);flex-shrink:0}.artifact-component-selector-text{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artifact-component-selector .artifact-component-chevron{width:16px;height:16px;color:var(--muted);flex-shrink:0}.artifact-component-dropdown{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);min-width:240px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);max-height:320px;overflow:hidden;z-index:100;display:flex;flex-direction:column}.artifact-component-search{padding:10px 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;background:var(--bg-secondary-light);flex-shrink:0}.artifact-component-search .search-icon{width:16px;height:16px;color:var(--muted);flex-shrink:0}.artifact-component-search input{flex:1;border:none;background:transparent;font-size:13px;color:var(--text);outline:none}.artifact-component-search input::placeholder{color:var(--muted)}.artifact-component-search .clear-search{width:18px;height:18px;border-radius:50%;border:none;background:var(--line);color:var(--muted);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.artifact-component-search .clear-search:hover{background:var(--muted);color:var(--card)}.artifact-component-list{overflow-y:auto;flex:1;max-height:260px}.artifact-component-dropdown-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background var(--transition)}.artifact-component-dropdown-item:hover{background:var(--bg-secondary-light)}.artifact-component-dropdown-item.active{background:#f95d0314}.artifact-component-dropdown-icon{width:28px;height:28px;border-radius:6px;background:var(--primary-50);color:var(--secondary);font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.artifact-component-dropdown-icon.all{background:var(--line);color:var(--muted)}.artifact-component-dropdown-icon.all svg{width:14px;height:14px}.artifact-component-dropdown-name{flex:1;font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artifact-component-check{color:var(--primary);flex-shrink:0}.artifact-component-list .no-results{padding:16px;text-align:center;color:var(--muted);font-size:13px}.create-project-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#000;color:#fff;border:none;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition)}.create-project-btn:hover{background:#222}.add-user-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--primary, #ea580c);color:#fff;border:none;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition)}.add-user-btn:hover{opacity:.9}.add-user-btn svg{flex-shrink:0}.configure-fields-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition)}.configure-fields-btn:hover{background:#f9fafb;border-color:#9ca3af}.configure-fields-btn svg{flex-shrink:0;width:16px;height:16px}.create-component-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition)}.create-component-btn:hover{background:var(--primary-hover)}.create-component-btn svg{flex-shrink:0}.create-environment-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition)}.create-environment-btn:hover{background:var(--primary-20)}.create-environment-btn svg{flex-shrink:0}.create-stage-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition)}.create-stage-btn:hover{background:var(--primary-20)}.create-stage-btn svg{flex-shrink:0}.create-bitbucket-stage-btn{background:#2684ff}.create-bitbucket-stage-btn:hover{background:#0065ff}.create-release-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition)}.create-release-btn:hover{background:var(--primary-20)}.create-release-btn svg{flex-shrink:0}.create-release-btn:disabled{opacity:.6;cursor:not-allowed}.create-release-btn-wrapper{position:relative;display:inline-flex}.create-release-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:8px 12px;background:#1f2937;color:#fff;font-size:12px;font-weight:500;white-space:nowrap;border-radius:6px;opacity:0;visibility:hidden;transition:all .2s ease;z-index:100;box-shadow:0 4px 12px #00000026}.create-release-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1f2937}.create-release-btn-wrapper:hover .create-release-tooltip{opacity:1;visibility:visible}.subbar-refresh-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0;border-radius:var(--radius);cursor:pointer;transition:all var(--transition)}.subbar-refresh-btn:hover{background:#e2e8f0;color:#334155}.subbar-refresh-btn svg{flex-shrink:0}.subbar-sync-s3-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fff;color:var(--text);border:1px solid var(--line);border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition)}.subbar-sync-s3-btn:hover{background:#f8fafc;border-color:var(--primary);color:var(--primary)}.subbar-sync-s3-btn:disabled{opacity:.6;cursor:not-allowed}.subbar-sync-s3-btn.syncing{color:var(--primary)}.subbar-sync-s3-btn svg{flex-shrink:0}.subbar-sync-s3-btn svg.spinning{animation:spin 1s linear infinite}.add-credential-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease}.add-credential-btn:hover{background:var(--primary-20)}.add-credential-btn svg{flex-shrink:0}.add-environment-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease}.add-environment-btn:hover{background:var(--primary-20)}.add-environment-btn svg{flex-shrink:0}.refresh-approvals-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#1a1a1a;color:#fff;border:none;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease}.refresh-approvals-btn:hover{background:#333}.refresh-approvals-btn:active{background:#000;transform:scale(.98)}.refresh-approvals-btn svg{flex-shrink:0}.approvals-filter-wrapper{position:relative}.approvals-subbar-filter{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:var(--radius);font-size:13px;color:#475569;cursor:pointer;transition:all .15s ease;min-width:130px}.approvals-subbar-filter:hover{background:#f1f5f9;border-color:#cbd5e1}.approvals-subbar-filter.active{background:var(--primary-light, #fff7ed);border-color:var(--primary);color:#1a1a1a}.approvals-subbar-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:150px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 10px 40px #0000001f;z-index:200;padding:6px;animation:approvalDropdownIn .15s ease}@keyframes approvalDropdownIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.approvals-subbar-option{padding:10px 12px;font-size:13px;color:#334155;border-radius:6px;cursor:pointer;transition:all .1s ease}.approvals-subbar-option:hover{background:#f1f5f9}.approvals-subbar-option.selected{background:var(--primary-light, #fff7ed);color:#1a1a1a;font-weight:500}.components-container-wrapper{display:flex;width:100%;background:#faf7f5;border-radius:12px;overflow:hidden;border:1px solid #e8e8e8;box-shadow:0 2px 8px #0000000a;position:relative;height:calc(100vh - 200px);min-height:500px}.components-main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.components-container-wrapper.with-drawer .components-main-content{flex:1;position:relative}.components-container-wrapper.with-drawer .components-main-content:after{content:"";position:absolute;inset:0;background:#0000004d;pointer-events:none;z-index:30;animation:components-fade-in .2s ease}@keyframes components-fade-in{0%{opacity:0}to{opacity:1}}.components-container-wrapper .components-page{height:100%}.components-container-wrapper .components-container{height:100%;display:flex;flex-direction:column;border:none;border-radius:0;box-shadow:none}.components-container-wrapper .components-table-wrapper{flex:1;height:auto}.back-to-projects-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;color:#374151;border:1px solid #e5e7eb;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition)}.back-to-projects-btn:hover{background:#f9fafb;border-color:#d1d5db}.back-to-projects-btn svg{width:16px;height:16px}.manage-roles-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition)}.manage-roles-btn:hover{background:#f3f4f6;border-color:#9ca3af}.sync-bitbucket-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#000;color:#fff;border:none;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition)}.sync-bitbucket-btn:hover:not(:disabled){background:#222}.sync-bitbucket-btn:disabled{background:#666;cursor:not-allowed;opacity:.7}.sync-bitbucket-btn svg{width:16px;height:16px}.sync-bitbucket-btn svg.spinning{animation:spin 1s linear infinite}.export-yaml-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:var(--bg);color:var(--text-secondary);border:1px solid var(--line);border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition)}.export-yaml-btn.icon-only{padding:8px;gap:0}.export-yaml-btn:hover:not(:disabled){background:var(--card);color:var(--text);border-color:var(--text-secondary)}.export-yaml-btn:disabled{background:var(--bg);color:var(--text-secondary);cursor:not-allowed;opacity:.5}.export-yaml-btn svg{width:18px;height:18px}.export-yaml-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.export-yaml-modal{background:#fff;border-radius:12px;width:90%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040}.export-yaml-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb}.export-yaml-modal-header h3{margin:0;font-size:18px;font-weight:600}.export-yaml-modal-close{background:none;border:none;padding:4px;cursor:pointer;color:#6b7280;border-radius:4px;transition:all .2s}.export-yaml-modal-close:hover{background:#f3f4f6;color:#374151}.export-yaml-modal-body{padding:20px;overflow-y:auto}.export-yaml-pipeline-id{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.export-yaml-pipeline-id .pipeline-id-label{font-size:13px;font-weight:500;color:#64748b}.export-yaml-pipeline-id .pipeline-id-value{font-family:SF Mono,Monaco,Fira Code,monospace;font-size:13px;font-weight:600;color:var(--primary, #f95d03);background:#fff7ed;padding:4px 8px;border-radius:4px;border:1px solid rgba(249,93,3,.2)}.export-yaml-pipeline-id .pipeline-id-copy-btn{display:flex;align-items:center;justify-content:center;padding:4px;background:transparent;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;transition:all .15s ease}.export-yaml-pipeline-id .pipeline-id-copy-btn:hover{background:#e2e8f0;color:#475569}.export-yaml-pipeline-id .pipeline-id-copy-btn.copied{color:#10b981}.export-yaml-instructions{margin:0 0 16px;font-size:14px;color:#4b5563;line-height:1.5}.export-yaml-instructions code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-family:Fira Code,Monaco,monospace;font-size:12px;color:#1f2937}.export-yaml-content{position:relative;background:#1f2937;border-radius:8px;overflow:hidden}.export-yaml-content pre{margin:0;padding:16px;font-family:Fira Code,Monaco,monospace;font-size:13px;line-height:1.6;color:#e5e7eb;overflow-x:auto;white-space:pre}.export-yaml-copy-btn{position:absolute;top:8px;right:8px;padding:6px 12px;background:#374151;color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.export-yaml-copy-btn:hover{background:#4b5563}.artifacts-last-synced{font-size:12px;color:#6b7280;background:#f3f4f6;padding:6px 12px;border-radius:var(--radius)}.sync-artifacts-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--primary, #f95d03);color:#fff;border:none;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition)}.sync-artifacts-btn:hover:not(:disabled){background:var(--primary-hover, #e54d00)}.sync-artifacts-btn:disabled{background:var(--primary-50, #fcae81);cursor:not-allowed;opacity:.7}.sync-artifacts-btn svg{width:16px;height:16px}.sync-artifacts-btn svg.spinning{animation:spin 1s linear infinite}.components-warning-wrapper{position:relative}.components-warning-btn{position:relative;display:flex;align-items:center;justify-content:center;padding:6px;background:transparent;border:none;cursor:pointer;transition:all var(--transition)}.components-warning-btn:hover{opacity:.8}.components-warning-btn svg{width:20px;height:20px;stroke:#d97706;fill:#fef3c7}.warning-count{position:absolute;top:-4px;right:-4px;background:#dc2626;color:#fff;font-size:10px;font-weight:600;padding:1px 5px;border-radius:10px;min-width:16px;text-align:center;line-height:1.4}.components-warning-dropdown{position:absolute;top:calc(100% + 8px);left:0;width:320px;background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);box-shadow:0 10px 25px #00000026;z-index:100}.warning-dropdown-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef3c7;border-bottom:1px solid #fcd34d;font-size:13px;font-weight:600;color:#92400e;border-radius:var(--radius) var(--radius) 0 0}.warning-dropdown-header svg{stroke:#d97706;flex-shrink:0}.warning-dropdown-content{padding:12px 16px;max-height:250px;overflow-y:auto}.warning-description{font-size:12px;color:#6b7280;margin:0 0 10px;line-height:1.4}.warning-list{margin:0;padding:0;list-style:none}.warning-list li{padding:6px 10px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;margin-bottom:6px;font-size:13px;font-weight:500;color:#374151}.warning-list li:last-child{margin-bottom:0}.warning-hint{margin:12px 0 0;font-size:11px;color:#9ca3af;line-height:1.4}.warning-hint code{background:#f3f4f6;padding:2px 4px;border-radius:3px;font-size:10px;color:#6b7280}.warning-dropdown-close{width:100%;padding:10px;background:#f9fafb;border:none;border-top:1px solid #e5e7eb;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer;border-radius:0 0 var(--radius) var(--radius);transition:all var(--transition)}.warning-dropdown-close:hover{background:#f3f4f6;color:#374151}.environments-warning-wrapper{position:relative}.environments-warning-btn{position:relative;display:flex;align-items:center;justify-content:center;padding:6px;background:transparent;border:none;cursor:pointer;transition:all var(--transition)}.environments-warning-btn:hover{opacity:.8}.environments-warning-btn svg{width:20px;height:20px;stroke:#d97706;fill:#fef3c7}.environments-warning-btn .warning-count{position:absolute;top:-2px;right:-2px;background:#d97706;color:#fff;font-size:10px;font-weight:600;padding:2px 5px;border-radius:10px;min-width:16px;text-align:center;line-height:1.4}.environments-warning-dropdown{position:absolute;top:calc(100% + 8px);left:0;width:320px;background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);box-shadow:0 4px 12px #0000001a;z-index:100}.environments-sync-result{display:flex;align-items:center;gap:12px;padding:8px 14px;border-radius:var(--radius);font-size:13px;font-weight:500;animation:fadeIn .2s ease}.environments-sync-result.success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.environments-sync-result.error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.environments-sync-result.info{background:#f0f9ff;color:#0369a1;border:1px solid #bae6fd}.environments-sync-result .sync-details{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:400}.environments-sync-result .sync-stat{padding:2px 6px;background:#0000000f;border-radius:4px}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);padding:3px;gap:2px}.segment{padding:6px 14px;font-size:13px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;transition:all var(--transition)}.segment:hover{color:var(--text)}.segment.active{background:var(--card);color:var(--text);font-weight:600;box-shadow:var(--shadow-sm)}.refresh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:#1a1a1a;color:#fff;border:none;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.refresh-btn:hover{background:#333}.refresh-btn:active{background:#000;transform:scale(.98)}.refresh-btn svg{flex-shrink:0}.sprint-insights-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:8px;background:linear-gradient(135deg,var(--primary) 0%,#e85d04 100%);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;transition:all .2s ease}.sprint-insights-btn:hover:not(:disabled){background:linear-gradient(135deg,#e85d04 0%,var(--primary) 100%);transform:translateY(-1px);box-shadow:0 4px 12px #f973164d}.sprint-insights-btn:active:not(:disabled){transform:scale(.98)}.sprint-insights-btn:disabled{opacity:.5;cursor:not-allowed}.sprint-insights-btn svg{flex-shrink:0}.sprint-insights-btn-text{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);background:#1a1a1a;color:#fff;padding:8px 12px;border-radius:8px;font-size:12px;font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s ease;box-shadow:0 4px 12px #00000026;pointer-events:none}.sprint-insights-btn-text:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1a1a1a}.sprint-insights-btn:hover:not(:disabled) .sprint-insights-btn-text{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.sprint-insights-backdrop{position:fixed;inset:195px 0 0;background:#0000004d;z-index:999;animation:fadeIn .2s ease}.sprint-insights-drawer{position:fixed;top:195px;right:0;width:480px;max-width:90vw;height:calc(100vh - 195px);background:#fff;box-shadow:-4px 0 24px #00000026;z-index:1000;display:flex;flex-direction:column;animation:slideInRight .3s ease;border-top-left-radius:0;border-left:1px solid #e2e8f0}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.sprint-insights-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#1a1a1a,#2d2d2d)}.sprint-insights-title{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:600;color:#fff}.sprint-insights-title svg{color:var(--primary)}.sprint-insights-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:8px;font-size:24px;color:#fff;cursor:pointer;transition:all .15s ease}.sprint-insights-close:hover{background:#fff3}.sprint-insights-sprint-info{padding:16px 24px;background:#f8fafc;border-bottom:1px solid var(--line)}.sprint-insights-sprint-name{font-size:16px;font-weight:600;color:var(--text);margin-bottom:4px}.sprint-insights-sprint-dates{font-size:13px;color:var(--muted)}.sprint-insights-body{flex:1;overflow-y:auto;padding:20px 24px}.sprint-insights-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.sprint-insights-card{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:16px;text-align:center}.sprint-insights-card.completed{background:#f0fdf4;border-color:#bbf7d0}.sprint-insights-card.in-progress{background:#eff6ff;border-color:#bfdbfe}.sprint-insights-card.todo{background:#f8fafc;border-color:#e2e8f0}.sprint-insights-card-value{font-size:28px;font-weight:700;color:var(--text);line-height:1;margin-bottom:4px}.sprint-insights-card.completed .sprint-insights-card-value{color:#16a34a}.sprint-insights-card.in-progress .sprint-insights-card-value{color:#2563eb}.sprint-insights-card-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.sprint-insights-section{margin-bottom:24px}.sprint-insights-section-title{font-size:13px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;display:flex;align-items:center;gap:8px}.sprint-insights-section-title:after{content:"";flex:1;height:1px;background:var(--line)}.sprint-insights-progress{background:#f1f5f9;border-radius:12px;padding:16px}.sprint-insights-progress-bar{height:12px;background:#e2e8f0;border-radius:6px;overflow:hidden;margin-bottom:8px}.sprint-insights-progress-fill{height:100%;background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:6px;transition:width .5s ease}.sprint-insights-progress-text{font-size:14px;font-weight:600;color:var(--text);text-align:center}.sprint-insights-type-list{display:flex;flex-direction:column;gap:8px}.sprint-insights-type-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f8fafc;border-radius:8px}.sprint-insights-type-name{font-size:14px;color:var(--text)}.sprint-insights-type-count{font-size:14px;font-weight:600;color:var(--primary);background:var(--primary-light);padding:2px 10px;border-radius:12px}.sprint-insights-contributors{display:flex;flex-direction:column;gap:16px}.sprint-insights-contributor{background:#f8fafc;border-radius:12px;padding:14px}.sprint-insights-contributor-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.sprint-insights-contributor-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff}.sprint-insights-contributor-info{flex:1}.sprint-insights-contributor-name{font-size:14px;font-weight:600;color:var(--text)}.sprint-insights-contributor-stats{font-size:12px;color:var(--muted)}.sprint-insights-contributor-bar{height:6px;background:#e2e8f0;border-radius:3px;display:flex;overflow:hidden}.sprint-insights-contributor-bar-completed{height:100%;background:#22c55e;transition:width .3s ease}.sprint-insights-contributor-bar-progress{height:100%;background:#3b82f6;transition:width .3s ease}.sprint-insights-dev-stats{display:flex;flex-direction:column;gap:12px}.sprint-insights-dev-stat{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#f8fafc;border-radius:10px}.sprint-insights-dev-stat svg{color:var(--primary)}.sprint-insights-dev-stat-info{flex:1}.sprint-insights-dev-stat-value{font-size:20px;font-weight:700;color:var(--text)}.sprint-insights-dev-stat-label{font-size:12px;color:var(--muted)}.sprint-insights-status-list{display:flex;flex-direction:column;gap:10px}.sprint-insights-status-item{display:flex;align-items:center;gap:12px}.sprint-insights-status-info{display:flex;align-items:center;gap:8px;min-width:120px}.sprint-insights-status-dot{width:10px;height:10px;border-radius:50%}.sprint-insights-status-name{font-size:13px;color:var(--text)}.sprint-insights-status-bar-wrapper{flex:1;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.sprint-insights-status-bar{height:100%;border-radius:4px;transition:width .3s ease}.sprint-insights-status-count{font-size:13px;font-weight:600;color:var(--text);min-width:24px;text-align:right}.project-selector-wrapper{position:relative}.project-selector{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition);min-width:200px}.project-selector:hover:not(:disabled){border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.project-selector:disabled{opacity:.5;cursor:not-allowed}.project-selector .project-icon{width:16px;height:16px;color:var(--muted);flex-shrink:0}.project-selector-text{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-selector .project-chevron{width:16px;height:16px;color:var(--muted);flex-shrink:0}.project-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);max-height:350px;overflow:hidden;z-index:100;display:flex;flex-direction:column}.project-search{padding:10px 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;background:var(--bg-secondary-light);flex-shrink:0}.project-search .search-icon{width:16px;height:16px;color:var(--muted);flex-shrink:0}.project-search input{flex:1;border:none;background:transparent;outline:none;font-size:13px;color:var(--text);padding:0}.project-search .clear-search{width:20px;height:20px;border:none;background:transparent;color:var(--muted);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all var(--transition);padding:0;line-height:1}.project-search .clear-search:hover{background:var(--line-light);color:var(--text)}.project-list{overflow-y:auto;max-height:250px}.project-dropdown-item{padding:10px 14px;cursor:pointer;transition:background var(--transition);border-bottom:1px solid var(--line-light)}.project-dropdown-item:last-child{border-bottom:none}.project-dropdown-item:hover{background:var(--bg)}.project-dropdown-item.active{background:var(--primary-light)}.project-dropdown-item.active .project-dropdown-key{color:var(--primary);font-weight:600}.project-dropdown-key{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px}.project-dropdown-name{font-size:12px;color:var(--muted)}.no-results{padding:20px 14px;text-align:center;color:var(--muted);font-size:13px}.sprint-selector-wrapper{position:relative}.sprint-selector{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);font-size:14px;font-weight:500;color:var(--text);cursor:pointer;transition:all var(--transition);min-width:200px}.sprint-selector:hover:not(:disabled){background:var(--bg);border-color:var(--text-secondary)}.sprint-selector:disabled{opacity:.5;cursor:not-allowed}.sprint-selector .sprint-icon{width:16px;height:16px;color:var(--text-secondary);flex-shrink:0}.sprint-selector-text{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sprint-selector .sprint-chevron{width:16px;height:16px;color:var(--muted);flex-shrink:0}.sprint-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);max-height:350px;overflow:hidden;z-index:100;display:flex;flex-direction:column}.sprint-search{padding:10px 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;background:var(--bg-secondary-light);flex-shrink:0}.sprint-search .search-icon{width:16px;height:16px;color:var(--muted);flex-shrink:0}.sprint-search input{flex:1;border:none;background:transparent;outline:none;font-size:13px;color:var(--text);padding:0}.sprint-search input::placeholder{color:var(--muted)}.sprint-search .clear-search{width:20px;height:20px;border:none;background:transparent;color:var(--muted);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all var(--transition);padding:0;line-height:1}.sprint-search .clear-search:hover{background:var(--line-light);color:var(--text)}.sprint-list{overflow-y:auto;max-height:250px}.sprint-dropdown-item{padding:10px 14px;cursor:pointer;transition:background var(--transition);border-bottom:1px solid var(--line-light);display:flex;align-items:center;justify-content:space-between;gap:12px}.sprint-dropdown-item:last-child{border-bottom:none}.sprint-dropdown-item:hover{background:var(--bg)}.sprint-dropdown-item.active{background:var(--primary-light)}.sprint-dropdown-item.active .sprint-dropdown-name{color:var(--primary);font-weight:600}.sprint-dropdown-name{font-size:13px;font-weight:500;color:var(--text);flex:1}.sprint-dropdown-meta{display:flex;align-items:center;gap:8px}.sprint-state{font-size:11px;font-weight:600;padding:3px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.sprint-state.active{background:#e8f5e9;color:#2e7d32}.sprint-state.future{background:#e3f2fd;color:#1565c0}.sprint-state.closed{background:#f5f5f5;color:#616161}.pill-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);font-size:14px;font-weight:500;color:var(--text);cursor:pointer;transition:all var(--transition)}.pill-btn:hover{background:var(--bg);border-color:var(--text-secondary)}.pill-btn svg{width:16px;height:16px;color:var(--text-secondary)}.primary-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);border:0;background:var(--primary);color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:all var(--transition)}.primary-btn:hover{background:var(--primary-hover)}.primary-btn .plus{font-size:18px;font-weight:400;line-height:1}.content-card{width:100%;background:#fafaff;border:0;border-radius:0;min-height:0;padding:24px;flex:1;overflow-y:auto}.content-card-canvas{background:#f0f2f5;background-image:radial-gradient(circle at 1px 1px,#d1d5db 1px,transparent 0);background-size:20px 20px;padding:20px;display:flex;flex-direction:column;overflow:hidden}.content-card-full{padding:0;overflow:hidden}.content-title{margin:0 0 6px;font-size:22px;font-weight:600;color:var(--text)}.content-subtitle{margin:0 0 18px;color:var(--muted);font-size:14px}.content-blank{height:420px;border-radius:var(--radius-lg);border:1px dashed var(--line-light);background:var(--card);display:flex;align-items:center;justify-content:center;color:var(--muted);transition:border-color var(--transition)}.content-blank:hover{border-color:var(--line)}.operations-placeholder{height:100%;min-height:420px;display:flex;align-items:center;justify-content:center;background:var(--card);border-radius:var(--radius-lg);border:1px dashed var(--line-light)}.operations-placeholder-content{text-align:center;color:var(--muted)}.operations-placeholder-content svg{margin-bottom:16px;color:var(--line)}.operations-placeholder-content h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text)}.operations-placeholder-content p{margin:0;font-size:14px}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{width:100%;height:auto;border-right:0;border-bottom:1px solid var(--line)}.content-card{min-height:420px;padding:16px}.content{padding:0}.topbar,.subbar{grid-template-columns:1fr;padding:16px}.topbar-actions,.subbar-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px}.topbar-search{min-width:0;width:100%}.footer{margin-top:16px}}.org-card-wrapper{padding-bottom:10px;margin-bottom:0;margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px;border-bottom:1px solid var(--line);flex-shrink:0}.org-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:8px;display:grid;grid-template-columns:36px 1fr 28px;align-items:center;gap:8px;transition:all .2s ease}.org-card:hover{background:var(--card)}.org-logo{width:36px;height:36px;border-radius:var(--radius);display:grid;place-items:center;transition:all .2s ease;overflow:hidden}.org-logo img{width:100%;height:100%;object-fit:contain}.org-name{font-weight:600;font-size:14px;line-height:1.3;color:var(--text)}.org-caption{font-size:10px;color:var(--muted);font-weight:400;margin-top:2px;letter-spacing:.2px;opacity:.8}.sidebar.collapsed .org-caption{display:none}.org-sub{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:12px;margin-top:2px}.org-sub svg{width:14px;height:14px;color:var(--muted)}.org-toggle{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);display:grid;place-items:center;cursor:pointer;transition:all var(--transition)}.org-toggle:hover{background:var(--line-light);border-color:var(--text-secondary)}.org-toggle svg{width:16px;height:16px;color:var(--text-secondary);transition:transform var(--transition)}.search{margin-top:12px;background:var(--bg-secondary);border-radius:var(--radius);border:1px solid var(--line);padding:8px 12px;display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;color:var(--muted);cursor:pointer;transition:all var(--transition)}.search:hover{border-color:var(--text-secondary);background:var(--card)}.search-icon svg{width:16px;height:16px;color:var(--muted)}.search-text{font-size:13px}.search-key{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:2px 6px;font-size:11px;font-weight:500;color:var(--muted)}.divider{height:1px;background:var(--line);margin:16px 0}.section-label{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);font-weight:600;margin:20px 0 8px 8px}.nav{display:grid;flex:1;overflow:visible;align-content:start;gap:0}.nav-item{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:2px;padding:2px;border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;border:1px solid transparent;min-height:36px;position:relative}.nav-item:hover{background:var(--card);color:var(--text)}.nav-item .nav-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);transition:all .2s ease}.nav-item .nav-icon svg{width:18px;height:18px}.nav-item .nav-text{font-size:14px;font-weight:500}.nav-item.active{background:var(--card);border:1px solid var(--line);color:var(--text);position:relative}.nav-item.active:before{content:"";position:absolute;left:-12px;top:4px;bottom:4px;width:3px;background:var(--warning);border-radius:4px;pointer-events:none}.nav-item.active .nav-icon svg{color:var(--text)}.nav-item.active .nav-text{font-weight:600}.badge{background:var(--accent);color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;line-height:1.2}.chev svg{width:16px;height:16px;color:var(--muted);transition:transform var(--transition)}.nav-item.active .chev svg{color:var(--text)}.sub{padding:0 0 0 16px;margin:0 0 0 18px;border-left:2px solid var(--line);display:grid;gap:0}.sub-item{font-size:13px;color:var(--muted);padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition)}.sub-item:hover{color:var(--text)}.sub-item.active{color:var(--text);font-weight:600;background:var(--card)}.footer{flex-shrink:0;margin-top:auto;padding-top:16px;display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);overflow:visible}.toggle{width:36px;height:20px;border-radius:999px;background:var(--line);position:relative;border:none;cursor:pointer;transition:background var(--transition)}.toggle:hover{background:var(--text-secondary)}.toggle-knob{width:16px;height:16px;border-radius:50%;background:#fff;position:absolute;left:2px;top:2px;box-shadow:var(--shadow-sm);transition:transform var(--transition)}.profile-card{margin-top:12px;background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--line);display:grid;grid-template-columns:48px 1fr 20px;gap:8px;padding:8px;align-items:center;cursor:pointer;transition:all .2s ease}.profile-card:hover{background:var(--card);border-color:var(--text-secondary)}.avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden;flex-shrink:0;transition:all .2s ease}.avatar:after{content:"";position:absolute;width:100%;height:100%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='38' r='20' fill='%23f2d2bf'/%3E%3Cpath d='M15 95c6-20 26-30 35-30s29 10 35 30' fill='%23f0b795'/%3E%3Cpath d='M25 45c5-20 20-30 25-30s20 10 25 30' fill='%236a3b2c'/%3E%3C/svg%3E") center/cover no-repeat;opacity:.9}.profile-meta{min-width:0;overflow:hidden}.profile-name{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-email{font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-chevron svg{width:16px;height:16px;color:var(--muted)}.sidebar.collapsed{width:72px;padding:16px 12px}.sidebar.collapsed .sidebar-scroll{overflow:visible}.sidebar.collapsed .org-card-wrapper{padding-bottom:10px;margin-bottom:8px;margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px;display:flex;justify-content:center}.sidebar.collapsed .org-card{display:flex;justify-content:center;align-items:center;padding:8px;border:1px solid var(--line);background:var(--card);border-radius:var(--radius)}.sidebar.collapsed .org-logo{width:36px;height:36px}.sidebar.collapsed .org-meta,.sidebar.collapsed .org-toggle,.sidebar.collapsed .section-label{display:none}.sidebar.collapsed .nav{gap:4px;align-items:center;justify-items:center}.sidebar.collapsed .nav-item{width:36px;height:36px;min-height:36px;padding:0;display:flex;align-items:center;justify-content:center;border:none!important;background:transparent!important}.sidebar.collapsed .nav-item.active{background:#fff!important;border:1px solid var(--line)!important;border-radius:var(--radius);box-shadow:0 2px 8px #00000014}.sidebar.collapsed .nav-item.active .nav-icon{background:transparent}.sidebar.collapsed .nav-item.active .nav-icon svg{color:var(--text)}.sidebar.collapsed .nav-item:hover{background:transparent!important}.sidebar.collapsed .nav-item:hover .nav-icon{background:transparent}.sidebar.collapsed .nav-item .nav-text,.sidebar.collapsed .nav-item .chev,.sidebar.collapsed .nav-item .badge{display:none}.sidebar.collapsed .nav-item{position:relative}.sidebar.collapsed .nav-item:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);background:var(--text);color:#fff;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;z-index:1000;pointer-events:none}.sidebar.collapsed .nav-item:before{content:"";position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:var(--text);opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;z-index:1000;pointer-events:none}.sidebar.collapsed .nav-item:hover:after,.sidebar.collapsed .nav-item:hover:before{opacity:1;visibility:visible}.sidebar.collapsed .nav-item.active:before{display:none}.sidebar.collapsed .sub{display:none}.sidebar.collapsed .footer{gap:4px;align-items:center}.sidebar.collapsed .footer .nav-item{border:none!important;background:transparent!important}.sidebar.collapsed .footer .nav-item:hover{background:transparent!important}.sidebar.collapsed .footer .nav-item:hover .nav-icon{background:var(--card);border-radius:var(--radius)}.sidebar.collapsed .footer .nav-item .nav-text,.sidebar.collapsed .footer .toggle{display:none}.sidebar.collapsed .profile-card{grid-template-columns:48px;padding:8px;border:none;background:transparent;margin-top:12px}.sidebar.collapsed .profile-card .avatar{width:48px;height:48px}.sidebar.collapsed .profile-meta,.sidebar.collapsed .profile-chevron{display:none}.settings-wrapper{position:relative}.settings-popup{position:absolute;left:calc(100% + 8px);bottom:0;min-width:200px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:8px;box-shadow:var(--shadow-md);z-index:1000;animation:popupFadeIn .15s ease}@keyframes popupFadeIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.popup-item{padding:8px 12px;font-size:13px;font-weight:500;color:var(--muted);border-radius:var(--radius);cursor:pointer;transition:all var(--transition)}.popup-item:hover{color:var(--text)}.popup-item.active{color:var(--text);font-weight:600;background:var(--card)}.chev.rotated svg{transform:rotate(90deg)}.sidebar.collapsed .settings-wrapper .nav-item .chev{display:none}.sidebar.collapsed .settings-popup{left:calc(100% + 4px);bottom:auto;top:50%;transform:translateY(-50%)}.sidebar.collapsed .settings-popup .popup-item{white-space:nowrap}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#faf9f7;padding:20px;position:relative;overflow:hidden}.login-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.login-card{width:100%;max-width:340px;position:relative;z-index:1;background:#fff;border-radius:12px;padding:28px 24px;box-shadow:0 4px 24px #0000000f}.login-logo{width:40px;height:40px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;border-radius:10px;overflow:hidden}.login-logo img{width:100%;height:100%;object-fit:contain}.login-title{text-align:center;margin:0 0 4px;font-size:22px;font-weight:600;color:#111827}.login-subtitle{text-align:center;margin:0 0 20px;font-size:13px;color:#6b7280}.login-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:10px 12px;border-radius:6px;margin-bottom:16px;font-size:13px;text-align:center}.login-form{display:flex;flex-direction:column;gap:14px}.login-form .form-group{position:relative}.login-form .form-group label{display:block;font-size:13px;font-weight:500;color:#111827;margin-bottom:6px}.login-form .form-group input{width:100%;padding:10px 0;border:none;border-bottom:1px solid #e5e7eb;border-radius:0;background:transparent;font-size:14px;color:#111827;transition:all .2s ease;box-sizing:border-box}.login-form .form-group input::placeholder{color:#9ca3af}.login-form .form-group input:focus{outline:none;border-color:#111827;box-shadow:none}.login-form .form-group input:disabled{opacity:.6;cursor:not-allowed}.password-group{position:relative}.password-toggle{position:absolute;right:0;bottom:10px;background:none;border:none;padding:4px;cursor:pointer;color:#9ca3af;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.password-toggle:hover{color:#6b7280}.password-toggle svg{width:18px;height:18px}.login-btn{width:100%;padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-btn.primary{background:#111827;color:#fff;margin-top:8px}.login-btn.primary:hover:not(:disabled){background:#1f2937}.login-divider{display:flex;align-items:center;gap:12px;margin:16px 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.login-divider span{color:#9ca3af;font-size:12px}.login-btn.microsoft{background:#fff;border:1px solid #e5e7eb;color:#374151}.login-btn.microsoft:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.login-btn.microsoft svg{width:18px;height:18px}.login-tabs,.login-tab,.login-content,.login-description,.azure-login,.azure-btn,.admin-login{display:none}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:14px;font-weight:500;color:var(--text)}.form-group input{padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);font-size:14px;color:var(--text);transition:all var(--transition)}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group input::placeholder{color:var(--muted)}.admin-btn{padding:12px 24px;border:none;border-radius:var(--radius);background:var(--primary);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition)}.admin-btn:hover{background:var(--primary-hover)}.admin-btn:disabled{opacity:.6;cursor:not-allowed}.loading-screen,.auth-callback{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.loading-screen>div,.auth-callback-content{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--muted)}.spinner{width:40px;height:40px;border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.profile-wrapper{position:relative}.profile-menu{position:absolute;left:0;right:0;bottom:calc(100% + 8px);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:8px;box-shadow:var(--shadow-md);z-index:100;animation:popupFadeIn .15s ease}.profile-menu-item{display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;color:var(--text);border-radius:var(--radius);cursor:pointer;transition:all var(--transition)}.profile-menu-item:hover{background:var(--bg);color:var(--accent)}.profile-menu-item svg{width:18px;height:18px}.sidebar.collapsed .profile-wrapper .profile-menu{left:calc(100% + 4px);right:auto;bottom:auto;top:50%;transform:translateY(-50%);min-width:150px}.user-management{padding:0;height:100%;display:flex;flex-direction:column}.user-management-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;gap:16px;color:var(--muted)}.user-management-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.user-management-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text)}.error-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--accent-light);color:var(--accent);font-size:14px}.error-banner button{background:none;border:none;font-size:20px;cursor:pointer;color:var(--accent);padding:0 4px}.users-table-container{flex:1;overflow:auto;padding:0 24px 24px}.users-table{width:100%;border-collapse:collapse;font-size:14px}.users-table th{text-align:left;padding:16px 12px;font-weight:600;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--card)}.users-table td{padding:16px 12px;border-bottom:1px solid var(--line-light);vertical-align:top}.users-table tr.inactive{opacity:.6}.users-table tr:hover{background:var(--bg-secondary-light)}.user-info{display:flex;align-items:center;gap:12px}.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0}.user-details{display:flex;flex-direction:column;gap:2px}.user-name{font-weight:600;color:var(--text)}.user-email{font-size:13px;color:var(--muted)}.user-username{font-size:12px;color:var(--text-secondary)}.role-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500;text-transform:capitalize}.role-badge.admin{background:var(--primary-light);color:var(--primary)}.role-badge.user{background:var(--bg-secondary);color:var(--text-secondary)}.provider-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.provider-badge.azure{background:#e6f2ff;color:#0078d4}.provider-badge.local{background:var(--bg-secondary);color:var(--text-secondary)}.status-toggle{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;border:none;transition:all var(--transition)}.status-toggle.active{background:#dcfce7;color:#15803d}.status-toggle.inactive{background:var(--accent-light);color:var(--accent)}.status-toggle:hover{opacity:.8}.permissions-list{display:flex;flex-direction:column;gap:6px}.permission-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text-secondary)}.permission-checkbox input[type=checkbox]{display:none}.permission-checkbox .checkmark{width:16px;height:16px;border:2px solid var(--line);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all var(--transition);flex-shrink:0}.permission-checkbox input[type=checkbox]:checked+.checkmark{background:var(--primary);border-color:var(--primary)}.permission-checkbox input[type=checkbox]:checked+.checkmark:after{content:"✓";color:#fff;font-size:10px;font-weight:700}.permission-checkbox:hover .checkmark{border-color:var(--primary)}.permission-label{white-space:nowrap}.action-buttons{display:flex;gap:8px}.edit-btn,.delete-btn{width:32px;height:32px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.edit-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.delete-btn:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.edit-btn svg,.delete-btn svg{width:16px;height:16px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.modal{background:var(--card);border-radius:var(--radius-lg);width:100%;max-width:480px;box-shadow:var(--shadow-md);animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.modal-header h3{margin:0;font-size:18px;font-weight:600}.close-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--bg-secondary);cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all var(--transition)}.close-btn:hover{background:var(--line);color:var(--text)}.modal form{padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;color:var(--text);margin-bottom:8px}.form-group input,.form-group select{width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);font-size:14px;color:var(--text);background:var(--card);transition:all var(--transition)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:8px}.cancel-btn{padding:10px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition)}.cancel-btn:hover{background:var(--bg-secondary)}.integrations{padding:24px;height:100%;overflow-y:auto}.integrations-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;gap:16px;color:var(--muted)}.integrations-header{margin-bottom:32px}.integrations-header h2{margin:0 0 8px;font-size:24px;font-weight:600;color:var(--text)}.integrations-subtitle{margin:0;font-size:14px;color:var(--muted)}.integrations-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:40px}@media(max-width:1100px){.integrations-grid{grid-template-columns:1fr}}.integration-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;display:grid;grid-template-columns:56px 1fr auto;grid-template-rows:auto auto;gap:16px;align-items:start;transition:all var(--transition);min-width:0}.integration-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.integration-card.connected{border-color:var(--success)}.integration-icon{width:56px;height:56px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;grid-row:span 2}.integration-icon svg{width:32px;height:32px}.integration-icon.jira,.integration-icon.bitbucket{background:#0052cc15;color:#0052cc}.integration-icon.s3{background:#ff990015;color:#f90}.integration-info{min-width:0}.integration-info h3{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text)}.integration-info p{margin:0;font-size:13px;color:var(--muted)}.integration-site{margin-top:8px;font-size:12px;color:var(--text-secondary);word-break:break-all}.integration-site a{color:var(--primary);text-decoration:none}.integration-site a:hover{text-decoration:underline}.integration-site .region-badge{display:inline-block;margin-left:8px;padding:2px 6px;font-size:11px;background:var(--surface-hover);border-radius:4px;color:var(--muted)}.integration-projects{margin-top:10px;display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.projects-label{font-size:12px;color:var(--text-secondary);font-weight:500}.project-badges{display:flex;flex-wrap:wrap;gap:6px}.project-badge{display:inline-block;padding:2px 8px;background:var(--primary-light);color:var(--primary);border-radius:4px;font-size:11px;font-weight:600}.project-badge.gitops{background:#e0f2fe;color:#0369a1}.integration-status{justify-self:end}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-badge.connected{background:#dcfce7;color:#15803d}.status-badge.disconnected{background:var(--bg-secondary);color:var(--muted)}.status-badge.not-configured{background:var(--accent-light);color:var(--accent)}.integration-actions{grid-column:2 / 4;display:flex;align-items:center;gap:12px}.connect-btn{padding:8px 20px;border-radius:var(--radius);border:none;background:var(--primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition)}.connect-btn:hover:not(:disabled){background:var(--primary-hover)}.connect-btn:disabled{opacity:.6;cursor:not-allowed}.disconnect-btn{padding:8px 20px;border-radius:var(--radius);border:1px solid var(--accent);background:transparent;color:var(--accent);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition)}.disconnect-btn:hover{background:var(--accent-light)}.config-hint{font-size:12px;color:var(--muted);font-style:italic}.integrations-info-section{border-top:1px solid var(--line);padding-top:32px}.integrations-info-section h3{margin:0 0 20px;font-size:16px;font-weight:600;color:var(--text)}.info-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media(max-width:1100px){.info-cards{grid-template-columns:1fr}}.info-card{background:var(--bg-secondary);border-radius:var(--radius);padding:20px}.info-card h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text)}.info-card ol{margin:0;padding-left:20px;font-size:13px;color:var(--text-secondary)}.info-card li{margin-bottom:8px}.info-card a{color:var(--primary);text-decoration:none}.info-card a:hover{text-decoration:underline}.info-card code{background:var(--card);padding:2px 6px;border-radius:4px;font-size:12px;font-family:monospace}.info-note{margin:12px 0 0;padding:8px 12px;background:var(--primary-light);border-radius:4px;font-size:12px;color:var(--primary)}.configure-btn{padding:8px 20px;border-radius:var(--radius);border:1px solid var(--text);background:var(--buttonbg);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition)}.configure-btn:hover:not(:disabled){background:var(--buttonsecondbg);border-color:var(--text-secondary)}.configure-btn:disabled{opacity:.6;cursor:not-allowed}.integration-config{grid-column:1 / -1;background:var(--bg-secondary);border-radius:var(--radius);padding:20px;margin-top:8px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.integration-config h4{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--text)}.config-description{margin:0 0 16px;font-size:13px;color:var(--muted)}.form-field{margin-bottom:20px}.form-field label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--text)}.form-field input{width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--text);font-size:14px;transition:all var(--transition);box-sizing:border-box}.form-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.form-field input:disabled{opacity:.6;cursor:not-allowed}.form-field input::placeholder{color:var(--muted)}.form-field small{display:block;margin-top:6px;font-size:12px;color:var(--muted)}.form-field small a{color:var(--primary);text-decoration:none}.form-field small a:hover{text-decoration:underline}.project-search{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;transition:all var(--transition)}.project-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.project-search svg{width:18px;height:18px;color:var(--muted);flex-shrink:0}.project-search input{flex:1;border:none;background:transparent;font-size:14px;color:var(--text);outline:none}.project-search input::placeholder{color:var(--muted)}.clear-search{width:20px;height:20px;border:none;background:var(--line);border-radius:50%;color:var(--text-secondary);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.clear-search:hover{background:var(--text-secondary);color:var(--card)}.project-list{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto;padding-right:8px;margin-bottom:16px}.project-list::-webkit-scrollbar{width:6px}.project-list::-webkit-scrollbar-track{background:var(--line-light);border-radius:3px}.project-list::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.project-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.project-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;transition:all var(--transition)}.project-item:hover{border-color:var(--primary)}.project-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.project-key{font-weight:600;font-size:13px;color:var(--primary);background:var(--primary-light);padding:2px 8px;border-radius:4px;flex-shrink:0}.project-name{font-size:14px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-projects{padding:20px;text-align:center;color:var(--muted);font-size:14px}.config-actions{display:flex;gap:12px;justify-content:flex-end}.save-btn{padding:8px 20px;border-radius:var(--radius);border:none;background:var(--primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition)}.save-btn:hover:not(:disabled){background:var(--primary-hover)}.save-btn:disabled{opacity:.6;cursor:not-allowed}#snackbar-portal{position:fixed;bottom:0;right:0;pointer-events:none}.snackbar-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:12px;z-index:9999;pointer-events:none}.snackbar{display:flex;align-items:center;gap:10px;padding:8px 16px;border-radius:var(--radius);box-shadow:var(--shadow-md);animation:snackbarSlideIn .3s ease;pointer-events:auto;max-width:400px}@keyframes snackbarSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.snackbar-error{background:var(--accent);color:#fff}.snackbar-success{background:#dcfce7;color:#15803d}.snackbar-info{background:var(--text);color:#fff}.snackbar-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.snackbar-icon svg{width:20px;height:20px}.snackbar-message{flex:1;font-size:14px;font-weight:500}.snackbar-close{background:none;border:none;color:inherit;font-size:20px;cursor:pointer;padding:0;opacity:.8;transition:opacity var(--transition);line-height:1}.snackbar-close:hover{opacity:1}.rp-pipeline-selector-wrapper,.releases-pipeline-selector-wrapper{position:relative}.rp-pipeline-selector{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition);min-width:200px}.rp-pipeline-selector:hover:not(:disabled){border-color:var(--primary);box-shadow:0 0 0 3px #f95d031a}.rp-pipeline-selector:disabled{opacity:.5;cursor:not-allowed}.rp-pipeline-selector .rp-pipeline-icon{width:16px;height:16px;color:var(--primary);flex-shrink:0}.rp-pipeline-selector-text{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-pipeline-selector .rp-pipeline-chevron{width:16px;height:16px;color:var(--muted);flex-shrink:0}.rp-pipeline-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:280px;width:max-content;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 40px #00000026,0 2px 10px #0000001a;max-height:350px;overflow:hidden;z-index:1000;display:flex;flex-direction:column}.subbar .rp-pipeline-dropdown{position:absolute}.rp-pipeline-search{padding:10px 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;background:var(--bg-secondary-light);flex-shrink:0}.rp-pipeline-search .search-icon{width:16px;height:16px;color:var(--muted);flex-shrink:0}.rp-pipeline-search input{flex:1;border:none;background:transparent;font-size:13px;color:var(--text);outline:none}.rp-pipeline-search input::placeholder{color:var(--muted)}.rp-pipeline-search .clear-search{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:var(--line);border:none;border-radius:50%;font-size:14px;color:var(--muted);cursor:pointer;transition:all var(--transition)}.rp-pipeline-search .clear-search:hover{background:var(--text-secondary);color:var(--card)}.rp-pipeline-list{overflow-y:auto;max-height:280px}.rp-pipeline-dropdown-item{display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;transition:background var(--transition)}.rp-pipeline-dropdown-item:hover{background:var(--bg-secondary-light)}.rp-pipeline-dropdown-item.active{background:#f95d0314}.rp-pipeline-dropdown-info{flex:1;min-width:0}.rp-pipeline-dropdown-name{font-size:14px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-pipeline-dropdown-desc{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.rp-pipeline-check{flex-shrink:0;color:var(--primary)}.um-container{width:100%;background:#faf7f5;border-radius:12px;overflow:hidden;border:1px solid #e8e8e8;box-shadow:0 2px 8px #0000000a;position:relative;display:flex;height:calc(100vh - 200px);min-height:500px}.um-main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.um-container.with-drawer .um-main-content{flex:1;position:relative}.um-container.with-drawer .um-main-content:after{content:"";position:absolute;inset:0;background:#0000004d;pointer-events:none;z-index:30;animation:um-fade-in .2s ease}.um-table-wrapper{overflow-x:auto;overflow-y:auto;flex:1;scrollbar-width:auto;scrollbar-color:#94a3b8 #f1f5f9;-webkit-overflow-scrolling:touch}.um-table-wrapper::-webkit-scrollbar{-webkit-appearance:none;width:12px;height:12px}.um-table-wrapper::-webkit-scrollbar-track{background:#e2e8f0;border-radius:6px}.um-table-wrapper::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:6px;border:2px solid #e2e8f0;min-height:40px}.um-table-wrapper::-webkit-scrollbar-thumb:hover{background:#64748b}.um-table-wrapper::-webkit-scrollbar-corner{background:#e2e8f0}.um-table{width:100%;border-collapse:collapse;font-size:14px}.um-th{padding:14px 16px;text-align:center;font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#000;background:var(--primary-hover);border-bottom:1px solid var(--primary-hover);border-right:1px solid rgba(0,0,0,.1);white-space:nowrap;position:sticky;top:0;z-index:15}.um-th:last-child{border-right:none}.um-th-content{display:flex;align-items:center;justify-content:center;gap:6px}.um-th-content svg{color:#0009}.um-th:hover{background:var(--primary-50);color:#000}.um-th-user{min-width:280px;text-align:left;position:sticky;left:0;top:0;z-index:25;background:var(--primary-hover)}.um-th-user:after{content:"";position:absolute;top:0;right:0;bottom:0;width:3px;background:linear-gradient(to right,rgba(0,0,0,.15),rgba(0,0,0,.05),transparent);pointer-events:none}.um-th-role,.um-th-provider,.um-th-status{width:120px}.um-th-permissions{min-width:200px}.um-th-actions{width:120px}.um-tr{background:#fff;transition:background .1s ease}.um-tr:hover{background:#fafafa}.um-tr.inactive{opacity:.6}.um-td{padding:10px 16px;border-bottom:1px solid #e8e8e8;border-right:1px solid #f1f5f9;vertical-align:middle;text-align:center}.um-td:last-child{border-right:none}.um-td-user{position:sticky;left:0;background:#fff;z-index:10;text-align:left;min-width:280px}.um-tr:hover .um-td-user{background:#fafafa}.um-td-user:after{content:"";position:absolute;top:0;right:0;bottom:0;width:3px;background:linear-gradient(to right,rgba(0,0,0,.08),rgba(0,0,0,.02),transparent);pointer-events:none}.um-user-info{display:flex;align-items:center;gap:14px}.um-user-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex-shrink:0}.um-user-details{display:flex;flex-direction:column;gap:2px;min-width:0}.um-user-name-row{display:flex;align-items:center;gap:8px}.um-user-name{font-weight:600;color:#1a1a1a;font-size:14px;white-space:nowrap}.um-user-email{font-size:13px;color:#64748b;white-space:nowrap}.um-user-username{font-size:12px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.um-role-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:capitalize}.um-role-badge.admin{background:#dbeafe;color:#1d4ed8}.um-role-badge.user{background:#f3f4f6;color:#374151}.um-provider-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500}.um-provider-badge.local{background:#f3f4f6;color:#374151}.um-provider-badge.azure{background:#e0f2fe;color:#0369a1}.um-status-badge{display:inline-flex;align-items:center;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;border:none}.um-status-badge.active{background:#dcfce7;color:#15803d}.um-status-badge.active:hover{background:#bbf7d0}.um-status-badge.inactive{background:#fee2e2;color:#dc2626}.um-status-badge.inactive:hover{background:#fecaca}.um-permissions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.um-permission-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:11px;color:#64748b;cursor:pointer;transition:all .15s ease}.um-permission-tag:hover{background:#f1f5f9;border-color:#cbd5e1}.um-permission-tag.active{background:var(--primary-light, #fff7ed);border-color:var(--primary);color:#1a1a1a}.um-permission-tag input{display:none}.um-permission-check{width:14px;height:14px;border:2px solid #cbd5e1;border-radius:3px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.um-permission-tag.active .um-permission-check{background:var(--primary);border-color:var(--primary)}.um-permission-tag.active .um-permission-check svg{color:#fff}.um-actions{display:flex;align-items:center;justify-content:center;gap:8px}.um-action-btn{width:36px;height:36px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;color:#64748b}.um-action-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#334155}.um-action-btn.edit:hover{background:#eff6ff;border-color:#93c5fd;color:#2563eb}.um-action-btn.delete:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.um-action-btn svg{width:16px;height:16px}.um-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.um-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:var(--primary);border-radius:50%;animation:um-spin .8s linear infinite}@keyframes um-spin{to{transform:rotate(360deg)}}.um-loading-text{font-size:14px;color:#64748b}.um-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:12px;color:#94a3b8}.um-empty svg{width:48px;height:48px;color:#cbd5e1}.um-empty-text{font-size:14px}.um-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-top:1px solid #e5e7eb}.um-footer-info{font-size:13px;color:#64748b}.um-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:um-fade-in .2s ease}@keyframes um-fade-in{0%{opacity:0}to{opacity:1}}.um-modal{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px -12px #00000040;animation:um-slide-up .2s ease}@keyframes um-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.um-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.um-modal-title{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.um-modal-close{width:32px;height:32px;border-radius:8px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;font-size:24px;transition:all .15s ease}.um-modal-close:hover{background:#f1f5f9;color:#1a1a1a}.um-modal-body{padding:24px;overflow-y:auto;max-height:calc(90vh - 140px)}.um-form-group{margin-bottom:20px}.um-form-group:last-child{margin-bottom:0}.um-form-label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:8px}.um-form-input{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1a1a1a;background:#fff;transition:all .15s ease;box-sizing:border-box}.um-form-select{width:100%;padding:12px 40px 12px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1a1a1a;background:#fff;transition:all .15s ease;box-sizing:border-box;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;cursor:pointer}.um-form-select:hover{border-color:#9ca3af}.um-form-select option{padding:12px;background:#fff;color:#1a1a1a}.um-form-input:focus,.um-form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #ea580c1a}.um-form-input::placeholder{color:#9ca3af}.um-custom-dropdown{position:relative;width:100%}.um-custom-dropdown-trigger{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1a1a1a;background:#fff;transition:all .15s ease;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:space-between;text-align:left}.um-custom-dropdown-trigger:hover{border-color:#9ca3af}.um-custom-dropdown-trigger.open{border-color:var(--primary);box-shadow:0 0 0 3px #ea580c1a}.um-custom-dropdown-chevron{color:#6b7280;transition:transform .2s ease;flex-shrink:0}.um-custom-dropdown-chevron.open{transform:rotate(180deg)}.um-custom-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;overflow:hidden;animation:um-dropdown-fade-in .15s ease}@keyframes um-dropdown-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.um-custom-dropdown-item{width:100%;padding:10px 14px;border:none;background:transparent;font-size:14px;color:#374151;cursor:pointer;display:flex;align-items:center;gap:8px;text-align:left;transition:background .1s ease}.um-custom-dropdown-item:hover{background:#f8fafc}.um-custom-dropdown-item.selected{background:#fff7ed;color:var(--primary);font-weight:500}.um-custom-dropdown-item:not(:last-child){border-bottom:1px solid #f1f5f9}.um-custom-dropdown-item svg{color:var(--primary);flex-shrink:0}.um-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb}.um-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.um-btn-cancel{background:#fff;border:1px solid #d1d5db;color:#374151}.um-btn-cancel:hover{background:#f9fafb;border-color:#9ca3af}.um-btn-primary{background:var(--buttonbg, #1a1a1a);border:1px solid var(--buttonbg, #1a1a1a);color:#fff}.um-btn-primary:hover{opacity:.9}.um-permissions-dropdown{position:relative;display:inline-flex;flex-direction:column;align-items:center}.um-permissions-trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;color:#475569;cursor:pointer;transition:all .15s ease;min-width:140px;justify-content:space-between}.um-permissions-trigger:hover{background:#f8fafc;border-color:#cbd5e1}.um-permissions-summary{display:flex;align-items:center;gap:6px}.um-permissions-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--primary);color:#fff;border-radius:10px;font-size:11px;font-weight:600}.um-permissions-chevron{transition:transform .2s ease;color:#94a3b8}.um-permissions-chevron.expanded{transform:rotate(180deg)}.um-permissions-menu{position:fixed;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 10px 40px #00000026;z-index:9999;min-width:200px;max-height:280px;overflow-y:auto;animation:um-dropdown-in .15s ease}@keyframes um-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.um-permissions-menu::-webkit-scrollbar{width:6px}.um-permissions-menu::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.um-permissions-menu::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.um-permissions-menu::-webkit-scrollbar-thumb:hover{background:#94a3b8}.um-permissions-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:none;font-size:13px;color:#374151;cursor:pointer;transition:background .1s ease;text-align:left}.um-permissions-item:hover{background:#f8fafc}.um-permissions-item.active{background:var(--primary-light, #fff7ed)}.um-permissions-item:first-child{border-radius:9px 9px 0 0}.um-permissions-item:last-child{border-radius:0 0 9px 9px}.um-permissions-item:not(:last-child){border-bottom:1px solid #f1f5f9}.um-permission-checkbox{width:18px;height:18px;border:2px solid #d1d5db;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.um-permissions-item.active .um-permission-checkbox{background:var(--primary);border-color:var(--primary)}.um-permissions-item.active .um-permission-checkbox svg{color:#fff}.um-permission-label{flex:1}.um-drawer{width:420px;min-width:420px;background:#fff;border-left:1px solid #e5e7eb;display:flex;flex-direction:column;animation:um-slide-in-right .25s ease}@keyframes um-slide-in-right{0%{width:0;min-width:0;opacity:0}to{width:420px;min-width:420px;opacity:1}}.um-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.um-drawer-title{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.um-drawer-close{width:36px;height:36px;border-radius:8px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .15s ease}.um-drawer-close:hover{background:#f1f5f9;color:#1a1a1a}.um-drawer-form{display:flex;flex-direction:column;flex:1;overflow:hidden}.um-drawer-body{flex:1;padding:24px;overflow-y:auto}.um-drawer-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;flex-shrink:0;background:#fafafa}.wit-container{width:100%;height:100%;background:#faf7f5;border-radius:12px;overflow:hidden;border:1px solid #e8e8e8;box-shadow:0 2px 8px #0000000a;position:relative;display:flex;flex-direction:column}.wit-subbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-bottom:1px solid #e5e7eb}.wit-subbar-left,.wit-subbar-right{display:flex;align-items:center;gap:12px}.wit-refresh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:#1a1a1a;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.wit-refresh-btn:hover{background:#333}.wit-refresh-btn:active{background:#000;transform:scale(.98)}.wit-refresh-btn svg{flex-shrink:0}.wit-filter-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-bottom:1px solid #e5e7eb;gap:16px}.wit-filter-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.wit-filter-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.wit-filter-label svg{color:#94a3b8}.wit-filter-item{position:relative}.wit-filter-select{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;color:#475569;cursor:pointer;transition:all .15s ease;min-width:140px}.wit-filter-select:hover{background:#f1f5f9;border-color:#cbd5e1}.wit-filter-select.active{background:var(--primary-light, #fff7ed);border-color:var(--primary);color:#1a1a1a}.wit-filter-select.active svg{color:var(--primary)}.wit-filter-select span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wit-filter-chevron{flex-shrink:0;transition:transform .15s ease}.wit-filter-select:hover .wit-filter-chevron{transform:translateY(1px)}.wit-filter-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;max-height:280px;overflow-y:auto;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 10px 40px #0000001f;z-index:200;padding:6px;animation:filterDropdownIn .15s ease}.wit-filter-option{display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:13px;color:#334155;border-radius:6px;cursor:pointer;transition:all .1s ease}.wit-filter-option:hover{background:#f1f5f9}.wit-filter-option.selected{background:var(--primary-light, #fff7ed);color:#1a1a1a;font-weight:500}.wit-filter-option.selected:after{content:"";margin-left:auto;width:16px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ea580c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.wit-filter-option svg{color:#94a3b8;flex-shrink:0}.wit-filter-option.selected svg{color:var(--primary)}.wit-filter-empty{color:#94a3b8;font-style:italic;cursor:default}.wit-filter-empty:hover{background:transparent}.wit-filter-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#1f2937;flex-shrink:0}.wit-filter-actions{display:flex;align-items:center;gap:12px}.wit-filter-clear{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s ease}.wit-filter-clear:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.wit-filter-clear svg{flex-shrink:0}.wit-filter-count{font-size:12px;color:#94a3b8;white-space:nowrap}.wit-table-wrapper{overflow-x:scroll;overflow-y:scroll;flex:1;min-height:0;scrollbar-width:auto;scrollbar-color:#94a3b8 #f1f5f9;-webkit-overflow-scrolling:touch}.wit-table-wrapper::-webkit-scrollbar{-webkit-appearance:none;width:12px;height:12px}.wit-table-wrapper::-webkit-scrollbar-track{background:#e2e8f0;border-radius:6px}.wit-table-wrapper::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:6px;border:2px solid #e2e8f0;min-height:40px}.wit-table-wrapper::-webkit-scrollbar-thumb:hover{background:#64748b}.wit-table-wrapper::-webkit-scrollbar-corner{background:#e2e8f0}.wit-table{width:100%;border-collapse:collapse;font-size:14px}.wit-th{padding:14px 16px;text-align:center;font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#000;background:var(--primary-hover);border-bottom:1px solid var(--primary-hover);border-right:1px solid rgba(0,0,0,.1);white-space:nowrap;position:sticky;top:0;z-index:15}.wit-th:last-child{border-right:none}.wit-th-content{display:flex;align-items:center;justify-content:center;gap:6px}.wit-th-content svg{color:#0009}.wit-sort-icon{opacity:.5;transition:all .2s ease}.wit-th:hover{background:var(--primary-50);color:#000}.wit-th:hover .wit-sort-icon{opacity:.8}.wit-th-work{min-width:180px;text-align:left;position:sticky;left:0;top:0;z-index:25;background:var(--primary-hover)}.wit-th-work:after{content:"";position:absolute;top:0;right:0;bottom:0;width:3px;background:linear-gradient(to right,rgba(0,0,0,.15),rgba(0,0,0,.05),transparent);pointer-events:none}.wit-th-type{width:100px}.wit-th-summary{min-width:220px}.wit-th-status{width:120px}.wit-th-assignee{width:180px}.wit-th-priority{width:100px}.wit-th-source{min-width:150px}.wit-th-commits{width:80px;text-align:center}.wit-row{transition:background-color .15s ease}.wit-row:hover{background-color:#f9fafb}.wit-row-expanded{background-color:#fff8e6}.wit-row-expanded:hover{background-color:#fef3c7}.wit-row-child{background-color:#fff}.wit-row-child:hover{background-color:#f9fafb}.wit-td{padding:14px 16px;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;vertical-align:middle}.wit-td:last-child{border-right:none}.wit-td-clickable{cursor:pointer;transition:background-color .15s ease}.wit-td-clickable:hover{background-color:#f8f9fa}.wit-row-child .wit-td-clickable:hover{background-color:#f5f3f0}.wit-td-work{position:sticky;left:0;z-index:10;background:#fff}.wit-td-work:after{content:"";position:absolute;top:0;right:0;bottom:0;width:3px;background:linear-gradient(to right,rgba(0,0,0,.1),rgba(0,0,0,.03),transparent);pointer-events:none}.wit-row:hover .wit-td-work{background:#f9fafb}.wit-row-expanded .wit-td-work{background:#fff8e6;position:sticky;left:0}.wit-row-expanded .wit-td-work:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:#f59e0b;z-index:1}.wit-row-expanded:hover .wit-td-work{background:#fef3c7}.wit-row-child .wit-td-work{background:#fff}.wit-row-child:hover .wit-td-work{background:#f9fafb}.wit-work-cell{display:flex;align-items:center;gap:6px}.wit-work-cell-child{padding-left:6px}.wit-expand-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--muted);transition:all var(--transition);flex-shrink:0}.wit-expand-btn:hover{background:var(--line-light);color:var(--text)}.wit-expand-btn svg{transition:transform .2s ease}.wit-expand-btn.expanded svg{transform:rotate(90deg)}.wit-expand-placeholder{width:24px;flex-shrink:0}.wit-child-indent{width:32px;flex-shrink:0;position:relative}.wit-child-indent:before{content:"";position:absolute;left:12px;top:-20px;width:1px;height:24px;background:var(--line)}.wit-child-indent:after{content:"";position:absolute;left:12px;top:4px;width:12px;height:1px;background:var(--line)}.wit-type-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);font-size:12px;flex-shrink:0}.wit-type-icon-small{width:20px;height:20px;font-size:10px}.wit-key{font-weight:600;color:#1f2937;font-size:13px;white-space:nowrap}.wit-key-child{font-weight:500;color:#374151;font-size:12px}.wit-child-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--primary-light);color:var(--primary);border-radius:10px;font-size:11px;font-weight:600}.wit-jira-link{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;padding:4px;color:#9ca3af;border-radius:4px;transition:all .15s ease}.wit-jira-link:hover{color:var(--primary);background:var(--primary-light, #fff7ed)}.wit-jira-link svg{flex-shrink:0}.wit-type-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:500;text-transform:capitalize}.wit-status-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:3px;font-size:11px;font-weight:700;letter-spacing:.5px;white-space:nowrap}.wit-summary-wrapper{position:relative;display:inline-block;max-width:350px}.wit-summary{display:block;color:#374151;font-size:14px;line-height:1.4;max-width:350px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.wit-summary-child{color:#6b7280;font-size:13px}.wit-summary-tooltip{position:absolute;left:0;top:calc(100% + 8px);z-index:1000;min-width:280px;max-width:420px;padding:14px 16px;background:linear-gradient(135deg,#1e293b,#334155);color:#f1f5f9;font-size:13px;font-weight:400;line-height:1.6;white-space:normal;word-wrap:break-word;border-radius:10px;box-shadow:0 20px 40px #00000040,0 8px 16px #00000026,0 0 0 1px #ffffff1a;opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .2s cubic-bezier(.16,1,.3,1);pointer-events:none}.wit-summary-tooltip:before{content:"";position:absolute;top:-6px;left:20px;width:12px;height:12px;background:#1e293b;transform:rotate(45deg);border-radius:2px;box-shadow:-2px -2px 4px #0000001a}.wit-summary-wrapper:hover .wit-summary-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.wit-assignee{display:flex;align-items:center;gap:8px}.wit-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#000;font-size:11px;font-weight:600;flex-shrink:0}.wit-avatar-small{width:24px;height:24px;font-size:10px}.wit-assignee-name{color:#000;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wit-unassigned{color:#666;font-style:italic;font-size:13px}.wit-priority{font-weight:500;font-size:12px;text-transform:capitalize;color:#000}.wit-td-source{padding:0!important;vertical-align:top}.wit-source-repos{display:flex;flex-direction:column;gap:0}.wit-source-repo{display:flex;align-items:center;padding:6px 8px;min-height:38px;height:38px;box-sizing:border-box;color:#05c;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wit-source-repo:not(:last-child){border-bottom:1px solid #e5e7eb}.wit-source-loading{color:#9ca3af;font-size:12px;font-style:italic}.wit-skeleton{display:inline-block;height:10px;border-radius:6px;background:linear-gradient(90deg,#e9edf3 25%,#f5f7fb 37%,#e9edf3 63%);background-size:400% 100%;animation:wit-skeleton-shimmer 1.2s ease-in-out infinite}@keyframes wit-skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.wit-source-empty{color:#9ca3af;font-size:12px}.wit-th-actions{text-align:center;width:70px}.wit-td-actions{text-align:center;vertical-align:middle}.wit-action-wrapper{position:relative;display:inline-block}.wit-action-btn{border:1px solid transparent;background:transparent;border-radius:8px;width:32px;height:28px;cursor:pointer;color:#64748b;transition:all .15s ease}.wit-action-btn:hover{background:#f1f5f9;border-color:#e2e8f0;color:#475569}.wit-action-btn.active{background:var(--primary-light, #fff7ed);border-color:var(--primary);color:var(--primary)}.wit-action-dots{font-size:18px;line-height:1;display:inline-block}.wit-action-menu{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 40px #0000001f,0 2px 6px #0000000a;min-width:170px;z-index:100;padding:6px;animation:actionMenuIn .15s ease}@keyframes actionMenuIn{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.wit-action-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border:none;background:transparent;cursor:pointer;border-radius:8px;font-size:13px;font-weight:500;color:#334155;transition:all .1s ease}.wit-action-item:hover{background:#f1f5f9;color:#1a1a1a}.wit-action-item svg{color:#94a3b8;flex-shrink:0;transition:color .1s ease}.wit-action-item:hover svg{color:var(--primary)}.wit-details-drawer{position:absolute;top:0;right:0;bottom:0;width:480px;background:linear-gradient(180deg,#fff,#f8fafc);border-left:1px solid #e2e8f0;box-shadow:-12px 0 40px #0f172a26;z-index:100;display:flex;flex-direction:column;animation:slideIn .25s cubic-bezier(.16,1,.3,1);border-radius:0 12px 12px 0}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.wit-details-backdrop{position:absolute;inset:0;border:none;padding:0;background:#0f172a26;cursor:pointer;z-index:99;animation:fadeIn .2s ease;border-radius:12px}.wit-details-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-bottom:1px solid #e2e8f0}.wit-details-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:#0f172a}.wit-details-icon{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.wit-details-key{letter-spacing:.3px}.wit-details-close{width:28px;height:28px;border:none;background:#f1f5f9;border-radius:6px;font-size:16px;cursor:pointer;color:#64748b;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.wit-details-close:hover{background:#e2e8f0;color:#0f172a}.wit-details-body{flex:1;padding:14px 16px;overflow-y:auto}.wit-details-tabs-wrapper{position:relative;display:flex;align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0}.wit-details-tabs-arrow{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#fff;border:1px solid #e2e8f0;border-radius:50%;cursor:pointer;color:#64748b;flex-shrink:0;transition:all .15s ease;z-index:2}.wit-details-tabs-arrow:hover{background:#f1f5f9;color:#334155;border-color:#cbd5e1}.wit-details-tabs-arrow-left{margin-left:8px}.wit-details-tabs-arrow-right{margin-right:8px}.wit-details-tabs{display:flex;gap:2px;padding:6px 8px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;flex:1}.wit-details-tabs::-webkit-scrollbar{display:none}.wit-details-tab{background:transparent;border:none;padding:6px 12px;font-size:12px;font-weight:500;color:#64748b;cursor:pointer;white-space:nowrap;border-radius:6px;transition:all .15s ease}.wit-details-tab:hover{background:#e2e8f0;color:#334155}.wit-details-tab.active{background:#fff;color:var(--primary);font-weight:600;box-shadow:0 1px 2px #0000000f}.wit-details-section{margin-bottom:16px}.wit-details-summary{font-size:13px;color:#1e293b;line-height:1.5;background:#fff;padding:12px;border-radius:8px;border:1px solid #e2e8f0}.wit-details-row-line{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#fff;border-radius:6px;margin-bottom:6px;border:1px solid #f1f5f9;transition:all .15s ease}.wit-details-row-line:hover{border-color:#e2e8f0}.wit-details-label{font-size:12px;color:#64748b;font-weight:500}.wit-details-value{font-size:12px;color:#1e293b;font-weight:600}.wit-details-status{padding:4px 10px;border-radius:12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.wit-details-assignee{display:inline-flex;align-items:center;gap:8px;color:#1e293b;font-size:12px;font-weight:600}.wit-details-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#fbbf24,#f59e0b);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:9px;color:#fff}.wit-details-jira{margin-top:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:#1a1a1a;color:#fff;text-decoration:none;border-radius:8px;font-weight:600;font-size:12px;width:100%;transition:all .2s ease}.wit-details-jira:hover{background:#333}.wit-details-placeholder{color:#94a3b8;font-size:12px;text-align:center;padding:24px 16px;background:#fff;border-radius:8px;border:1px dashed #e2e8f0}.wit-drawer-filters{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}.wit-drawer-filter-item{position:relative;flex:1;min-width:140px}.wit-drawer-filter-select{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;font-weight:500;color:#475569;cursor:pointer;transition:all .15s ease}.wit-drawer-filter-select:hover{background:#f1f5f9;border-color:#cbd5e1}.wit-drawer-filter-select.active{background:var(--primary-light, #fff7ed);border-color:var(--primary);color:#1a1a1a}.wit-drawer-filter-select.active svg{color:var(--primary)}.wit-drawer-filter-select svg{color:#94a3b8;flex-shrink:0}.wit-drawer-filter-select span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.wit-drawer-filter-chevron{flex-shrink:0;transition:transform .15s ease}.wit-drawer-filter-select:hover .wit-drawer-filter-chevron{transform:translateY(1px)}.wit-drawer-filter-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:180px;max-height:240px;overflow-y:auto;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 10px 40px #0000001f;z-index:200;padding:6px;animation:drawerDropdownIn .15s ease}@keyframes drawerDropdownIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.wit-drawer-filter-option{display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:12px;color:#334155;border-radius:6px;cursor:pointer;transition:all .1s ease}.wit-drawer-filter-option:hover{background:#f1f5f9}.wit-drawer-filter-option.selected{background:var(--primary-light, #fff7ed);color:#1a1a1a;font-weight:500}.wit-drawer-filter-option.selected:after{content:"";margin-left:auto;width:14px;height:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ea580c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.wit-drawer-filter-option svg{color:#94a3b8;flex-shrink:0}.wit-drawer-filter-option.selected svg{color:var(--primary)}.wit-drawer-filter-avatar{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#1f2937;flex-shrink:0}.wit-drawer-filter-clear{display:flex;align-items:center;gap:4px;padding:8px 10px;font-size:11px;font-weight:500;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.wit-drawer-filter-clear:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.wit-drawer-filter-clear svg{flex-shrink:0}.wit-drawer-filter-status-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.wit-drawer-filter-status-badge.open{background:#e0f2fe;color:#0369a1}.wit-drawer-filter-status-badge.merged{background:#dcfce7;color:#15803d}.wit-drawer-filter-status-badge.declined,.wit-drawer-filter-status-badge.closed{background:#fee2e2;color:#b91c1c}.wit-drawer-filter-build-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.wit-drawer-filter-build-badge.successful{background:#dcfce7;color:#15803d}.wit-drawer-filter-build-badge.failed{background:#fee2e2;color:#b91c1c}.wit-drawer-filter-build-badge.in_progress,.wit-drawer-filter-build-badge.inprogress,.wit-drawer-filter-build-badge.pending{background:#fef3c7;color:#b45309}.wit-drawer-filter-build-badge.stopped,.wit-drawer-filter-build-badge.cancelled{background:#f3f4f6;color:#6b7280}.wit-drawer-filter-env-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:capitalize;letter-spacing:.3px;background:#e0e7ff;color:#4338ca}.wit-drawer-filter-deploy-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.wit-drawer-filter-deploy-badge.successful,.wit-drawer-filter-deploy-badge.completed{background:#dcfce7;color:#15803d}.wit-drawer-filter-deploy-badge.failed{background:#fee2e2;color:#b91c1c}.wit-drawer-filter-deploy-badge.in_progress,.wit-drawer-filter-deploy-badge.inprogress,.wit-drawer-filter-deploy-badge.pending,.wit-drawer-filter-deploy-badge.undeployed{background:#fef3c7;color:#b45309}.wit-drawer-filter-deploy-badge.stopped,.wit-drawer-filter-deploy-badge.cancelled{background:#f3f4f6;color:#6b7280}.wit-details-commits{display:flex;flex-direction:column;gap:12px}.wit-details-commit-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px;transition:all .15s ease}.wit-details-commit-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a}.wit-details-commit-top{display:flex;gap:12px}.wit-details-commit-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#475569;flex-shrink:0}.wit-details-commit-content{flex:1;min-width:0}.wit-details-commit-message{font-size:13px;font-weight:500;color:#1e293b;line-height:1.5;margin-bottom:6px;word-break:break-word}.wit-details-commit-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:#64748b}.wit-details-commit-author{font-weight:500;color:#475569}.wit-details-commit-separator{color:#cbd5e1}.wit-details-commit-time{color:#94a3b8}.wit-details-commit-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid #f1f5f9}.wit-details-commit-hash{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:6px}.wit-details-commit-hash svg{color:#94a3b8}.wit-details-commit-id{font-size:12px;font-weight:600;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,monospace;color:var(--primary);text-decoration:none;transition:color .15s ease}.wit-details-commit-id:hover{color:#c2410c;text-decoration:underline}.wit-details-commit-id-text{font-size:12px;font-weight:600;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,monospace;color:#475569}.wit-details-commit-repo{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:#64748b;padding:4px 10px;background:#f1f5f9;border-radius:6px}.wit-details-commit-repo svg{color:#94a3b8}.wit-details-prs{display:flex;flex-direction:column;gap:12px}.wit-details-pr-card{border:1px solid #eef2f7;border-radius:12px;padding:12px;background:#f8fafc;display:flex;flex-direction:column;gap:8px}.wit-details-pr-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.wit-details-pr-title{font-size:14px;font-weight:600;color:var(--primary);text-decoration:none;flex:1}.wit-details-pr-title:hover{text-decoration:underline}.wit-details-pr-status{font-size:11px;padding:4px 8px;border-radius:999px;background:#e2e8f0;color:#475569;text-transform:uppercase;letter-spacing:.4px;font-weight:600;white-space:nowrap}.wit-details-pr-status.open{background:#e0f2fe;color:#0369a1}.wit-details-pr-status.merged{background:#dcfce7;color:#15803d}.wit-details-pr-status.declined,.wit-details-pr-status.closed{background:#fee2e2;color:#b91c1c}.wit-details-pr-meta{display:flex;justify-content:space-between;font-size:12px;color:#64748b;gap:8px}.wit-details-pr-repo{background:#e2e8f0;color:#1f2937;padding:2px 8px;border-radius:999px;font-size:12px}.wit-details-pr-branches{display:flex;align-items:center;gap:6px;font-size:12px;color:#1f2937}.wit-details-pr-branch{background:#f1f5f9;padding:4px 8px;border-radius:999px}.wit-details-pr-arrow{color:#94a3b8}.wit-details-pr-updated{font-size:11px;color:#94a3b8}.wit-details-builds{display:flex;flex-direction:column;gap:12px}.wit-details-build-card{border:1px solid #eef2f7;border-radius:12px;padding:12px;background:#f8fafc;display:flex;flex-direction:column;gap:8px}.wit-details-build-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.wit-details-build-title{font-size:14px;font-weight:600;color:var(--primary);text-decoration:none;flex:1}.wit-details-build-title:hover{text-decoration:underline}.wit-details-build-status{font-size:11px;padding:4px 8px;border-radius:999px;background:#e2e8f0;color:#475569;text-transform:uppercase;letter-spacing:.4px;font-weight:600;white-space:nowrap}.wit-details-build-status.successful{background:#dcfce7;color:#15803d}.wit-details-build-status.failed{background:#fee2e2;color:#b91c1c}.wit-details-build-status.in_progress,.wit-details-build-status.pending{background:#fef3c7;color:#b45309}.wit-details-build-meta{display:flex;justify-content:space-between;font-size:12px;color:#64748b;gap:8px}.wit-details-build-repo{background:#e2e8f0;color:#1f2937;padding:2px 8px;border-radius:999px;font-size:12px}.wit-details-build-commit{font-size:12px;color:#64748b}.wit-details-build-updated{font-size:11px;color:#94a3b8}.wit-details-deployments{display:flex;flex-direction:column;gap:12px}.wit-deploy-canvas{background:radial-gradient(circle at 1px 1px,#d4d4d4 1px,transparent 1px),#f5f5f5;background-size:16px 16px;border-radius:12px;padding:20px 20px 24px;margin-bottom:8px;position:relative;max-height:300px;overflow-y:auto}.wit-deploy-canvas-header{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#1a1a1a;margin-bottom:16px;position:relative;z-index:1}.wit-deploy-canvas-header svg{color:#ea580c}.wit-deploy-columns{display:flex;align-items:flex-start;position:relative;z-index:1;justify-content:space-between;gap:4px}.wit-deploy-column{flex:1;min-width:0;max-width:150px;display:flex;flex-direction:column;border-radius:10px;overflow:hidden;background:transparent;border-right:1px solid #d4d4d4;padding-right:12px}.wit-deploy-column:last-of-type{border-right:none;padding-right:0}.wit-deploy-column:hover{transform:none;box-shadow:none}.wit-deploy-column-header{padding:8px 12px;border-bottom:1px solid;text-align:center;background:transparent}.wit-deploy-column-title{font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.wit-deploy-column-body{flex:1;display:flex;flex-direction:column;align-items:center;padding:16px 12px;gap:8px}.wit-deploy-column-icon{width:44px;height:44px;border-radius:50%;background:#fff;border:3px solid #e5e5e5;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000000f}.wit-deploy-column-body.success .wit-deploy-column-icon{border-color:#ea580c;background:#fff7ed}.wit-deploy-column-body.failed .wit-deploy-column-icon{border-color:#1a1a1a;background:#f5f5f5}.wit-deploy-column-body.in_progress .wit-deploy-column-icon,.wit-deploy-column-body.pending .wit-deploy-column-icon{border-color:#f97316;background:#ffedd5}.wit-deploy-column-status{font-size:11px;font-weight:600;text-align:center}.wit-deploy-column-env{font-size:10px;color:#525252;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#fff7ed;padding:2px 8px;border-radius:4px}.wit-deploy-column-time{font-size:9px;color:#737373;text-align:center}.wit-deploy-column-arrow{display:flex;align-items:center;justify-content:center;padding:0;margin-top:45px;flex-shrink:0;width:16px}.wit-deploy-column-arrow svg{color:#d4d4d4}.wit-deploy-column-body-list{flex:1;display:flex;flex-direction:column;padding:10px 4px;gap:8px}.wit-deploy-env-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#fff;border-radius:8px;transition:background .15s ease;box-shadow:0 1px 3px #00000014}.wit-deploy-env-item:hover{background:#f5f5f5}.wit-deploy-env-item.success,.wit-deploy-env-item.failed,.wit-deploy-env-item.in_progress,.wit-deploy-env-item.pending{background:#fff}.wit-deploy-env-icon{width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid #e5e5e5;display:flex;align-items:center;justify-content:center;flex-shrink:0}.wit-deploy-env-item.success .wit-deploy-env-icon{border-color:#16a34a;background:#f0fdf4}.wit-deploy-env-item.failed .wit-deploy-env-icon{border-color:#dc2626;background:#fef2f2}.wit-deploy-env-item.in_progress .wit-deploy-env-icon,.wit-deploy-env-item.pending .wit-deploy-env-icon{border-color:#f97316;background:#fff7ed}.wit-deploy-env-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.wit-deploy-env-name{font-size:11px;font-weight:600;color:#1a1a1a;text-transform:capitalize}.wit-deploy-env-status{font-size:10px;font-weight:500}@keyframes deploySpinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wit-deploy-spinner{animation:deploySpinner 2s linear infinite}.wit-deployment-repo-selector{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:10px;padding:14px;margin-bottom:4px}.wit-deployment-repo-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#475569;margin-bottom:10px}.wit-deployment-repo-label svg{color:#64748b}.wit-details-deploy-card{border:1px solid #eef2f7;border-radius:12px;padding:12px;background:#f8fafc;display:flex;flex-direction:column;gap:8px}.wit-details-deploy-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.wit-details-deploy-title{font-size:14px;font-weight:600;color:var(--primary);text-decoration:none;flex:1}.wit-details-deploy-title:hover{text-decoration:underline}.wit-details-deploy-status{font-size:11px;padding:4px 8px;border-radius:999px;background:#e2e8f0;color:#475569;text-transform:uppercase;letter-spacing:.4px;font-weight:600;white-space:nowrap}.wit-details-deploy-status.successful{background:#dcfce7;color:#15803d}.wit-details-deploy-status.failed{background:#fee2e2;color:#b91c1c}.wit-details-deploy-status.in_progress,.wit-details-deploy-status.pending{background:#fef3c7;color:#b45309}.wit-details-deploy-meta{display:flex;justify-content:space-between;font-size:12px;color:#64748b;gap:8px}.wit-details-deploy-env,.wit-details-deploy-repo{background:#e2e8f0;color:#1f2937;padding:2px 8px;border-radius:999px;font-size:12px}.wit-details-deploy-commit{font-size:12px;color:#64748b}.wit-details-deploy-updated{font-size:11px;color:#94a3b8}.wit-insights{padding:24px 20px 24px 24px;background:#f8fafc;min-height:100%}.wit-insights-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:16px}.wit-insights-title{font-size:20px;font-weight:600;color:#1f2937;margin-bottom:4px}.wit-insights-subtitle{font-size:13px;color:#6b7280}.wit-insights-status{background:#1f2937;color:#fff;padding:10px 16px;border-radius:12px;font-size:13px;font-weight:600;text-align:center;line-height:1.3;white-space:nowrap}.wit-insights-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;font-size:20px;cursor:pointer;transition:all .15s ease;margin-left:8px}.wit-insights-close:hover{background:#e2e8f0;color:#1a1a1a}.wit-insights-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.wit-insight-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px;min-height:140px}.wit-insight-summary{grid-column:span 2;min-height:auto}.wit-insight-title{font-size:11px;text-transform:uppercase;letter-spacing:.8px;font-weight:600;color:#6b7280;margin-bottom:4px}.wit-insight-metric{font-size:32px;font-weight:700;color:#1f2937;line-height:1;margin-bottom:2px}.wit-insight-sub{font-size:13px;color:#6b7280;margin-bottom:4px}.wit-insight-row{font-size:13px;color:#475569;padding:2px 0}.wit-insight-progress{height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin:6px 0}.wit-insight-progress span{display:block;height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:999px;transition:width .3s ease}.wit-insight-sparkline{display:flex;align-items:flex-end;gap:6px;height:32px;margin:8px 0;overflow:hidden}.wit-insight-sparkline span{flex-shrink:0;width:10px;background:#cbd5e1;border-radius:4px;min-height:6px;max-height:32px}.wit-insight-sparkline span:nth-child(n+5){background:#3b82f6}.wit-insight-list{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#475569;margin-top:4px}.wit-insight-narrative{font-size:14px;color:#1f2937;line-height:1.5}.wit-timeline-container{display:flex;flex-direction:column;gap:16px}.wit-timeline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px}.wit-timeline-sort-toggle{display:flex;align-items:center;gap:4px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:3px}.wit-timeline-sort-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;color:#64748b;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.wit-timeline-sort-btn:hover{color:#334155;background:#f1f5f9}.wit-timeline-sort-btn.active{color:#1a1a1a;background:var(--primary-light, #fff7ed)}.wit-timeline-sort-btn.active svg{color:var(--primary)}.wit-timeline-sort-btn svg{color:#94a3b8;flex-shrink:0}.wit-timeline-count{font-size:12px;font-weight:500;color:#64748b}.wit-timeline{display:flex;flex-direction:column;gap:0;position:relative;padding-left:24px}.wit-timeline:before{content:"";position:absolute;left:11px;top:20px;bottom:20px;width:2px;background:linear-gradient(to bottom,#e5e7eb,#d1d5db);border-radius:1px}.wit-timeline-item{position:relative;padding:12px 0;display:flex;gap:16px}.wit-timeline-item:first-child{padding-top:0}.wit-timeline-item:last-child{padding-bottom:0}.wit-timeline-dot{position:absolute;left:-24px;top:12px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #e5e7eb;z-index:1;flex-shrink:0}.wit-timeline-item:first-child .wit-timeline-dot{top:0}.wit-timeline-dot.commit{border-color:var(--primary);background:#fff7ed}.wit-timeline-dot.commit svg{color:var(--primary)}.wit-timeline-dot.pr{border-color:#8b5cf6;background:#f5f3ff}.wit-timeline-dot.pr svg{color:#8b5cf6}.wit-timeline-dot.build{border-color:#3b82f6;background:#eff6ff}.wit-timeline-dot.build svg{color:#3b82f6}.wit-timeline-dot.deployment{border-color:#10b981;background:#ecfdf5}.wit-timeline-dot.deployment svg{color:#10b981}.wit-timeline-dot.success{border-color:#16a34a;background:#f0fdf4}.wit-timeline-dot.success svg{color:#16a34a}.wit-timeline-dot.failed{border-color:#dc2626;background:#fef2f2}.wit-timeline-dot.failed svg{color:#dc2626}.wit-timeline-dot.in_progress,.wit-timeline-dot.pending{border-color:#f97316;background:#fff7ed}.wit-timeline-dot.in_progress svg,.wit-timeline-dot.pending svg{color:#f97316}.wit-timeline-content{flex:1;min-width:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px;transition:all .15s ease}.wit-timeline-content:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000f}.wit-timeline-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.wit-timeline-title{font-size:13px;font-weight:600;color:#1a1a1a;line-height:1.4;word-break:break-word}.wit-timeline-title a{color:var(--primary);text-decoration:none}.wit-timeline-title a:hover{text-decoration:underline}.wit-timeline-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;padding:3px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;flex-shrink:0}.wit-timeline-badge.commit{background:#fff7ed;color:var(--primary)}.wit-timeline-badge.pr{background:#f5f3ff;color:#7c3aed}.wit-timeline-badge.build{background:#eff6ff;color:#2563eb}.wit-timeline-badge.deployment{background:#ecfdf5;color:#059669}.wit-timeline-badge.open{background:#e0f2fe;color:#0369a1}.wit-timeline-badge.merged{background:#dcfce7;color:#15803d}.wit-timeline-badge.declined,.wit-timeline-badge.closed{background:#fee2e2;color:#b91c1c}.wit-timeline-badge.successful{background:#dcfce7;color:#15803d}.wit-timeline-badge.failed{background:#fee2e2;color:#b91c1c}.wit-timeline-badge.in_progress,.wit-timeline-badge.inprogress,.wit-timeline-badge.pending{background:#fef3c7;color:#b45309}.wit-timeline-badge.stopped,.wit-timeline-badge.cancelled{background:#f3f4f6;color:#6b7280}.wit-timeline-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:11px;color:#64748b}.wit-timeline-meta-item{display:inline-flex;align-items:center;gap:4px}.wit-timeline-meta-item svg{color:#94a3b8;flex-shrink:0}.wit-timeline-repo{display:inline-flex;align-items:center;gap:4px;background:#f1f5f9;padding:2px 8px;border-radius:4px;font-size:10px;color:#475569}.wit-timeline-author{font-weight:500;color:#334155}.wit-timeline-time{color:#94a3b8}.wit-timeline-message{font-size:12px;color:#475569;line-height:1.5;margin-top:8px;padding-top:8px;border-top:1px solid #f1f5f9;word-break:break-word}.wit-timeline-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;background:#fafafa;border-radius:12px;border:1px dashed #e5e7eb}.wit-timeline-empty svg{color:#d1d5db;margin-bottom:16px}.wit-timeline-empty-title{font-size:14px;font-weight:600;color:#475569;margin-bottom:6px}.wit-timeline-empty-text{font-size:12px;color:#94a3b8;max-width:260px;line-height:1.5}.wit-timeline-date-group{position:relative;margin-top:16px}.wit-timeline-date-group:first-child{margin-top:0}.wit-timeline-date-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-left:0}.wit-timeline-date-label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;padding:4px 10px;border-radius:4px}.wit-timeline-date-line{flex:1;height:1px;background:#e5e7eb}.wit-details-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.wit-details-empty-state svg{color:#cbd5e1;margin-bottom:16px}.wit-details-empty-title{font-size:14px;font-weight:600;color:#475569;margin-bottom:6px}.wit-details-empty-text{font-size:12px;color:#94a3b8;max-width:240px;line-height:1.5}.wit-details-repos{display:flex;flex-direction:column;gap:12px}.wit-details-section-title{display:flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#64748b;margin-bottom:12px;font-weight:600}.wit-details-section-title svg{color:#94a3b8}.wit-details-repo-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px;transition:all .15s ease}.wit-details-repo-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a}.wit-details-repo-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.wit-details-repo-icon{width:36px;height:36px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.wit-details-repo-icon svg{color:#64748b}.wit-details-repo-info{flex:1;min-width:0}.wit-details-repo-name{font-size:13px;font-weight:600;color:#1e293b;margin-bottom:4px;word-break:break-word}.wit-details-repo-link{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--primary);text-decoration:none;transition:color .15s ease}.wit-details-repo-link:hover{color:#c2410c;text-decoration:underline}.wit-details-repo-link svg{flex-shrink:0}.wit-details-branches-section{padding-top:12px;border-top:1px solid #f1f5f9}.wit-details-branches-label{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.wit-details-branches-label svg{color:#cbd5e1}.wit-details-branches{display:flex;flex-wrap:wrap;gap:6px}.wit-details-branch{display:inline-flex;align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#475569;font-size:11px;font-weight:500;padding:5px 10px;border-radius:6px;border:1px solid #e2e8f0;transition:all .15s ease}.wit-details-branch:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-color:#cbd5e1}.wit-details-branch-empty{color:#94a3b8;font-size:11px;font-style:italic}.wit-td-commits{padding:0!important;vertical-align:top;text-align:center}.wit-commits-repos{display:flex;flex-direction:column;gap:0}.wit-commits-repo-row{display:flex;align-items:center;justify-content:center;padding:6px 8px;min-height:38px;height:38px;box-sizing:border-box;gap:8px}.wit-commits-repo-row:not(:last-child){border-bottom:1px solid #e5e7eb}.wit-commits-repo-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:20px;padding:0 6px;background:#e3f2fd;color:#0d47a1;border-radius:10px;font-size:11px;font-weight:600;flex-shrink:0}.wit-commits-authors{display:flex;align-items:center}.wit-commits-author{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#000;font-size:10px;font-weight:600;flex-shrink:0;position:relative;cursor:pointer;border:2px solid #fff;margin-left:-8px;box-shadow:0 1px 2px #0000001a;transition:transform .15s ease,box-shadow .15s ease,z-index 0s}.wit-commits-author:first-child{margin-left:0}.wit-commits-author:hover{transform:scale(1.1);box-shadow:0 2px 6px #0003;z-index:10}.wit-commits-author:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:5px 10px;border-radius:6px;font-size:11px;font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:1000;margin-bottom:6px;pointer-events:none;box-shadow:0 2px 8px #00000026}.wit-commits-author:hover:after{opacity:1;visibility:visible}.wit-commits-more{font-size:10px;font-weight:600;color:#4b5563;background:#e5e7eb;padding:2px 6px;border-radius:10px;margin-left:2px}.wit-commits-empty,.wit-commits-no-author,.wit-commits-loading{color:#9ca3af;font-size:12px}.wit-th-prs{min-width:180px;text-align:center}.wit-td-prs{text-align:center;padding:0!important;vertical-align:top}.wit-prs-repos{display:flex;flex-direction:column;gap:0}.wit-prs-repo-row{display:flex;align-items:center;justify-content:center;padding:6px 8px;min-height:38px;height:38px;box-sizing:border-box;gap:8px;position:relative;cursor:pointer}.wit-prs-repo-row:not(:last-child){border-bottom:1px solid #e5e7eb}.wit-prs-repo-name{font-size:12px;color:#6b7280;min-width:80px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wit-prs-repo-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:20px;padding:0 6px;background:#f3e8ff;color:#7c3aed;border-radius:10px;font-size:11px;font-weight:600;flex-shrink:0}.wit-prs-badges{display:flex;align-items:center;gap:4px}.wit-prs-stats{display:flex;align-items:center;justify-content:center;gap:4px}.wit-prs-repo-total{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;background:#f3e8ff;color:#7c3aed;border-radius:9px;font-size:11px;font-weight:600}.wit-prs-cell{display:flex;flex-direction:column;align-items:center;gap:4px}.wit-prs-total{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 8px;background:#f3e8ff;color:#7c3aed;border-radius:11px;font-size:12px;font-weight:600}.wit-prs-breakdown{display:flex;align-items:center;justify-content:center;gap:4px}.wit-prs-badge{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 8px;border-radius:13px;font-size:12px;font-weight:600}.wit-prs-open{background:#dbeafe;color:#1d4ed8}.wit-prs-merged{background:#d1fae5;color:#047857}.wit-prs-declined{background:#fee2e2;color:#dc2626}.wit-prs-empty{color:#9ca3af;font-size:12px}.wit-prs-zero{opacity:.5}.wit-prs-loading{color:#9ca3af;font-size:12px}.wit-th-builds{min-width:140px;text-align:center}.wit-td-builds{text-align:center;padding:0!important;vertical-align:top}.wit-builds-repos{display:flex;flex-direction:column;gap:0}.wit-builds-repo-row{display:flex;align-items:center;justify-content:center;padding:6px 8px;min-height:38px;height:38px;box-sizing:border-box;gap:8px;position:relative;cursor:pointer}.wit-builds-repo-row:not(:last-child){border-bottom:1px solid #e5e7eb}.wit-builds-badges{display:flex;align-items:center;gap:6px}.wit-builds-badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:36px;height:28px;padding:0 10px;border-radius:14px;font-size:13px;font-weight:600}.wit-builds-badge svg{flex-shrink:0}.wit-builds-passed{background:#d1fae5;color:#047857}.wit-builds-failed{background:#fee2e2;color:#dc2626}.wit-builds-empty{color:#9ca3af;font-size:12px}.wit-builds-zero{opacity:.5}.wit-builds-loading{color:#9ca3af;font-size:12px}.wit-builds-repo-row:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:1000;pointer-events:none;box-shadow:0 2px 8px #00000026}.wit-builds-repo-row:before{content:"";position:absolute;bottom:calc(100% - 4px);left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1f2937;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:1000;pointer-events:none}.wit-builds-repo-row:hover:after,.wit-builds-repo-row:hover:before{opacity:1;visibility:visible}.wit-prs-repo-row:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:1000;pointer-events:none;box-shadow:0 2px 8px #00000026}.wit-prs-repo-row:before{content:"";position:absolute;bottom:calc(100% - 4px);left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1f2937;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:1000;pointer-events:none}.wit-prs-repo-row:hover:after,.wit-prs-repo-row:hover:before{opacity:1;visibility:visible}.wit-th-deployments{min-width:240px;vertical-align:bottom;padding:14px 16px!important}.wit-th-deployments-wrapper{display:flex;align-items:center;justify-content:center}.wit-th-deployments-wrapper .wit-th-content{padding:0}.wit-env-type-headers{display:flex;border-top:1px solid rgba(0,0,0,.1)}.wit-env-type-tag{flex:1 1 0;min-width:80px;padding:8px 12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;text-align:center;background:var(--primary-hover);color:#374151}.wit-env-type-tag:not(:first-child){border-left:1px solid rgba(0,0,0,.1)}.wit-td-deployments{min-width:240px;padding:0!important;vertical-align:top}.wit-env-repos{display:flex;flex-direction:column;height:100%;width:100%}.wit-env-repo-row{display:flex;align-items:stretch;min-height:38px;height:38px;box-sizing:border-box}.wit-env-repo-row:not(:last-child){border-bottom:1px solid #e5e7eb}.wit-env-grid{display:flex;flex:1;align-items:stretch}.wit-env-type-col{flex:1 1 0;display:flex;flex-direction:column;justify-content:center;min-width:80px;height:100%}.wit-env-type-col:not(:first-child){border-left:1px solid #e5e7eb}.wit-env-names-row{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:6px 8px;gap:4px;flex-wrap:nowrap;height:100%}.wit-env-name{position:relative;font-size:12px;padding:4px 8px;border-radius:4px;white-space:nowrap;cursor:pointer;transition:opacity .15s ease;font-weight:500;text-align:center;background:#dbdbdc;color:#4b5563;flex-shrink:0}.wit-env-name:hover{opacity:.8}.wit-env-name:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:5px 10px;border-radius:6px;font-size:11px;font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:1000;margin-bottom:6px;pointer-events:none;box-shadow:0 2px 8px #00000026}.wit-env-name:hover:after{opacity:1;visibility:visible}.wit-env-pending-icon{position:absolute;top:-4px;right:-4px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0000001f}.wit-env-status-icon{position:absolute;top:-4px;right:-4px;border-radius:50%;box-shadow:0 1px 3px #0000001f}.wit-env-name.wit-env-success{background:#dcfce7;color:#166534;border:1px solid #86efac}.wit-env-name.wit-env-failed{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.wit-deployments-empty{color:#9ca3af;font-size:12px;padding:10px 16px}.wit-env-empty-placeholder{color:#9ca3af;font-size:12px}.wit-deployments-loading{color:#9ca3af;font-size:12px;padding:10px 16px}.wit-env-not-deployed{position:relative;font-size:10px;padding:3px 6px;border-radius:4px;white-space:nowrap;cursor:default;font-weight:600;text-align:center;background:#f3f4f6;color:#6b7280;border:1px dashed #d1d5db;flex-shrink:0}.wit-env-not-deployed:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:5px 10px;border-radius:6px;font-size:11px;font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:1000;margin-bottom:6px;pointer-events:none;box-shadow:0 2px 8px #00000026}.wit-env-not-deployed:hover:after{opacity:1;visibility:visible}.wit-env-expand-btn{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;border:none;background:#e5e7eb;color:#4b5563;border-radius:4px;font-size:10px;font-weight:600;cursor:pointer;transition:all .15s ease;flex-shrink:0;white-space:nowrap}.wit-env-expand-btn:hover{background:#d1d5db;color:#374151}.wit-env-expand-btn svg{flex-shrink:0}.wit-env-collapse-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:#e5e7eb;color:#4b5563;border-radius:4px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.wit-env-collapse-btn:hover{background:#d1d5db;color:#374151}.wit-env-collapse-btn svg{flex-shrink:0}.wit-pagination{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--card);border-top:1px solid var(--line);gap:16px}.wit-page-controls{display:flex;align-items:center;gap:8px}.wit-page-numbers{display:flex;align-items:center;gap:4px}.wit-page-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border:1px solid var(--line);background:var(--card);border-radius:var(--radius);font-size:13px;font-weight:500;color:var(--text);cursor:pointer;transition:all var(--transition)}.wit-page-btn:hover:not(:disabled){background:var(--bg);border-color:var(--text-secondary)}.wit-page-btn:disabled{opacity:.5;cursor:not-allowed}.wit-page-nav{min-width:100px}.wit-page-num{min-width:36px;padding:8px 10px}.wit-page-num.active{background:var(--primary);border-color:var(--primary);color:#fff}.wit-page-ellipsis{padding:0 8px;color:var(--muted);font-size:14px}.wit-page-info{color:var(--muted);font-size:13px}.wit-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:var(--muted)}.wit-spinner{width:40px;height:40px;border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:wit-spin .8s linear infinite}@keyframes wit-spin{to{transform:rotate(360deg)}}.wit-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:var(--muted)}.wit-empty svg{color:var(--line)}@media(max-width:1024px){.wit-th-summary,.wit-summary{max-width:200px}}@media(max-width:768px){.wit-th,.wit-td{padding:10px 12px}.wit-pagination{flex-direction:column;align-items:center;gap:12px}.wit-page-controls{justify-content:center}.wit-page-info{text-align:center}}.wit-sprint-insights-backdrop{position:absolute;inset:0;background:#0000004d;z-index:1000;animation:witSprintBackdropIn .2s ease}@keyframes witSprintBackdropIn{0%{opacity:0}to{opacity:1}}.wit-sprint-insights-drawer{position:absolute;top:0;right:0;bottom:0;width:480px;max-width:90%;background:#f8fafc;border-left:1px solid #e5e7eb;z-index:1001;display:flex;flex-direction:column;animation:witSprintDrawerIn .3s ease;box-shadow:-4px 0 20px #0000001a;overflow:hidden}@keyframes witSprintDrawerIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.wit-sprint-insights-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff;border-bottom:1px solid #e5e7eb}.wit-sprint-insights-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:#1a1a1a}.wit-sprint-insights-title svg{flex-shrink:0;color:#f97316}.wit-sprint-insights-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;font-size:20px;cursor:pointer;transition:all .15s ease}.wit-sprint-insights-close:hover{background:#e2e8f0;color:#1a1a1a}.wit-sprint-insights-sprint-info{padding:14px 20px;background:#fff7ed;border-bottom:1px solid #fed7aa}.wit-sprint-insights-sprint-name{font-size:14px;font-weight:600;color:#1a1a1a;margin-bottom:4px}.wit-sprint-insights-sprint-dates{font-size:12px;color:#64748b}.wit-sprint-insights-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:0;display:flex;flex-direction:column}.wit-sprint-insights-body::-webkit-scrollbar{width:6px}.wit-sprint-insights-body::-webkit-scrollbar-track{background:transparent}.wit-sprint-insights-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.wit-sprint-insights-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.wit-sprint-insights-summary{display:flex;gap:8px}.wit-sprint-insights-card{flex:1;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:10px 8px;text-align:center}.wit-sprint-insights-card.completed{background:#f0fdf4;border-color:#bbf7d0}.wit-sprint-insights-card.in-progress{background:#eff6ff;border-color:#bfdbfe}.wit-sprint-insights-card.todo{background:#fafafa;border-color:#e5e7eb}.wit-sprint-insights-card-value{font-size:20px;font-weight:700;color:#1a1a1a;line-height:1.2}.wit-sprint-insights-card.completed .wit-sprint-insights-card-value{color:#16a34a}.wit-sprint-insights-card.in-progress .wit-sprint-insights-card-value{color:#2563eb}.wit-sprint-insights-card-label{font-size:9px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.3px;margin-top:2px}.wit-sprint-insights-section{background:#fafafa;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.wit-sprint-insights-section-title{font-size:12px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px;display:flex;align-items:center;gap:8px}.wit-sprint-insights-progress{display:flex;align-items:center;gap:16px;padding:4px 0}.wit-sprint-insights-progress-bar{flex:1;height:12px;background:linear-gradient(90deg,#f1f5f9,#e2e8f0);border-radius:6px;overflow:hidden;box-shadow:inset 0 1px 3px #00000014;position:relative}.wit-sprint-insights-progress-fill{height:100%;background:linear-gradient(90deg,#22c55e,#16a34a,#15803d);border-radius:6px;transition:width .6s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #16a34a4d;position:relative}.wit-sprint-insights-progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,transparent 100%);border-radius:6px 6px 0 0}.wit-sprint-insights-progress-text{font-size:14px;font-weight:700;color:#16a34a;white-space:nowrap;min-width:85px;text-align:right}.wit-sprint-insights-type-list{display:flex;flex-direction:column;gap:8px}.wit-sprint-insights-type-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.wit-sprint-insights-type-name{font-size:13px;font-weight:500;color:#334155}.wit-sprint-insights-type-count{font-size:13px;font-weight:600;color:#1a1a1a;background:#f1f5f9;padding:2px 10px;border-radius:12px}.wit-sprint-insights-contributors{display:flex;flex-direction:column;gap:12px}.wit-sprint-insights-contributor{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px}.wit-sprint-insights-contributor-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.wit-sprint-insights-contributor-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.wit-sprint-insights-contributor-info{flex:1;min-width:0}.wit-sprint-insights-contributor-name{font-size:13px;font-weight:600;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wit-sprint-insights-contributor-stats{font-size:11px;color:#64748b;margin-top:2px}.wit-sprint-insights-contributor-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;display:flex}.wit-sprint-insights-contributor-bar-completed{height:100%;background:#22c55e;border-radius:3px 0 0 3px}.wit-sprint-insights-contributor-bar-progress{height:100%;background:#3b82f6}.wit-sprint-insights-dev-stats{display:flex;flex-direction:column;gap:10px}.wit-sprint-insights-dev-stat{display:flex;align-items:center;gap:14px;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:10px}.wit-sprint-insights-dev-stat svg{color:#f97316;flex-shrink:0}.wit-sprint-insights-dev-stat-info{flex:1}.wit-sprint-insights-dev-stat-value{font-size:18px;font-weight:700;color:#1a1a1a}.wit-sprint-insights-dev-stat-label{font-size:11px;color:#64748b;margin-top:2px}.wit-sprint-insights-status-list{display:flex;flex-direction:column;gap:8px}.wit-sprint-insights-status-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.wit-sprint-insights-status-info{display:flex;align-items:center;gap:8px;min-width:100px}.wit-sprint-insights-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.wit-sprint-insights-status-name{font-size:12px;font-weight:500;color:#334155}.wit-sprint-insights-status-bar-wrapper{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.wit-sprint-insights-status-bar{height:100%;border-radius:4px;transition:width .3s ease}.wit-sprint-insights-status-count{font-size:12px;font-weight:600;color:#1a1a1a;min-width:24px;text-align:right}.board-container{display:flex;gap:20px;padding:1px;overflow-x:auto;overflow-y:hidden;height:calc(100vh - 200px);align-items:flex-start;width:100%;max-width:100%;box-sizing:border-box;min-width:0}.board-container::-webkit-scrollbar{height:8px}.board-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.board-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.board-container::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.board-column{min-width:320px;max-width:420px;flex-shrink:0;background:transparent;border-radius:12px;display:flex;flex-direction:column;height:100%;max-height:100%}.board-column-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #e9ecef;position:sticky;top:0;background:transparent;border-radius:12px 12px 0 0;z-index:1}.board-column-header-left{display:flex;align-items:center;gap:8px}.board-column-status-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:#6c757d}.board-column[data-status="to do"] .board-column-status-icon,.board-column[data-status=open] .board-column-status-icon,.board-column[data-status=new] .board-column-status-icon{color:#6b7280}.board-column[data-status="in progress"] .board-column-status-icon,.board-column[data-status=active] .board-column-status-icon{color:#f59e0b}.board-column[data-status="in review"] .board-column-status-icon,.board-column[data-status=review] .board-column-status-icon,.board-column[data-status=testing] .board-column-status-icon{color:#fd7e14}.board-column[data-status=done] .board-column-status-icon,.board-column[data-status=closed] .board-column-status-icon,.board-column[data-status=resolved] .board-column-status-icon{color:#198754}.board-column[data-status=blocked] .board-column-status-icon{color:#dc3545}.board-column-title{font-weight:600;font-size:14px;color:#212529}.board-column-count{background:#6c757d;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;min-width:20px;text-align:center}.board-column[data-status=done] .board-column-count,.board-column[data-status=closed] .board-column-count,.board-column[data-status=resolved] .board-column-count{background:#198754}.board-column[data-status="in progress"] .board-column-count,.board-column[data-status=active] .board-column-count{background:#f59e0b}.board-column[data-status="in review"] .board-column-count,.board-column[data-status=review] .board-column-count{background:#fd7e14}.board-column[data-status=blocked] .board-column-count{background:#dc3545}.board-column-body{padding:12px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}.board-column-body::-webkit-scrollbar{width:6px}.board-column-body::-webkit-scrollbar-track{background:transparent}.board-column-body::-webkit-scrollbar-thumb{background:transparent;border-radius:3px}.board-column-body::-webkit-scrollbar-thumb:hover{background:transparent}.board-card{background:#fff;border-radius:10px;padding:14px;box-shadow:0 1px 3px #00000014;cursor:pointer;transition:all .2s ease;border:1px solid #e9ecef}.board-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.board-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.board-card-badges{display:flex;align-items:center;gap:8px}.board-card-status-badge{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500}.board-card-status-badge svg{width:12px;height:12px}.board-card-status-badge.status-done,.board-card-status-badge.status-closed,.board-card-status-badge.status-resolved{background:#d1fae5;color:#065f46}.board-card-status-badge.status-in-progress,.board-card-status-badge.status-active{background:#fef3c7;color:#92400e}.board-card-status-badge.status-in-review,.board-card-status-badge.status-review{background:#fee2e2;color:#991b1b}.board-card-status-badge.status-to-do,.board-card-status-badge.status-open,.board-card-status-badge.status-backlog{background:#e0f2fe;color:#075985}.board-card-status-badge.status-blocked{background:#fee2e2;color:#dc2626}.board-card-priority-badge{display:flex;align-items:center;gap:2px;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;border:1px solid}.board-card-priority-badge.priority-highest,.board-card-priority-badge.priority-critical{background:#fef2f2;color:#dc2626;border-color:#fecaca}.board-card-priority-badge.priority-high{background:#fff7ed;color:#ea580c;border-color:#fed7aa}.board-card-priority-badge.priority-medium{background:#fefce8;color:#ca8a04;border-color:#fef08a}.board-card-priority-badge.priority-low{background:#f0fdf4;color:#16a34a;border-color:#bbf7d0}.board-card-priority-badge.priority-lowest{background:#f0f9ff;color:#0284c7;border-color:#bae6fd}.board-card-menu-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#9ca3af;cursor:pointer;border-radius:4px;transition:all .15s ease}.board-card-menu-btn:hover{background:#f3f4f6;color:#6b7280}.board-card-content{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}.board-card-type-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.board-card-type-icon svg{width:16px;height:16px}.board-card-type-icon.type-epic{background:#f3e8ff;color:#9333ea}.board-card-type-icon.type-story{background:#dcfce7;color:#16a34a}.board-card-type-icon.type-bug{background:#fee2e2;color:#dc2626}.board-card-type-icon.type-task,.board-card-type-icon.type-sub-task{background:#dbeafe;color:#2563eb}.board-card-type-icon.type-default{background:#f3f4f6;color:#6b7280}.board-card-summary{font-size:13px;font-weight:500;color:#1f2937;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.board-card-key{font-size:12px;color:#6b7280;margin-bottom:8px}.board-card-key span{color:#9ca3af}.board-card-separator{border:none;border-top:1px dashed #e5e7eb;margin:0 0 10px}.board-card-footer{display:flex;align-items:center;justify-content:space-between}.board-card-assignee{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280}.board-card-assignee-avatar{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;background-color:#fdbe9a!important;color:#000}.board-card-assignee svg{width:16px;height:16px;color:#9ca3af}.board-card-devinfo{display:flex;align-items:center;gap:10px}.board-card-metric{display:flex;align-items:center;gap:4px;font-size:11px;color:#6b7280}.board-card-metric svg{width:14px;height:14px;color:#9ca3af}.board-card-metric.has-data svg{color:#6b7280}.board-column-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#9ca3af;text-align:center}.board-column-empty svg{width:40px;height:40px;margin-bottom:12px;opacity:.5}.board-column-empty-text{font-size:13px}.board-loading{display:flex;align-items:center;justify-content:center;min-height:300px;color:#6b7280}.board-loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:board-spin .8s linear infinite}@keyframes board-spin{to{transform:rotate(360deg)}}.board-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#6b7280;text-align:center;padding:40px}.board-empty svg{width:64px;height:64px;margin-bottom:16px;opacity:.4}.board-empty-title{font-size:16px;font-weight:600;color:#374151;margin-bottom:8px}.board-empty-text{font-size:14px;color:#9ca3af}.view-toggle{display:flex;align-items:center;background:#f3f4f6;border-radius:8px;padding:3px;gap:2px}.view-toggle-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border:none;background:transparent;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .15s ease}.view-toggle-btn svg{width:16px;height:16px}.view-toggle-btn:hover{color:#374151}.view-toggle-btn.active{background:#fff;color:#1f2937;box-shadow:0 1px 3px #0000001a}.board-wrapper{position:relative;width:100%;height:100%;overflow:hidden;border-radius:12px;max-width:100%;box-sizing:border-box;min-width:0;flex:1}.board-details-backdrop{position:absolute;inset:0;border:none;padding:0;background:#0f172a26;cursor:pointer;z-index:99;animation:boardFadeIn .2s ease;border-radius:12px}@keyframes boardFadeIn{0%{opacity:0}to{opacity:1}}.board-details-drawer{position:absolute;top:0;right:0;bottom:0;width:480px;max-width:90%;background:linear-gradient(180deg,#fff,#f8fafc);border-left:1px solid #e2e8f0;box-shadow:-12px 0 40px #0f172a26;z-index:100;display:flex;flex-direction:column;animation:boardSlideIn .25s cubic-bezier(.16,1,.3,1);border-radius:0 12px 12px 0}@keyframes boardSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.board-details-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-bottom:1px solid #e2e8f0}.board-details-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:#0f172a}.board-details-icon{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.board-details-key{letter-spacing:.3px}.board-details-close{width:28px;height:28px;border:none;background:#f1f5f9;border-radius:6px;font-size:16px;cursor:pointer;color:#64748b;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.board-details-close:hover{background:#e2e8f0;color:#0f172a}.board-details-tabs{display:flex;gap:4px;padding:8px 16px;background:#fff;border-bottom:1px solid #e2e8f0;overflow-x:auto}.board-details-tabs::-webkit-scrollbar{display:none}.board-details-tab{padding:8px 12px;border:none;background:transparent;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;border-radius:6px;white-space:nowrap;transition:all .15s ease}.board-details-tab:hover,.board-details-tab.active{background:#f1f5f9;color:#0f172a}.board-details-body{flex:1;overflow-y:auto;padding:16px}.board-details-section{margin-bottom:20px}.board-details-section-title{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.board-details-summary{font-size:14px;color:#0f172a;line-height:1.5}.board-details-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f1f5f9}.board-details-label{font-size:13px;color:#64748b}.board-details-value{font-size:13px;color:#0f172a;font-weight:500}.board-details-status{font-size:11px;font-weight:600;padding:4px 8px;border-radius:4px}.board-details-assignee{display:flex;align-items:center;gap:8px;font-size:13px;color:#0f172a}.board-details-avatar{width:24px;height:24px;border-radius:50%;background:#fdbe9a;color:#000;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center}.board-details-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#3b82f6;text-decoration:none;font-weight:500}.board-details-link:hover{color:#2563eb;text-decoration:underline}.board-details-list{display:flex;flex-direction:column;gap:12px}.board-details-empty{text-align:center;padding:40px 20px;color:#94a3b8;font-size:13px}.board-details-list-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.board-details-list-link{text-decoration:none;color:inherit;cursor:pointer;transition:all .15s ease}.board-details-list-link:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000f}.board-details-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.board-details-list-id{font-family:monospace;font-size:12px;color:#3b82f6;background:#eff6ff;padding:2px 6px;border-radius:4px}.board-details-list-title{font-size:13px;font-weight:500;color:#0f172a;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px}.board-details-list-time{font-size:11px;color:#94a3b8}.board-details-list-message{font-size:13px;color:#0f172a;line-height:1.4;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.board-details-list-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:#94a3b8}.board-details-list-badge{font-size:10px;font-weight:600;padding:3px 8px;border-radius:4px;text-transform:uppercase}.board-details-list-badge.open,.board-details-list-badge.merged{background:#dcfce7;color:#16a34a}.board-details-list-badge.declined{background:#fee2e2;color:#dc2626}.board-details-list-badge.successful,.board-details-list-badge.success{background:#dcfce7;color:#16a34a}.board-details-list-badge.failed,.board-details-list-badge.failure{background:#fee2e2;color:#dc2626}.board-details-list-badge.in_progress,.board-details-list-badge.pending,.board-details-list-badge.running{background:#fef3c7;color:#d97706}@media(max-width:768px){.board-column{min-width:280px}.board-container{padding:12px}.board-details-drawer{width:100%;max-width:100%;border-radius:0}}.projects-container{width:100%;background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e8e8e8;box-shadow:0 2px 8px #0000000a}.projects-container-cards{background:transparent;border:none;border-radius:0;box-shadow:none}.projects-view-toggle{display:flex;align-items:center;background:#f3f4f6;border-radius:8px;padding:3px;gap:2px}.projects-view-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border:none;background:transparent;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .15s ease}.projects-view-btn svg{width:16px;height:16px}.projects-view-btn:hover{color:#374151}.projects-view-btn.active{background:#fff;color:#1f2937;box-shadow:0 1px 3px #0000001a}.projects-table-wrapper{overflow-x:auto}.projects-table{width:100%;border-collapse:collapse;font-size:14px}.projects-th{padding:14px 16px;text-align:left;font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#000;background:var(--primary-hover);border-bottom:1px solid var(--primary-hover);border-right:1px solid rgba(0,0,0,.1);white-space:nowrap;position:sticky;top:0}.projects-th:last-child{border-right:none}.projects-th-content{display:flex;align-items:center;gap:8px}.projects-th-content svg{color:#0009}.projects-th:hover{background:var(--primary);color:#000}.projects-th-name{min-width:250px}.projects-th-description{min-width:300px}.projects-th-updated{min-width:140px}.projects-th-actions{width:140px;text-align:center}.projects-row{transition:background-color .15s ease}.projects-row:hover{background-color:#f9fafb}.projects-row-clickable{cursor:pointer}.projects-td{padding:14px 16px;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;vertical-align:middle}.projects-td:last-child{border-right:none}.projects-name-cell{display:flex;align-items:center;gap:12px}.projects-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#000;color:#fff;font-size:13px;font-weight:600;flex-shrink:0}.projects-name-text{color:#1f2937;font-weight:500;font-size:14px}.projects-text-field{color:#374151;font-size:14px}.projects-empty-field{color:#9ca3af;font-style:italic}.projects-edit-input{width:100%;padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;color:#374151}.projects-edit-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.projects-td-actions{text-align:center}.projects-action-buttons{display:flex;gap:6px;justify-content:center}.projects-btn{padding:5px 12px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.projects-btn-edit{background:#f3f4f6;color:#374151}.projects-btn-edit:hover{background:#e5e7eb}.projects-btn-save{background:#10b981;color:#fff}.projects-btn-save:hover{background:#059669}.projects-btn-cancel{background:#f3f4f6;color:#374151}.projects-btn-cancel:hover{background:#e5e7eb}.projects-btn-delete{background:#fee2e2;color:#dc2626}.projects-btn-delete:hover{background:#fecaca}.projects-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:#6b7280;font-size:14px}.projects-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:projects-spin .8s linear infinite}@keyframes projects-spin{to{transform:rotate(360deg)}}.projects-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:#9ca3af;font-size:14px;text-align:center}.projects-empty svg{opacity:.5}.projects-access-denied{display:flex;align-items:center;justify-content:center;padding:60px 20px;min-height:400px}.access-denied-card{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:380px;padding:40px;background:linear-gradient(135deg,#fafafa,#f5f5f5);border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 4px 20px #0000000d}.access-denied-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;background:linear-gradient(135deg,#fee2e2,#fecaca);border-radius:50%;margin-bottom:20px;color:#dc2626;box-shadow:0 4px 12px #dc262626}.access-denied-title{font-size:20px;font-weight:600;color:#1f2937;margin:0 0 8px}.access-denied-message{font-size:15px;color:#6b7280;margin:0;line-height:1.5}.access-denied-divider{width:60px;height:1px;background:linear-gradient(90deg,transparent,#d1d5db,transparent);margin:24px 0}.access-denied-help{font-size:13px;color:#6b7280;margin:0;line-height:1.6}.access-denied-help strong{color:#4b5563;font-weight:500}@media(max-width:1024px){.projects-th-description,.projects-td:nth-child(2){display:none}}@media(max-width:768px){.projects-th,.projects-td{padding:10px 12px}.projects-avatar{width:32px;height:32px;font-size:12px}.projects-name-text{font-size:13px}.projects-th-updated,.projects-td:nth-child(3){display:none}}.projects-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;padding:24px}.projects-card{background:linear-gradient(145deg,#fff,#fafbfc);border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;position:relative}.projects-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001f,0 4px 12px #00000014;border-color:transparent}.projects-card-clickable{cursor:pointer}.projects-card-accent{height:4px;background:linear-gradient(90deg,var(--primary, #f95d03) 0%,var(--primary-50, #fcae81) 100%);flex-shrink:0}.projects-card-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 20px 12px}.projects-card-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.projects-card-status{display:inline-flex;align-items:center;padding:4px 10px;background:#dcfce7;color:#16a34a;font-size:11px;font-weight:600;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.projects-card-avatar{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background-color:var(--primary-50, #fcae81)!important;color:#000;font-size:15px;font-weight:700;flex-shrink:0;box-shadow:0 4px 12px #00000026;position:relative}.projects-card-avatar:after{content:"";position:absolute;inset:0;border-radius:12px;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 50%)}.projects-card-actions{display:flex;gap:6px;opacity:0;transform:translateY(-4px);transition:all .2s ease}.projects-card:hover .projects-card-actions{opacity:1;transform:translateY(0)}.projects-card-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:none;background:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:10px;cursor:pointer;color:#6b7280;transition:all .2s ease;box-shadow:0 2px 8px #00000014}.projects-card-btn:hover{background:#fff;color:#374151;transform:scale(1.05);box-shadow:0 4px 12px #0000001f}.projects-card-btn-save{background:#dcfce7;color:#16a34a}.projects-card-btn-save:hover{background:#bbf7d0;color:#15803d}.projects-card-btn-cancel{background:#ffffffe6;color:#6b7280}.projects-card-btn-cancel:hover{background:#fff;color:#374151}.projects-card-btn-delete{background:#fee2e2e6;color:#dc2626}.projects-card-btn-delete:hover{background:#fecaca;color:#b91c1c}.projects-card-body{padding:0 20px 14px;flex:1}.projects-card-title{font-size:16px;font-weight:700;color:#111827;margin:0 0 6px;line-height:1.3;letter-spacing:-.02em}.projects-card-description{font-size:13px;color:#6b7280;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.projects-card-edit-input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:15px;font-weight:600;color:#1f2937;margin-bottom:10px;box-sizing:border-box;transition:all .2s ease}.projects-card-edit-input:focus{outline:none;border-color:var(--primary, #f95d03);box-shadow:0 0 0 3px #f95d031a}.projects-card-edit-textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#374151;resize:vertical;font-family:inherit;box-sizing:border-box;transition:all .2s ease}.projects-card-edit-textarea:focus{outline:none;border-color:var(--primary, #f95d03);box-shadow:0 0 0 3px #f95d031a}.projects-card-footer{padding:12px 20px;border-top:1px solid #f1f3f5;background:linear-gradient(180deg,#f8f9fa,#f3f4f6);border-radius:0 0 16px 16px;display:flex;align-items:center;justify-content:space-between}.projects-card-members{display:flex;align-items:center;gap:10px}.projects-card-member-avatars{display:flex;align-items:center}.projects-card-member-avatar{width:24px;height:24px;border-radius:50%;background:var(--primary-50, #fcae81);color:#000;font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;margin-left:-6px;border:2px solid #f8f9fa;position:relative}.projects-card-member-avatar:first-child{margin-left:0}.projects-card-member-avatar:nth-child(2){background:#a5d6a7}.projects-card-member-avatar:nth-child(3){background:#90caf9}.projects-card-member-count{font-size:12px;color:#6b7280;font-weight:500}.projects-card-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:#9ca3af}.projects-card-meta svg{color:#9ca3af;width:12px;height:12px}@media(max-width:640px){.projects-cards{grid-template-columns:1fr;padding:12px;gap:12px}.projects-card-avatar{width:40px;height:40px;font-size:14px}}.component-drawer{width:420px;min-width:420px;background:#fff;border-left:1px solid #e5e7eb;display:flex;flex-direction:column;animation:component-slide-in-right .25s ease;height:100%}@keyframes component-slide-in-right{0%{width:0;min-width:0;opacity:0}to{width:420px;min-width:420px;opacity:1}}.component-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.component-drawer-title{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.component-drawer-close{width:36px;height:36px;border-radius:8px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .15s ease}.component-drawer-close:hover{background:#f1f5f9;color:#1a1a1a}.component-drawer-form{display:flex;flex-direction:column;flex:1;overflow:hidden}.component-drawer-body{flex:1;padding:24px;overflow-y:auto}.component-drawer-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;flex-shrink:0;background:#fafafa}.component-form-group{margin-bottom:20px;position:relative}.component-form-group:last-of-type{margin-bottom:24px}.component-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.component-form-row .component-form-group{margin-bottom:20px}.component-form-group label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:6px}.component-input,.component-select,.component-textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#111;background:#fff;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.component-input:focus,.component-select:focus,.component-textarea:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #0000001a}.component-input::placeholder,.component-textarea::placeholder{color:#9ca3af}.component-select{cursor:pointer}.component-textarea{resize:vertical;min-height:80px}.component-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:10px 12px;border-radius:6px;font-size:13px;margin-bottom:16px}.component-cancel-btn,.component-submit-btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.component-cancel-btn{background:#fff;border:1px solid #d1d5db;color:#374151}.component-cancel-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.component-submit-btn{background:#000;border:1px solid #000;color:#fff}.component-submit-btn:hover:not(:disabled){background:#1a1a1a}.component-submit-btn:disabled,.component-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.component-dropdown-wrapper{position:relative}.component-dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#111;background:#fff;cursor:pointer;transition:all .2s}.component-dropdown-trigger:hover{border-color:#9ca3af}.component-dropdown-trigger.open{border-color:#000;box-shadow:0 0 0 3px #0000001a}.component-dropdown-value{font-weight:500}.component-dropdown-chevron{color:#6b7280;transition:transform .2s}.component-dropdown-trigger.open .component-dropdown-chevron{transform:rotate(180deg)}.component-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 40px #00000026;z-index:1001;padding:6px;animation:dropdownFadeIn .15s ease-out;max-height:280px;overflow-y:auto}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.component-dropdown-item{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:none;background:transparent;border-radius:6px;font-size:14px;color:#374151;cursor:pointer;transition:all .15s;text-align:left}.component-dropdown-item:hover{background:#f3f4f6;color:#111}.component-dropdown-item.selected{background:#f0f0f0;color:#000;font-weight:500}.component-dropdown-item-label{flex:1}.component-dropdown-check{color:#000;flex-shrink:0}.component-dropdown-placeholder{color:#9ca3af;font-weight:400}.component-workspace-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;background:#e8f0fe;color:#2684ff;border-radius:4px;font-size:11px;font-weight:500}.component-repo-not-connected{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;color:#6b7280;font-size:13px}.component-repo-not-connected svg{flex-shrink:0;color:#9ca3af}.component-repo-loading{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;font-size:13px}.component-repo-spinner{width:16px;height:16px;border:2px solid #e5e7eb;border-top-color:#2684ff;border-radius:50%;animation:repoSpin .8s linear infinite}@keyframes repoSpin{to{transform:rotate(360deg)}}.component-repo-trigger{min-height:48px}.component-repo-selected{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.component-repo-icon{flex-shrink:0}.component-repo-selected-info{display:flex;flex-direction:column;min-width:0}.component-repo-selected-name{font-weight:500;color:#111;font-size:14px}.component-repo-selected-slug{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.component-repo-menu{max-height:320px;padding:0;overflow:hidden;display:flex;flex-direction:column}.component-repo-search{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.component-repo-search svg{flex-shrink:0;color:#9ca3af}.component-repo-search input{flex:1;border:none;background:transparent;font-size:14px;color:#111;outline:none}.component-repo-search input::placeholder{color:#9ca3af}.component-repo-list{flex:1;overflow-y:auto;padding:6px}.component-repo-item{gap:10px;padding:10px 12px}.component-repo-item-icon{flex-shrink:0}.component-repo-item-info{display:flex;flex-direction:column;flex:1;min-width:0;text-align:left}.component-repo-item-name{font-weight:500;color:#111;font-size:14px}.component-repo-item-slug{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.component-repo-clear{color:#6b7280;border-bottom:1px solid #e5e7eb;border-radius:0;margin-bottom:4px}.component-repo-clear:hover{color:#dc2626;background:#fef2f2}.component-repo-empty{padding:20px;text-align:center;color:#9ca3af;font-size:13px}.component-techstack-wrapper{display:flex;flex-direction:column;gap:10px}.component-techstack-input-row{display:flex;gap:8px}.component-techstack-input{flex:1}.component-techstack-add-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--primary);color:#000;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s;flex-shrink:0}.component-techstack-add-btn:hover:not(:disabled){background:var(--primary-hover)}.component-techstack-add-btn:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}.component-techstack-tags{display:flex;flex-wrap:wrap;gap:8px}.component-techstack-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--primary-20);color:#000;border-radius:6px;font-size:13px;font-weight:500}.component-techstack-tag-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:transparent;border:none;border-radius:50%;color:#6b7280;cursor:pointer;transition:all .15s}.component-techstack-tag-remove:hover{background:#0000001a;color:#000}.component-custom-fields-section{margin-top:8px;padding-top:16px;border-top:1px dashed #e5e7eb}.component-custom-fields-header{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.project-detail-view{display:flex;height:100%;min-height:500px;background:#fff;border-radius:0;overflow:hidden}.project-detail-view-loading,.project-detail-view-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;width:100%;gap:5px;color:#6b7280;font-size:14px}.project-detail-view-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#f95d03;border-radius:50%;animation:project-detail-view-spin .8s linear infinite}@keyframes project-detail-view-spin{to{transform:rotate(360deg)}}.project-detail-view-back-btn{margin-top:12px;padding:8px 16px;background:#000;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s ease}.project-detail-view-back-btn:hover{background:#222}.pdv-sidebar{width:240px;min-width:240px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;overflow-y:auto}.pdv-sidebar-header{display:flex;align-items:center;gap:10px;padding:12px;border-bottom:1px solid #f1f3f5}.pdv-back-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:#6b7280;flex-shrink:0;transition:all .15s ease}.pdv-back-btn:hover{background:#f3f4f6;color:#374151}.pdv-sidebar-avatar{width:40px;height:40px;border-radius:0;background:transparent;display:flex;align-items:center;justify-content:center;color:#000;flex-shrink:0}.pdv-sidebar-project-info{flex:1;min-width:0}.pdv-sidebar-project-name{font-size:14px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdv-sidebar-project-team{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdv-sidebar-nav{display:flex;flex-direction:column;padding:4px 8px}.pdv-sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:none;background:transparent;border-radius:8px;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.pdv-sidebar-nav-item:hover{background:#f3f4f6}.pdv-sidebar-nav-item.active{background:var(--primary-hover, #fff5eb)}.pdv-sidebar-nav-item.active .pdv-sidebar-nav-icon{color:var(--primary, #f95d03)}.pdv-sidebar-nav-item.active .pdv-sidebar-nav-label{color:var(--primary, #f95d03);font-weight:500}.pdv-sidebar-nav-icon{display:flex;align-items:center;justify-content:center;color:#6b7280;flex-shrink:0}.pdv-sidebar-nav-label{font-size:14px;color:#374151}.pdv-sidebar-nav-nested{padding-left:20px;margin-top:4px}.pdv-sidebar-section{margin-top:4px}.pdv-sidebar-section:first-child{margin-top:0}.pdv-sidebar-section:first-child .pdv-sidebar-header{border-bottom:none}.pdv-sidebar-section-title{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;padding:8px 20px 4px}.pdv-main{flex:1;display:flex;flex-direction:column;overflow-y:auto;background:#fafafa}.pdv-content-header{padding:16px 24px 12px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between}.pdv-content-title{font-size:18px;font-weight:600;color:#111827;margin:0}.pdv-create-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#000;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.pdv-create-btn:hover{background:#222}.pdv-create-btn svg{flex-shrink:0}.pdv-content-body{padding:16px 24px;flex:1}.pdv-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.pdv-card-header{padding:8px;border-bottom:1px solid #f1f3f5;background:#f9fafb}.pdv-card-title{font-size:14px;font-weight:600;color:#111827;margin:0}.pdv-card-body{padding:16px}.pdv-detail-row{display:flex;align-items:flex-start;padding:10px 0;border-bottom:1px solid #f1f3f5}.pdv-detail-row:last-child{border-bottom:none}.pdv-detail-label{width:140px;flex-shrink:0;font-size:13px;color:#6b7280;font-weight:500}.pdv-detail-value{flex:1;font-size:14px;color:#111827}.pdv-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#9ca3af}.pdv-empty-state svg{margin-bottom:16px;opacity:.5}.pdv-empty-state p{font-size:14px;margin:0}.pdv-description-section{max-width:800px}.pdv-description-heading{font-size:14px;font-weight:600;color:#111827;margin:0 0 12px}.pdv-description-display{position:relative}.pdv-description-text{font-size:14px;color:#374151;line-height:1.6;margin:0}.pdv-description-edit-btn{position:absolute;top:0;right:0;padding:4px 12px;background:#f3f4f6;border:none;border-radius:6px;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.pdv-description-edit-btn:hover{background:#e5e7eb;color:#374151}.pdv-description-empty{padding:0}.pdv-description-empty-text{font-size:14px;color:#6b7280;margin:0;line-height:1.6}.pdv-description-link{background:none;border:none;padding:0;color:var(--primary, #0052CC);font-size:14px;cursor:pointer;text-decoration:none;transition:color .15s ease}.pdv-description-link:hover{color:var(--primary-dark, #0747a6);text-decoration:underline}.pdv-description-edit{display:flex;flex-direction:column;gap:12px}.pdv-description-textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;color:#374151;resize:vertical;min-height:100px;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.pdv-description-textarea:focus{outline:none;border-color:var(--primary, #f95d03);box-shadow:0 0 0 3px #f95d031a}.pdv-description-textarea::placeholder{color:#9ca3af}.pdv-description-actions{display:flex;gap:8px}.pdv-description-btn{padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.pdv-description-btn:disabled{opacity:.6;cursor:not-allowed}.pdv-description-btn-save{background:var(--primary, #f95d03);color:#fff}.pdv-description-btn-save:hover:not(:disabled){background:var(--primary-dark, #e05303)}.pdv-description-btn-cancel{background:#f3f4f6;color:#374151}.pdv-description-btn-cancel:hover:not(:disabled){background:#e5e7eb}.pdv-activity-feed{margin-top:32px}.pdv-activity-heading{font-size:14px;font-weight:600;color:#111827;margin:0 0 16px}.pdv-activity-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}.pdv-activity-filters,.pdv-activity-actions{display:flex;align-items:center;gap:8px}.pdv-activity-filter-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s ease}.pdv-activity-filter-btn:hover{background:#f9fafb;border-color:#9ca3af}.pdv-activity-filter-btn.active{background:#e8f4fd;border-color:#0052cc;color:#0052cc}.pdv-activity-filter-btn svg{flex-shrink:0}.pdv-event-dropdown-wrapper{position:relative}.pdv-event-dropdown{position:absolute;top:100%;left:0;margin-top:4px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 16px #0000001f;min-width:160px;z-index:100;padding:4px 0;overflow:hidden}.pdv-event-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;border:none;background:transparent;font-size:14px;color:#374151;cursor:pointer;text-align:left;transition:background .15s ease}.pdv-event-dropdown-item:hover{background:#f3f4f6}.pdv-event-dropdown-item.active{background:var(--primary-hover, #fff5eb);color:var(--primary, #f95d03)}.pdv-event-dropdown-item svg{color:var(--primary, #f95d03);flex-shrink:0}.pdv-time-dropdown-wrapper{position:relative}.pdv-time-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 16px #0000001f;min-width:180px;z-index:100;padding:4px 0;overflow:hidden}.pdv-time-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;border:none;background:transparent;font-size:14px;color:#374151;cursor:pointer;text-align:left;transition:background .15s ease}.pdv-time-dropdown-item:hover{background:#f3f4f6}.pdv-time-dropdown-item.active{background:var(--primary-hover, #fff5eb);color:var(--primary, #f95d03)}.pdv-time-dropdown-item svg{color:#9ca3af;flex-shrink:0}.pdv-time-dropdown-item:hover svg{color:#6b7280}.pdv-activity-zoom{font-size:13px;color:#374151;font-weight:500;padding:0 8px}.pdv-activity-zoom-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#6b7280;cursor:pointer;transition:all .15s ease}.pdv-activity-zoom-btn:hover{background:#f9fafb;border-color:#9ca3af;color:#374151}.pdv-activity-timeline{display:flex;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;min-height:120px}.pdv-activity-sidebar{width:200px;min-width:200px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column}.pdv-activity-sidebar-header{padding:12px 16px;font-size:13px;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb;background:#f9fafb;height:57px;box-sizing:border-box;display:flex;align-items:center}.pdv-activity-create-btn{display:flex;align-items:center;gap:8px;padding:12px 16px;background:transparent;border:none;font-size:13px;color:#6b7280;cursor:pointer;transition:all .15s ease;text-align:left}.pdv-activity-create-btn:hover{background:#f3f4f6;color:#374151}.pdv-activity-create-btn svg{flex-shrink:0}.pdv-activity-chart{flex:1;display:flex;flex-direction:column;background:#fff;overflow-x:auto;overflow-y:hidden;min-width:0}.pdv-activity-time-header-wrapper{display:flex;flex-direction:column;border-bottom:1px solid #e5e7eb;background:#f9fafb;min-width:max-content;position:sticky;top:0;z-index:5}.pdv-activity-date-row{display:flex;border-bottom:1px solid #e5e7eb;height:28px;box-sizing:border-box}.pdv-activity-date-cell{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#374151;background:#f3f4f6;border-right:1px solid #e5e7eb;padding:0 8px;box-sizing:border-box}.pdv-activity-date-cell:last-child{border-right:none}.pdv-activity-time-row{display:flex;height:28px;box-sizing:border-box}.pdv-activity-time-row span{display:flex;align-items:center;justify-content:center;font-size:11px;color:#6b7280;box-sizing:border-box}.pdv-activity-time-header{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid #e5e7eb;background:#f9fafb;min-width:max-content;height:41px;box-sizing:border-box}.pdv-activity-time-header span{flex:1;min-width:80px;text-align:center;font-size:12px;color:#6b7280}.pdv-activity-date-label{font-weight:600;color:#374151!important}.pdv-activity-chart-body{flex:1;position:relative;min-height:60px;display:flex;flex-direction:column;min-width:max-content}.pdv-activity-grid-lines{display:flex;position:absolute;inset:0;pointer-events:none;z-index:0}.pdv-activity-grid-line{border-right:1px solid #f1f3f5;box-sizing:border-box}.pdv-activity-grid-line:last-child{border-right:none}.pdv-activity-now-line{position:absolute;top:0;bottom:0;width:2px;background:var(--primary, #f95d03)}.pdv-activity-now-line:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--primary, #f95d03)}.pdv-activity-row{position:relative;height:44px;min-height:44px;border-bottom:1px solid #f1f3f5;box-sizing:border-box;flex-shrink:0;z-index:1}.pdv-activity-row:last-child{border-bottom:none}.pdv-activity-event{position:absolute;top:50%;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;z-index:10}.pdv-activity-event:hover{transform:translate(-50%,-50%) scale(1.2);box-shadow:0 2px 8px #00000026;z-index:20}.pdv-activity-event-clickable:hover{box-shadow:0 2px 8px #00000040}.pdv-activity-event-clickable:active{transform:translate(-50%,-50%) scale(1.1)}.pdv-activity-event-commit{background:var(--primary-50);color:#fff}.pdv-activity-event-pull-request{background:#22c55e;color:#fff}.pdv-activity-event-pull-request.pdv-status-open{background:#22c55e}.pdv-activity-event-pull-request.pdv-status-merged{background:#8b5cf6}.pdv-activity-event-pull-request.pdv-status-declined{background:#ef4444}.pdv-activity-event-build{background:#f59e0b;color:#fff}.pdv-activity-event-build.pdv-status-successful{background:#22c55e}.pdv-activity-event-build.pdv-status-failed{background:#ef4444}.pdv-activity-event-build.pdv-status-in_progress,.pdv-activity-event-build.pdv-status-pending{background:#f59e0b}.pdv-activity-event-deployment{background:#0ea5e9;color:#fff}.pdv-activity-event-deployment.pdv-status-completed{background:#22c55e}.pdv-activity-event-deployment.pdv-status-in_progress{background:#f59e0b}.pdv-activity-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px 20px;color:#6b7280;font-size:13px}.pdv-spinner-small{width:18px;height:18px;border:2px solid #e5e7eb;border-top-color:var(--primary, #f95d03);border-radius:50%;animation:pdv-spin .8s linear infinite}.pdv-activity-empty{display:flex;align-items:center;justify-content:center;padding:40px 20px;color:#9ca3af;font-size:13px;position:absolute;inset:0}.pdv-component-item{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid #f1f3f5;transition:background .15s ease;height:44px;box-sizing:border-box}.pdv-component-item:hover{background:#f9fafb}.pdv-component-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0}.pdv-component-icon-github{background:#24292e;color:#fff}.pdv-component-icon-gitlab{background:#fc6d26;color:#fff}.pdv-component-icon-bitbucket{background:#0052cc;color:#fff}.pdv-component-name{font-size:13px;color:#374151;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdv-component-empty{padding:16px;font-size:13px;color:#9ca3af;text-align:center}.pdv-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.pdv-modal{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.pdv-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.pdv-modal-title{font-size:18px;font-weight:600;color:#111827;margin:0}.pdv-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .15s ease}.pdv-modal-close:hover{background:#f3f4f6;color:#374151}.pdv-modal-body{padding:24px;overflow-y:auto;flex:1}.pdv-form-group{margin-bottom:20px}.pdv-form-group:last-child{margin-bottom:0}.pdv-form-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.pdv-form-input{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#374151;background:#fff;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.pdv-form-input:focus{outline:none;border-color:var(--primary, #f95d03);box-shadow:0 0 0 3px #f95d031a}.pdv-form-input::placeholder{color:#9ca3af}.pdv-form-hint{font-size:12px;color:#6b7280;margin:8px 0 0}.pdv-form-select{width:100%;padding:10px 40px 10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#374151;background:#fff;box-sizing:border-box;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.pdv-form-select:focus{outline:none;border-color:var(--primary, #f95d03);box-shadow:0 0 0 3px #f95d031a}.pdv-form-select option{padding:10px}.pdv-repo-loading-inline{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;color:#6b7280;font-size:14px}.pdv-repo-dropdown-wrapper{position:relative}.pdv-repo-dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;background:#fff;cursor:pointer;transition:all .15s ease;text-align:left}.pdv-repo-dropdown-trigger:hover{border-color:#9ca3af}.pdv-repo-dropdown-trigger.open{border-color:var(--primary, #f95d03);box-shadow:0 0 0 3px #f95d031a}.pdv-repo-dropdown-placeholder{color:#9ca3af;font-size:14px}.pdv-repo-dropdown-selected{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.pdv-repo-dropdown-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#0052cc;color:#fff;border-radius:6px;flex-shrink:0}.pdv-repo-dropdown-selected-info{display:flex;flex-direction:column;gap:1px;min-width:0}.pdv-repo-dropdown-selected-name{font-size:14px;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdv-repo-dropdown-selected-slug{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdv-repo-dropdown-chevron{color:#6b7280;flex-shrink:0;transition:transform .2s ease}.pdv-repo-dropdown-trigger.open .pdv-repo-dropdown-chevron{transform:rotate(180deg)}.pdv-repo-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 40px #00000026;z-index:100;overflow:hidden;animation:pdv-dropdown-fade-in .15s ease}@keyframes pdv-dropdown-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.pdv-repo-dropdown-search{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.pdv-repo-dropdown-search svg{color:#9ca3af;flex-shrink:0}.pdv-repo-dropdown-search input{flex:1;border:none;background:transparent;font-size:14px;color:#374151;outline:none}.pdv-repo-dropdown-search input::placeholder{color:#9ca3af}.pdv-repo-dropdown-list{max-height:280px;overflow-y:auto}.pdv-repo-dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:none;border-bottom:1px solid #f1f3f5;background:#fff;cursor:pointer;text-align:left;transition:background .15s ease}.pdv-repo-dropdown-item:last-child{border-bottom:none}.pdv-repo-dropdown-item:hover{background:#f9fafb}.pdv-repo-dropdown-item.selected{background:var(--primary-hover, #fff5eb)}.pdv-repo-dropdown-item-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#0052cc;color:#fff;border-radius:6px;flex-shrink:0}.pdv-repo-dropdown-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pdv-repo-dropdown-item-name{font-size:14px;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdv-repo-dropdown-item-slug{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdv-repo-dropdown-item-check{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--primary, #f95d03);color:#fff;border-radius:50%;flex-shrink:0}.pdv-repo-dropdown-empty{padding:24px;text-align:center;color:#6b7280;font-size:14px}.pdv-workspace-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;background:#0052cc;color:#fff;font-size:11px;font-weight:500;border-radius:4px}.pdv-workspace-badge svg{opacity:.8}.pdv-repo-search{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;background:#fff;margin-bottom:12px}.pdv-repo-search svg{color:#9ca3af;flex-shrink:0}.pdv-repo-search-input{flex:1;border:none;background:transparent;font-size:14px;color:#374151;outline:none}.pdv-repo-search-input::placeholder{color:#9ca3af}.pdv-repo-search:focus-within{border-color:var(--primary, #f95d03);box-shadow:0 0 0 3px #f95d031a}.pdv-repo-list{border:1px solid #e5e7eb;border-radius:8px;max-height:280px;overflow-y:auto}.pdv-repo-loading,.pdv-repo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:#6b7280;font-size:14px;text-align:center}.pdv-repo-spinner{width:24px;height:24px;border:2px solid #e5e7eb;border-top-color:#0052cc;border-radius:50%;animation:pdv-repo-spin .8s linear infinite}@keyframes pdv-repo-spin{to{transform:rotate(360deg)}}.pdv-repo-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:none;border-bottom:1px solid #f1f3f5;background:#fff;cursor:pointer;text-align:left;transition:background .15s ease}.pdv-repo-item:last-child{border-bottom:none}.pdv-repo-item:hover{background:#f9fafb}.pdv-repo-item.selected{background:var(--primary-hover, #fff5eb)}.pdv-repo-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#0052cc;color:#fff;border-radius:6px;flex-shrink:0}.pdv-repo-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pdv-repo-name{font-size:14px;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdv-repo-slug{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdv-repo-check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--primary, #f95d03);color:#fff;border-radius:50%;flex-shrink:0}.pdv-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb}.pdv-modal-btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.pdv-modal-btn:disabled{opacity:.6;cursor:not-allowed}.pdv-modal-btn-cancel{background:#fff;color:#374151;border:1px solid #d1d5db}.pdv-modal-btn-cancel:hover:not(:disabled){background:#f3f4f6}.pdv-modal-btn-create{background:var(--primary, #f95d03);color:#fff}.pdv-modal-btn-create:hover:not(:disabled){background:var(--primary-dark, #e05303)}@media(max-width:768px){.project-detail-view{flex-direction:column}.pdv-sidebar{width:100%;min-width:100%;border-right:none;border-bottom:1px solid #e5e7eb}.pdv-sidebar-nav{flex-direction:row;flex-wrap:wrap;gap:4px}.pdv-sidebar-nav-item{flex:0 0 auto;padding:8px 12px}.pdv-sidebar-section{margin-top:0}.pdv-sidebar-section-title{padding:8px 16px}.pdv-content-header,.pdv-content-body{padding:16px 20px}.pdv-detail-row{flex-direction:column;gap:4px}.pdv-detail-label{width:auto}}.pdv-components-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.pdv-component-card{display:flex;gap:16px;padding:20px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;transition:all .2s ease}.pdv-component-card:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000f}.pdv-component-card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:10px;flex-shrink:0;color:#6b7280}.pdv-component-card-content{flex:1;min-width:0}.pdv-component-card-name{margin:0 0 4px;font-size:15px;font-weight:600;color:#111}.pdv-component-card-type{display:inline-block;padding:2px 8px;background:#e5e7eb;color:#374151;border-radius:4px;font-size:11px;font-weight:500;text-transform:capitalize}.pdv-components-table-wrapper{overflow-x:auto;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.pdv-components-table{width:100%;border-collapse:collapse;font-size:14px}.pdv-components-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.pdv-components-table th{padding:12px 16px;text-align:left;font-weight:600;color:#374151;font-size:13px;white-space:nowrap}.pdv-components-table tbody tr{border-bottom:1px solid #f1f3f5;transition:background .15s}.pdv-components-table tbody tr:last-child{border-bottom:none}.pdv-components-table tbody tr:hover{background:#f9fafb}.pdv-components-table td{padding:14px 16px;color:#374151;vertical-align:middle}.pdv-table-name-cell{display:flex;align-items:center;gap:12px}.pdv-table-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:8px;flex-shrink:0}.pdv-table-name{font-weight:600;color:#111}.pdv-table-type-badge{display:inline-block;padding:4px 10px;background:#e5e7eb;color:#374151;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.pdv-table-repo-link{display:inline-flex;align-items:center;gap:6px;color:#2684ff;text-decoration:none;font-weight:500;transition:color .2s}.pdv-table-repo-link:hover{color:#0052cc;text-decoration:underline}.pdv-table-no-repo{color:#9ca3af}.pdv-table-desc{color:#6b7280;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.pdv-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6b7280;font-size:14px;gap:12px}.pdv-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#000;border-radius:50%;animation:pdv-spin .8s linear infinite}@keyframes pdv-spin{to{transform:rotate(360deg)}}.pdv-event-tooltip-overlay{position:fixed;inset:0;z-index:1000;background:transparent}.pdv-event-tooltip{position:fixed;transform:translate(-50%,calc(-100% - 16px));background:#1f2937;border-radius:12px;box-shadow:0 10px 40px #0006,0 0 0 1px #ffffff1a;padding:16px;min-width:280px;max-width:380px;z-index:1001;animation:pdv-tooltip-fade-in .2s ease}@keyframes pdv-tooltip-fade-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 8px))}to{opacity:1;transform:translate(-50%,calc(-100% - 16px))}}.pdv-event-tooltip-arrow{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #1f2937;filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}.pdv-event-tooltip-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.pdv-event-tooltip-type{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;text-transform:capitalize}.pdv-event-tooltip-type-commit{background:#fff7ed;color:#ea580c}.pdv-event-tooltip-type-pull-request{background:#dcfce7;color:#16a34a}.pdv-event-tooltip-type-build{background:#fef3c7;color:#d97706}.pdv-event-tooltip-type-deployment{background:#e0f2fe;color:#0284c7}.pdv-event-tooltip-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase}.pdv-event-tooltip-status-merged{background:#f3e8ff;color:#7c3aed}.pdv-event-tooltip-status-open{background:#dcfce7;color:#16a34a}.pdv-event-tooltip-status-declined{background:#fee2e2;color:#dc2626}.pdv-event-tooltip-status-successful{background:#dcfce7;color:#16a34a}.pdv-event-tooltip-status-failed{background:#fee2e2;color:#dc2626}.pdv-event-tooltip-status-in_progress,.pdv-event-tooltip-status-pending{background:#fef3c7;color:#d97706}.pdv-event-tooltip-status-completed{background:#dcfce7;color:#16a34a}.pdv-event-tooltip-title{font-size:14px;font-weight:600;color:#f9fafb;line-height:1.4;margin-bottom:12px;word-break:break-word}.pdv-event-tooltip-meta{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid #374151}.pdv-event-tooltip-meta-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#d1d5db}.pdv-event-tooltip-meta-item svg{flex-shrink:0;color:#9ca3af}.pdv-event-tooltip-meta-item a{color:#60a5fa;text-decoration:none}.pdv-event-tooltip-meta-item a:hover{text-decoration:underline}.pdv-event-tooltip-meta-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdv-event-tooltip-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 14px;background:#0052cc;color:#fff;border-radius:6px;font-size:13px;font-weight:500;text-decoration:none;transition:background .2s}.pdv-event-tooltip-link:hover{background:#0747a6}.pdv-event-tooltip-link svg{flex-shrink:0}.members-page{width:100%}.members-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.members-stat-card{background:#fff;border-radius:12px;padding:20px;border:1px solid #e8e8e8;box-shadow:0 2px 8px #0000000a;display:flex;align-items:flex-start;gap:16px;position:relative;overflow:hidden}.members-stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.members-stat-icon-members{background:#dbeafe;color:#1e40af}.members-stat-icon-teams{background:#fef3c7;color:#92400e}.members-stat-icon-complete{background:#d1fae5;color:#065f46}.members-stat-icon svg{width:24px;height:24px}.members-stat-content{display:flex;flex-direction:column;gap:4px}.members-stat-value{font-size:28px;font-weight:700;color:#1f2937;line-height:1}.members-stat-label{font-size:13px;color:#6b7280;font-weight:500}.members-stat-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:#e5e7eb}.members-stat-progress-bar{height:100%;background:#10b981;border-radius:0 2px 2px 0;transition:width .3s ease}@media(max-width:900px){.members-stats{grid-template-columns:1fr}}@media(max-width:600px){.members-stat-card{padding:16px}.members-stat-value{font-size:24px}.members-stat-icon{width:40px;height:40px}.members-stat-icon svg{width:20px;height:20px}}.members-container{width:100%;background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e8e8e8;box-shadow:0 2px 8px #0000000a}.members-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#fafafa;gap:16px;flex-wrap:wrap}.members-header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.members-header-actions{display:flex;gap:8px;margin-left:auto}.members-workspace-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#374151;background:#fff;cursor:pointer;min-width:200px}.members-workspace-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.members-search{display:flex;align-items:center;gap:8px;flex:1;min-width:200px;max-width:400px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;transition:border-color .2s,box-shadow .2s}.members-search:focus-within{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;background:#fff}.members-search svg{color:#9ca3af;flex-shrink:0}.members-search-input{flex:1;border:none;background:transparent;font-size:14px;color:#374151;outline:none}.members-search-input::placeholder{color:#9ca3af}.members-search-clear{width:20px;height:20px;border:none;background:#e5e7eb;border-radius:50%;color:#6b7280;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}.members-search-clear:hover{background:#d1d5db;color:#374151}.members-filter-select{padding:8px 32px 8px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#374151;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;cursor:pointer;appearance:none;min-width:120px}.members-filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.members-clear-filters{padding:6px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;color:#6b7280;background:#fff;cursor:pointer;transition:all .2s;white-space:nowrap}.members-clear-filters:hover{border-color:#d1d5db;background:#f9fafb;color:#374151}@media(max-width:768px){.members-header{flex-direction:column;align-items:stretch}.members-search{max-width:none}.members-header-right{justify-content:flex-start}.members-filter-select{flex:1;min-width:0}}.members-table-wrapper{overflow-x:auto}.members-table{width:100%;border-collapse:collapse;font-size:14px}.members-th{padding:14px 16px;text-align:left;font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#000;background:var(--primary-hover);border-bottom:1px solid var(--primary-hover);border-right:1px solid rgba(0,0,0,.1);white-space:nowrap;position:sticky;top:0}.members-th:last-child{border-right:none}.members-th-content{display:flex;align-items:center;gap:8px}.members-th-content svg{color:#0009}.members-th:hover{background:var(--primary);color:#000}.members-th-name,.members-th-manager{min-width:220px}.members-th-role{width:140px}.members-th-project{min-width:200px}.members-row{transition:background-color .15s ease}.members-row:hover{background-color:#f9fafb}.members-td{padding:14px 16px;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;vertical-align:middle}.members-td:last-child{border-right:none}.members-name-cell{display:flex;align-items:center;gap:12px}.members-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:#000!important;color:#fff;font-size:13px;font-weight:600;flex-shrink:0}.members-avatar-img{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;background-color:#fcae81}.members-avatar-small{width:28px;height:28px;font-size:11px}.members-name-text{color:#1f2937;font-weight:500;font-size:14px;text-decoration:none}.members-name-text:hover{color:#3b82f6;text-decoration:underline}.members-manager-cell{display:flex;align-items:center;gap:10px}.members-manager-name{color:#374151;font-size:14px}.members-role-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:500;border:1px solid;white-space:nowrap}.members-project-badges{display:flex;flex-wrap:wrap;gap:6px}.members-project-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap}.members-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:#6b7280;font-size:14px}.members-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:members-spin .8s linear infinite}@keyframes members-spin{to{transform:rotate(360deg)}}.members-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:#9ca3af;font-size:14px;text-align:center}.members-empty svg{opacity:.5}.members-access-denied{display:flex;align-items:center;justify-content:center;padding:60px 20px;min-height:400px}.members-access-denied .access-denied-card{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:380px;padding:40px;background:linear-gradient(135deg,#fafafa,#f5f5f5);border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 4px 20px #0000000d}.members-access-denied .access-denied-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;background:linear-gradient(135deg,#fee2e2,#fecaca);border-radius:50%;margin-bottom:20px;color:#dc2626;box-shadow:0 4px 12px #dc262626}.members-access-denied .access-denied-title{font-size:20px;font-weight:600;color:#1f2937;margin:0 0 8px}.members-access-denied .access-denied-message{font-size:15px;color:#6b7280;margin:0;line-height:1.5}.members-access-denied .access-denied-divider{width:60px;height:1px;background:linear-gradient(90deg,transparent,#d1d5db,transparent);margin:24px 0}.members-access-denied .access-denied-help{font-size:13px;color:#6b7280;margin:0;line-height:1.6}.members-access-denied .access-denied-help strong{color:#4b5563;font-weight:500}.members-sync-btn{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.members-sync-btn:hover:not(:disabled){background:#2563eb}.members-sync-btn:disabled{background:#9ca3af;cursor:not-allowed}.members-source-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:capitalize}.members-th-source{width:100px}.members-th-team{min-width:150px}.members-th-actions{width:120px;text-align:center}.members-empty-field{color:#9ca3af;font-style:italic}.members-text-field{color:#374151;font-size:14px}.members-edit-input{width:100%;padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;color:#374151}.members-edit-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.members-edit-select{width:100%;padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;color:#374151;background:#fff;cursor:pointer}.members-edit-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.members-action-buttons{display:flex;gap:6px;justify-content:center}.members-btn{padding:5px 12px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.members-btn-edit{background:#f3f4f6;color:#374151}.members-btn-edit:hover{background:#e5e7eb}.members-btn-save{background:#10b981;color:#fff}.members-btn-save:hover{background:#059669}.members-btn-cancel{background:#f3f4f6;color:#374151}.members-btn-cancel:hover{background:#e5e7eb}.members-td-actions{text-align:center}.members-manager-dropdown{position:relative;width:100%}.members-manager-input-wrapper{position:relative;display:flex;align-items:center}.members-manager-input-wrapper .members-edit-input{padding-right:28px}.members-manager-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:18px;height:18px;border:none;background:#e5e7eb;border-radius:50%;color:#6b7280;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.members-manager-clear:hover{background:#d1d5db;color:#374151}.members-manager-options{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:4px;box-shadow:0 4px 12px #0000001a;max-height:240px;overflow-y:auto;z-index:100;margin-top:4px}.members-manager-option{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;transition:background-color .15s ease}.members-manager-option:hover{background:#f3f4f6}.members-manager-option-name{font-size:13px;color:#1f2937;font-weight:500}.members-manager-option-nickname{font-size:12px;color:#9ca3af}.members-manager-no-results{padding:12px;text-align:center;color:#9ca3af;font-size:13px}.members-role-dropdown{position:relative;width:100%}.members-role-input-wrapper{position:relative;display:flex;align-items:center}.members-role-input-wrapper .members-edit-input{padding-right:28px}.members-role-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:18px;height:18px;border:none;background:#e5e7eb;border-radius:50%;color:#6b7280;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.members-role-clear:hover{background:#d1d5db;color:#374151}.members-role-options{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:4px;box-shadow:0 4px 12px #0000001a;max-height:240px;overflow-y:auto;z-index:100;margin-top:4px}.members-role-option{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;transition:background-color .15s ease}.members-role-option:hover{background:#f3f4f6}.members-role-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.members-role-option-name{font-size:13px;color:#374151}.members-role-no-results{padding:12px;text-align:center;color:#9ca3af;font-size:13px}.members-team-dropdown{position:relative;width:100%}.members-team-input-wrapper{position:relative;display:flex;align-items:center}.members-team-input-wrapper .members-edit-input{padding-right:28px}.members-team-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:18px;height:18px;border:none;background:#e5e7eb;border-radius:50%;color:#6b7280;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.members-team-clear:hover{background:#d1d5db;color:#374151}.members-team-options{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:4px;box-shadow:0 4px 12px #0000001a;max-height:240px;overflow-y:auto;z-index:100;margin-top:4px}.members-team-option{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;transition:background-color .15s ease}.members-team-option:hover{background:#f3f4f6}.members-team-option-name{font-size:13px;color:#374151}.members-team-no-results{padding:12px;text-align:center;color:#9ca3af;font-size:13px}.members-filter-dropdown{position:relative}.members-filter-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;min-width:130px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;font-size:13px;color:#374151;transition:border-color .2s,box-shadow .2s}.members-filter-trigger:hover{border-color:#d1d5db}.members-filter-trigger.active{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.members-filter-trigger-content{display:flex;align-items:center;gap:8px;overflow:hidden}.members-filter-trigger-content span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.members-filter-trigger svg{flex-shrink:0;color:#9ca3af;transition:transform .2s}.members-filter-trigger.active svg{transform:rotate(180deg)}.members-filter-options{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:200;overflow:hidden}.members-filter-search-wrapper{padding:8px;border-bottom:1px solid #e5e7eb}.members-filter-search-input{width:100%;padding:8px 10px;border:1px solid #e5e7eb;border-radius:4px;font-size:13px;color:#374151;outline:none}.members-filter-search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.members-filter-search-input::placeholder{color:#9ca3af}.members-filter-options-list{max-height:240px;overflow-y:auto}.members-filter-option{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;font-size:13px;color:#374151;transition:background-color .15s}.members-filter-option:hover{background:#f3f4f6}.members-filter-option.selected{background:#eff6ff;color:#1d4ed8;font-weight:500}.members-filter-option-all{border-bottom:1px solid #e5e7eb;font-weight:500;color:#6b7280}.members-filter-role-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.members-filter-no-results{padding:16px 12px;text-align:center;color:#9ca3af;font-size:13px}@media(max-width:768px){.members-th,.members-td{padding:10px 12px}.members-avatar{width:32px;height:32px;font-size:12px}.members-avatar-img{width:32px;height:32px}.members-name-text{font-size:13px}.members-filter-dropdown{flex:1;min-width:0}.members-filter-trigger{width:100%}.members-filter-options{right:0;left:auto}}.members-pagination{display:flex;align-items:center;justify-content:center;padding:16px;gap:8px;border-top:1px solid #e5e7eb}.members-page-numbers{display:flex;align-items:center;gap:4px}.members-page-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.members-page-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.members-page-btn:disabled{opacity:.5;cursor:not-allowed}.members-page-nav{min-width:100px}.members-page-num{min-width:36px;padding:8px 10px}.members-page-num.active{background:#000;border-color:#000;color:#fff}.members-page-ellipsis{padding:0 8px;color:#9ca3af;font-size:14px}.members-page-info{text-align:center;padding:8px 16px 16px;color:#6b7280;font-size:13px}@media(max-width:768px){.members-pagination{flex-direction:column;gap:12px}.members-page-nav{min-width:80px;font-size:12px;padding:6px 10px}.members-page-num{min-width:32px;padding:6px 8px;font-size:12px}}.roles-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.roles-modal{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000026}.roles-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.roles-modal-header h2{font-size:18px;font-weight:600;color:#111827;margin:0}.roles-modal-close{background:none;border:none;padding:4px;cursor:pointer;color:#6b7280;border-radius:4px;display:flex;align-items:center;justify-content:center}.roles-modal-close:hover{background:#f3f4f6;color:#111827}.roles-modal-content{padding:24px;overflow-y:auto}.roles-error{background:#fef2f2;color:#991b1b;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.roles-loading{text-align:center;color:#6b7280;padding:40px 0}.roles-add-form{display:flex;flex-direction:column;gap:12px;padding-bottom:20px;border-bottom:1px solid #e5e7eb;margin-bottom:20px}.roles-input{padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.roles-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.roles-color-picker{display:flex;gap:8px;flex-wrap:wrap}.roles-color-picker-inline{flex:1}.roles-color-option{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .2s,border-color .2s}.roles-color-option:hover{transform:scale(1.1)}.roles-color-option.selected{border-color:#111827;box-shadow:0 0 0 2px #fff,0 0 0 4px currentColor}.roles-color-option-small{width:20px;height:20px}.roles-add-btn{padding:10px 16px;background:#000;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.roles-add-btn:hover:not(:disabled){background:#222}.roles-add-btn:disabled{background:#9ca3af;cursor:not-allowed}.roles-list{display:flex;flex-direction:column;gap:12px}.roles-empty{text-align:center;color:#6b7280;padding:32px 0;font-size:14px}.roles-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f9fafb;border-radius:8px;flex-wrap:wrap}.roles-badge{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;border:1px solid}.roles-edit-input{flex:1;min-width:120px;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;outline:none}.roles-edit-input:focus{border-color:#3b82f6}.roles-item-actions{display:flex;gap:8px;margin-left:auto}.roles-edit-btn,.roles-delete-btn,.roles-save-btn,.roles-cancel-btn{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.roles-edit-btn{background:#fff;border:1px solid #d1d5db;color:#374151}.roles-edit-btn:hover{background:#f3f4f6;border-color:#9ca3af}.roles-delete-btn{background:#fff;border:1px solid #fecaca;color:#dc2626}.roles-delete-btn:hover{background:#fef2f2;border-color:#f87171}.roles-save-btn{background:#000;border:none;color:#fff}.roles-save-btn:hover:not(:disabled){background:#222}.roles-cancel-btn{background:#fff;border:1px solid #d1d5db;color:#374151}.roles-cancel-btn:hover{background:#f3f4f6}.project-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.project-modal{background:#fff;border-radius:12px;width:100%;max-width:480px;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000026}.project-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.project-modal-header h2{font-size:18px;font-weight:600;color:#111827;margin:0}.project-modal-close{background:none;border:none;padding:4px;cursor:pointer;color:#6b7280;border-radius:4px;display:flex;align-items:center;justify-content:center}.project-modal-close:hover{background:#f3f4f6;color:#111827}.project-modal-content{padding:24px}.project-error{background:#fef2f2;color:#991b1b;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.project-form-group{margin-bottom:20px}.project-form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.project-input{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s;box-sizing:border-box}.project-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.project-textarea{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s;box-sizing:border-box;resize:vertical;font-family:inherit}.project-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.project-modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:8px}.project-cancel-btn{padding:10px 20px;background:#fff;border:1px solid #d1d5db;color:#374151;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.project-cancel-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.project-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.project-submit-btn{padding:10px 20px;background:#000;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.project-submit-btn:hover:not(:disabled){background:#222}.project-submit-btn:disabled{background:#9ca3af;cursor:not-allowed}.components-page{width:100%}.components-container{width:100%;background:#fff;border-radius:12px;overflow:visible;border:1px solid var(--line);display:flex;flex-direction:column}.components-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);background:#fff;gap:16px;flex-wrap:wrap}.components-header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.components-search{display:flex;align-items:center;gap:8px;flex:1;min-width:200px;max-width:400px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 12px;transition:border-color .2s,box-shadow .2s}.components-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px #f95d031a;background:#fff}.components-search svg{color:var(--text-secondary);flex-shrink:0}.components-search-input{flex:1;border:none;background:transparent;font-size:14px;color:var(--text);outline:none}.components-search-input::placeholder{color:var(--text-secondary)}.components-search-clear{width:20px;height:20px;border:none;background:var(--line);border-radius:50%;color:var(--text-secondary);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}.components-search-clear:hover{background:var(--text-secondary);color:#fff}.components-total-count{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg);border:1px solid var(--line);border-radius:8px}.components-total-count .count-number{font-size:15px;font-weight:600;color:var(--primary)}.components-total-count .count-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.components-dropdown{position:relative}.components-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;min-width:130px;border:1px solid var(--line);border-radius:8px;font-size:13px;color:var(--text);background:#fff;cursor:pointer;transition:all .2s ease}.components-dropdown-trigger:hover{border-color:var(--text-secondary);background:var(--bg)}.components-dropdown-trigger:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #f95d031a}.components-dropdown-trigger svg{flex-shrink:0;color:var(--text-secondary);transition:transform .2s ease}.components-dropdown:has(.components-dropdown-menu) .components-dropdown-trigger svg{transform:rotate(180deg)}.components-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:100%;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 16px #0000001a;z-index:100;overflow:hidden;animation:dropdownFadeIn .15s ease}.components-dropdown-item{display:block;width:100%;padding:10px 12px;border:none;background:transparent;font-size:13px;color:var(--text);text-align:left;cursor:pointer;transition:background-color .15s ease}.components-dropdown-item:hover{background:var(--bg)}.components-dropdown-item.active{background:var(--primary-10, rgba(249, 93, 3, .08));color:var(--primary);font-weight:500}.components-dropdown-item:not(:last-child){border-bottom:1px solid var(--line)}.components-table-wrapper{overflow-x:auto;overflow-y:auto;flex:1}.components-table-wrapper::-webkit-scrollbar{width:6px;height:6px}.components-table-wrapper::-webkit-scrollbar-track{background:transparent}.components-table-wrapper::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.components-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.components-table{width:100%;border-collapse:collapse;font-size:14px}.components-th{padding:12px 16px;text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);background:var(--bg);border-bottom:1px solid var(--line);white-space:nowrap;position:sticky;top:0;z-index:20}.components-th-content{display:flex;align-items:center;gap:8px}.components-th-content svg{color:var(--text-secondary);opacity:.7}.components-th-name{min-width:260px;position:sticky;left:0;z-index:25;background:#f9fafb;box-shadow:2px 0 4px #0000000d}.components-th-name:after{content:"";position:absolute;top:0;right:0;bottom:0;width:1px;background:var(--line)}.components-th-type{width:100px;background:var(--bg)}.components-th-repo{min-width:160px}.components-th-team,.components-th-owner{min-width:120px}.components-th-status{width:100px}.components-th-techstack,.components-th-custom{min-width:140px}.components-th-actions{width:60px;text-align:center}.components-row{transition:background-color .15s ease}.components-row:nth-child(2n){background-color:var(--bg)}.components-row:hover{background-color:var(--primary-10, rgba(249, 93, 3, .04))}.components-td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--text);position:relative}.components-td:first-child{position:sticky;left:0;background:#fff;z-index:10;min-width:260px;box-shadow:2px 0 4px #0000000d}.components-row:nth-child(2n) .components-td:first-child{background:#f9fafb}.components-row:hover .components-td:first-child{background:#fef3eb}.components-td:nth-child(2){background:#fff}.components-row:nth-child(2n) .components-td:nth-child(2){background:var(--bg)}.components-row:hover .components-td:nth-child(2){background:var(--primary-10, rgba(249, 93, 3, .04))}.components-td:first-child:after{content:"";position:absolute;top:0;right:0;bottom:0;width:1px;background:var(--line)}.components-name-cell{display:flex;align-items:center;gap:12px}.components-avatar{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#e5e7eb;color:#4b5563;font-size:11px;font-weight:600;flex-shrink:0;letter-spacing:.5px}.components-name-info{display:flex;flex-direction:column;gap:2px}.components-name-text{color:var(--text);font-weight:600;font-size:14px}.components-description-text{color:var(--text-secondary);font-size:12px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default;line-height:1.4}.components-repo-link{display:inline-flex;align-items:center;gap:6px;color:var(--text);text-decoration:none;font-size:13px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.components-repo-link:hover{color:var(--primary)}.components-repo-link svg{flex-shrink:0;color:var(--primary);opacity:.8}.components-tooltip{position:fixed;width:300px;background:#fff;border-radius:10px;box-shadow:0 8px 30px #0000001f,0 0 0 1px var(--line);padding:14px;z-index:9999;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease,visibility .2s;pointer-events:none}.components-tooltip.visible{opacity:1;visibility:visible;transform:translateY(0)}.components-tooltip:before{content:"";position:absolute;top:-6px;left:20px;width:12px;height:12px;background:#fff;border-radius:2px;transform:rotate(45deg);box-shadow:-1px -1px 2px #0000000a}.components-tooltip-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.components-tooltip-avatar{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;font-size:13px;font-weight:600;flex-shrink:0}.components-tooltip-title{display:flex;flex-direction:column;gap:4px}.components-tooltip-name{font-weight:600;font-size:14px;color:var(--text)}.components-tooltip-type{display:inline-flex;align-items:center;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:500;width:fit-content}.components-tooltip-description{font-size:13px;line-height:1.5;color:var(--text-secondary);margin:0}.components-tooltip-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.components-tooltip-meta-item{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary)}.components-tooltip-meta-item svg{color:var(--text-secondary);opacity:.7}.components-type-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;border:1px solid transparent}.components-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:16px;font-size:12px;font-weight:500;white-space:nowrap}.components-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.components-empty-field{color:var(--text-secondary);font-size:13px;opacity:.5}.components-text-field{color:var(--text);font-size:13px}.components-edit-input{width:100%;padding:6px 10px;border:1px solid var(--line);border-radius:6px;font-size:13px;color:var(--text)}.components-edit-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #f95d031a}.components-edit-select{width:100%;padding:6px 10px;border:1px solid var(--line);border-radius:6px;font-size:13px;color:var(--text);background:#fff;cursor:pointer}.components-edit-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #f95d031a}.components-action-buttons{display:flex;gap:6px;justify-content:center}.components-btn{padding:6px 12px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.components-btn-icon{width:30px;height:30px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:6px}.components-btn-edit{background:var(--bg);color:var(--text-secondary)}.components-btn-edit:hover:not(:disabled){background:var(--line);color:var(--text)}.components-btn-delete{background:#fef2f2;color:#dc2626}.components-btn-delete:hover:not(:disabled){background:#fee2e2}.components-btn-icon:disabled{opacity:.4;cursor:not-allowed}.components-btn-save{background:#10b981;color:#fff}.components-btn-save:hover{background:#059669}.components-btn-cancel{background:var(--bg);color:var(--text)}.components-btn-cancel:hover{background:var(--line)}.components-td-actions{text-align:center}.components-td-techstack{max-width:160px}.components-td-custom{max-width:140px}.components-custom-link{color:var(--text);text-decoration:none;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:130px}.components-custom-link:hover{color:var(--primary)}.components-techstack-list{display:flex;flex-wrap:wrap;gap:4px}.components-techstack-tag{display:inline-flex;align-items:center;padding:3px 8px;background:var(--primary);color:#fff;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap}.components-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:var(--text-secondary);font-size:14px}.components-spinner{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:components-spin .8s linear infinite}@keyframes components-spin{to{transform:rotate(360deg)}}.components-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:12px;color:var(--text-secondary);font-size:14px;text-align:center}.components-empty svg{opacity:.4}.components-create-btn{padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease;margin-top:8px}.components-create-btn:hover{opacity:.9}.components-sync-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .2s ease;white-space:nowrap}.components-sync-btn:hover:not(:disabled){opacity:.9}.components-sync-btn:disabled{opacity:.6;cursor:not-allowed}.components-sync-btn svg{flex-shrink:0}.components-sync-btn svg.spinning{animation:spin 1s linear infinite}.components-sync-result{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;margin:0;font-size:13px;border-bottom:1px solid var(--line)}.components-sync-result.success{background:#ecfdf5;color:#065f46}.components-sync-result.error{background:#fef2f2;color:#991b1b}.components-sync-result.info{background:#fffbeb;color:#92400e}.sync-details{display:flex;gap:12px}.sync-stat{font-weight:500}.components-pagination{display:flex;align-items:center;justify-content:center;padding:16px 20px;gap:8px;border-top:1px solid var(--line);background:var(--bg)}.components-page-numbers{display:flex;align-items:center;gap:4px}.components-page-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:13px;font-weight:500;color:var(--text);cursor:pointer;transition:all .2s}.components-page-btn:hover:not(:disabled){background:var(--bg);border-color:var(--text-secondary)}.components-page-btn:disabled{opacity:.4;cursor:not-allowed}.components-page-nav{min-width:90px}.components-page-num{min-width:36px;padding:8px 10px}.components-page-num.active{background:var(--primary);border-color:var(--primary);color:#fff}.components-page-ellipsis{padding:0 8px;color:var(--text-secondary);font-size:14px}.components-page-info{text-align:center;padding:12px 20px;color:var(--text-secondary);font-size:13px;background:var(--bg);border-top:1px solid var(--line)}@media(max-width:768px){.components-header{flex-direction:column;align-items:stretch;padding:12px 16px}.components-search{max-width:none}.components-header-right{justify-content:flex-start}.components-filter-select{flex:1;min-width:0}.components-th,.components-td{padding:10px 12px}.components-pagination{flex-direction:column;gap:12px}.components-page-nav{min-width:80px;font-size:12px;padding:6px 10px}.components-page-num{min-width:32px;padding:6px 8px;font-size:12px}}.field-config-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fieldConfigFadeIn .2s ease}@keyframes fieldConfigFadeIn{0%{opacity:0}to{opacity:1}}.field-config-modal{background:#fff;border-radius:12px;width:90%;max-width:680px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003;animation:fieldConfigSlideIn .2s ease}@keyframes fieldConfigSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.field-config-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.field-config-modal-header h2{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 4px}.field-config-subtitle{font-size:13px;color:#6b7280;margin:0}.field-config-modal-close{width:36px;height:36px;border-radius:8px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .15s ease;flex-shrink:0}.field-config-modal-close:hover{background:#f1f5f9;color:#1a1a1a}.field-config-modal-content{flex:1;padding:24px;overflow-y:auto}.field-config-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:10px 12px;border-radius:8px;font-size:13px;margin-bottom:16px}.field-config-loading{text-align:center;padding:40px;color:#6b7280;font-size:14px}.field-config-add-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:20px;margin-bottom:24px}.field-config-add-form h3{font-size:14px;font-weight:600;color:#374151;margin:0 0 16px}.field-config-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.field-config-form-group{display:flex;flex-direction:column}.field-config-form-group label{font-size:12px;font-weight:500;color:#6b7280;margin-bottom:6px}.field-config-input,.field-config-select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#111;background:#fff;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.field-config-input:focus,.field-config-select:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #0000001a}.field-config-input::placeholder{color:#9ca3af}.field-config-checkbox-group{justify-content:flex-end}.field-config-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:#374151}.field-config-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.field-config-add-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:#000;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:4px}.field-config-add-btn:hover:not(:disabled){background:#1a1a1a}.field-config-add-btn:disabled{opacity:.5;cursor:not-allowed}.field-config-list{margin-top:8px}.field-config-list h3{font-size:14px;font-weight:600;color:#374151;margin:0 0 12px}.field-config-empty{text-align:center;padding:40px 20px;color:#9ca3af}.field-config-empty svg{margin-bottom:12px}.field-config-empty p{font-size:14px;color:#6b7280;margin:0 0 4px}.field-config-empty span{font-size:13px;color:#9ca3af}.field-config-item{border:1px solid #e5e7eb;border-radius:8px;padding:14px 16px;margin-bottom:8px;background:#fff;transition:border-color .15s,box-shadow .15s}.field-config-item:hover{border-color:#d1d5db;box-shadow:0 2px 4px #0000000a}.field-config-item:last-child{margin-bottom:0}.field-config-item-view{display:flex;align-items:center;justify-content:space-between}.field-config-item-info{flex:1;min-width:0}.field-config-item-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.field-config-item-label{font-weight:500;color:#1a1a1a;font-size:14px}.field-config-required-badge{font-size:10px;font-weight:500;padding:2px 6px;background:#fef3c7;color:#92400e;border-radius:4px;text-transform:uppercase}.field-config-item-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:#6b7280}.field-config-item-name{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:11px;background:#f3f4f6;padding:2px 6px;border-radius:4px;color:#374151}.field-config-item-type{color:#6b7280}.field-config-item-options{color:#9ca3af}.field-config-item-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.field-config-edit-btn,.field-config-delete-btn{width:32px;height:32px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;transition:all .15s}.field-config-edit-btn:hover{background:#f3f4f6;color:#1a1a1a;border-color:#d1d5db}.field-config-delete-btn:hover{background:#fef2f2;color:#dc2626;border-color:#fecaca}.field-config-item-edit{padding:4px 0}.field-config-item-edit .field-config-form-row{margin-bottom:12px}.field-config-item-edit .field-config-form-group{margin-bottom:0}.field-config-item-edit .field-config-item-actions{margin-top:12px;justify-content:flex-end}.field-config-save-btn,.field-config-cancel-btn{padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.field-config-save-btn{background:#000;border:1px solid #000;color:#fff}.field-config-save-btn:hover:not(:disabled){background:#1a1a1a}.field-config-cancel-btn{background:#fff;border:1px solid #d1d5db;color:#374151}.field-config-cancel-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.field-config-save-btn:disabled,.field-config-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.artifacts-container{width:100%;background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column}.artifacts-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);background:#fff;gap:16px}.artifacts-search{display:flex;align-items:center;gap:8px;flex:1;max-width:400px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 12px;transition:border-color .2s,box-shadow .2s}.artifacts-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px #f95d031a;background:#fff}.artifacts-search svg{color:var(--text-secondary);flex-shrink:0}.artifacts-search-input{flex:1;border:none;background:transparent;font-size:14px;color:var(--text);outline:none}.artifacts-search-input::placeholder{color:var(--text-secondary)}.artifacts-search-clear{width:20px;height:20px;border:none;background:var(--line);border-radius:50%;color:var(--text-secondary);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}.artifacts-search-clear:hover{background:var(--text-secondary);color:#fff}.artifacts-updating{font-size:12px;color:var(--text-secondary);white-space:nowrap}.artifacts-table-wrapper{overflow-x:auto;overflow-y:auto;flex:1}.artifacts-table-wrapper::-webkit-scrollbar{width:6px;height:6px}.artifacts-table-wrapper::-webkit-scrollbar-track{background:transparent}.artifacts-table-wrapper::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.artifacts-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.artifacts-table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed;background:#fff}.artifacts-table th{padding:12px 14px;text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:#475569;background:#f8fafc;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;white-space:nowrap;position:sticky;top:0;z-index:15}.artifacts-table th:last-child{border-right:none}.artifacts-table .th-slno,.artifacts-table .td-slno{width:60px;min-width:60px;text-align:center}.artifacts-table .td-slno{color:var(--text-secondary);font-weight:500;font-size:13px}.artifacts-table .th-type,.artifacts-table .td-type{width:100px;min-width:100px}.type-badge{display:inline-block;padding:2px 8px;font-size:12px;font-weight:500;color:#374151;background:#f3f4f6;border-radius:4px}.type-badge.type-empty{color:#9ca3af;background:transparent}.artifacts-table .th-commit,.artifacts-table .td-commit{width:100px;min-width:100px}.artifacts-table .th-build,.artifacts-table .td-build,.artifacts-table .th-date,.artifacts-table .td-date{width:90px;min-width:90px}.artifacts-table tbody tr{transition:background-color .15s ease;background:#fff}.artifacts-table tbody tr:nth-child(2n){background:#fcfcfd}.artifacts-table tbody tr:hover{background-color:#fff7ed}.artifacts-table td{padding:12px 14px;border-bottom:1px solid #eef2f7;border-right:1px solid #eef2f7;vertical-align:middle;text-align:left;color:var(--text)}.artifacts-table td:last-child{border-right:none}.artifacts-table .td-slno,.artifacts-table .td-commit,.artifacts-table .td-build,.artifacts-table .td-date,.artifacts-table .td-type{text-align:center}.artifact-component{display:flex;align-items:center;justify-content:center;gap:10px}.component-name{font-weight:600;color:var(--text);font-size:14px}.version-wrapper{display:inline-flex;align-items:center;justify-content:center;gap:6px;position:relative;max-width:220px}.version-copy-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;opacity:0;transition:all .15s ease;color:#6b7280}.version-wrapper:hover .version-copy-btn{opacity:1}.version-copy-btn:hover{background:#e5e7eb;color:#374151;border-color:#d1d5db}.version-copy-btn.copied{opacity:1;background:#dcfce7;border-color:#86efac;color:#16a34a}.version-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;background:#fff7ed;color:#c2410c;border-radius:10px;font-size:12px;font-weight:600;font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;letter-spacing:.15px;border:1px solid #fed7aa;white-space:normal;word-break:break-all;line-height:1.2;max-width:220px;text-align:center}.branch-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 12px;background:#f3f4f6;color:var(--text);border-radius:6px;font-size:12px;font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;border:1px solid var(--line)}.commit-hash{display:inline-flex;align-items:center;padding:5px 12px;background:#f9fafb;color:var(--text-secondary);border-radius:6px;font-size:12px;font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;border:1px solid var(--line)}.build-number{display:inline-flex;align-items:center;justify-content:center;padding:5px 12px;min-width:70px;background:#fdfdfd;color:#2e2e2e;border-radius:4px;font-size:12px;font-weight:600;font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace}.artifact-date{color:var(--text-secondary);font-size:13px}.na-text{color:var(--text-secondary);opacity:.5}a.version-badge.clickable,a.branch-badge.clickable,a.commit-hash.clickable,a.build-number.clickable{text-decoration:none;cursor:pointer;transition:all .15s ease}a.version-badge.clickable:hover{background:#fde9d6;border-color:var(--primary, #f95d03)}a.branch-badge.clickable:hover{background:#e5e7eb;border-color:var(--text-secondary)}a.commit-hash.clickable:hover{background:#f3f4f6;border-color:var(--text-secondary)}a.build-number.clickable:hover{background:#bfdbfe;border-color:#60a5fa}.artifacts-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--bg);border-top:1px solid var(--line)}.total-count{font-size:13px;color:var(--text-secondary)}.artifacts-pagination{display:flex;align-items:center;gap:4px}.pagination-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 6px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.pagination-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af;color:#111827}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn.pagination-num.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;width:24px;font-size:13px;color:var(--text-secondary)}.artifacts-empty,.artifacts-not-connected,.artifacts-loading,.artifacts-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;color:var(--text-secondary);background:#fff}.artifacts-empty svg,.artifacts-not-connected svg{color:#d1d5db;margin-bottom:16px;opacity:.6}.artifacts-empty p,.artifacts-not-connected h3{margin:0 0 8px;font-size:16px;font-weight:500;color:var(--text)}.artifacts-empty span,.artifacts-not-connected p{font-size:14px;color:var(--text-secondary);margin:0}.artifacts-loading{gap:16px}.artifacts-loading p{margin:0;font-size:14px}.artifacts-error{gap:16px}.artifacts-error p{margin:0;color:#dc2626}.artifacts-error button{padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s ease}.artifacts-error button:hover{opacity:.9}.spinner{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@media(max-width:768px){.artifacts-table td,.artifacts-table th{padding:10px 12px}.version-badge{padding:4px 8px;font-size:10px;max-width:180px}.branch-badge,.commit-hash,.build-number{padding:4px 8px;font-size:11px}}.artifacts-type-filter{position:relative}.type-filter-trigger{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:14px;color:var(--text);cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.type-filter-trigger:hover{border-color:var(--primary);background:var(--bg)}.type-filter-trigger.open{border-color:var(--primary);box-shadow:0 0 0 2px #f95d031a;background:#fff}.type-filter-trigger svg:first-child{color:var(--text-secondary);flex-shrink:0}.type-filter-trigger svg:last-child{color:var(--text-secondary);transition:transform .2s ease;flex-shrink:0}.type-filter-trigger.open svg:last-child{transform:rotate(180deg)}.type-filter-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 12px #00000014;z-index:1000;min-width:160px;max-height:300px;overflow-y:auto}.type-filter-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;border:none;background:transparent;font-size:14px;color:var(--text);cursor:pointer;text-align:left;transition:background .15s ease}.type-filter-option:first-child{border-bottom:1px solid var(--line)}.type-filter-option:hover{background:var(--bg)}.type-filter-option.selected{background:#f95d030d;color:var(--primary);font-weight:500}.type-filter-option svg{flex-shrink:0;color:var(--primary)}.rp-container{display:flex;width:100%;height:100%;background:#f9fafb}.rp-container-no-sidebar{flex-direction:column}.rp-pipeline-dropdown{position:relative}.rp-pipeline-dropdown-trigger{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:15px;font-weight:600;color:#111827;cursor:pointer;transition:all .15s ease;min-width:200px}.rp-pipeline-dropdown-trigger:hover{border-color:#d1d5db;background:#f9fafb}.rp-pipeline-dropdown-label{flex:1;text-align:left}.rp-pipeline-dropdown-menu{position:absolute;top:100%;left:0;margin-top:4px;min-width:280px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 40px #0000001f;z-index:1000;overflow:hidden}.rp-pipeline-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f3f4f6;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.rp-pipeline-dropdown-add{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .15s ease}.rp-pipeline-dropdown-add:hover{background:var(--primary, #f95d03);border-color:var(--primary, #f95d03);color:#fff}.rp-pipeline-dropdown-empty{padding:24px 16px;text-align:center;font-size:13px;color:#9ca3af}.rp-pipeline-dropdown-list{max-height:300px;overflow-y:auto}.rp-pipeline-dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;transition:background .15s ease}.rp-pipeline-dropdown-item:hover{background:#f9fafb}.rp-pipeline-dropdown-item.active{background:#fff7ed}.rp-pipeline-dropdown-item-info{display:flex;flex-direction:column;gap:2px}.rp-pipeline-dropdown-item-name{font-size:14px;font-weight:500;color:#374151}.rp-pipeline-dropdown-item-count{font-size:12px;color:#9ca3af}.rp-pipeline-dropdown-item-delete{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;opacity:0;transition:all .15s ease}.rp-pipeline-dropdown-item:hover .rp-pipeline-dropdown-item-delete{opacity:1}.rp-pipeline-dropdown-item-delete:hover{background:#fef2f2;color:#dc2626}.rp-pipeline-description{margin:0 0 0 16px;font-size:13px;color:#6b7280}.rp-canvas-header-left{display:flex;align-items:center;gap:8px}.rp-sidebar{width:260px;min-width:260px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column}.rp-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #e5e7eb}.rp-sidebar-header h3{margin:0;font-size:14px;font-weight:600;color:#374151}.rp-sidebar-add-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .15s ease}.rp-sidebar-add-btn:hover{background:var(--primary, #f95d03);border-color:var(--primary, #f95d03);color:#fff}.rp-sidebar-list{flex:1;overflow-y:auto;padding:8px}.rp-sidebar-empty{padding:24px 16px;text-align:center}.rp-sidebar-empty p{margin:0;font-size:13px;color:#9ca3af}.rp-sidebar-item{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:8px;cursor:pointer;transition:all .15s ease}.rp-sidebar-item:hover{background:#f9fafb}.rp-sidebar-item.active{background:#fff7ed}.rp-sidebar-item-info{flex:1;min-width:0}.rp-sidebar-item-name{display:block;font-size:14px;font-weight:500;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-sidebar-item-count{display:block;font-size:12px;color:#9ca3af;margin-top:2px}.rp-sidebar-item-delete{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;opacity:0;transition:all .15s ease}.rp-sidebar-item:hover .rp-sidebar-item-delete{opacity:1}.rp-sidebar-item-delete:hover{background:#fef2f2;color:#dc2626}.rp-canvas-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.rp-canvas-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#fff;border-bottom:1px solid #e5e7eb}.rp-canvas-header-info h2{margin:0 0 4px;font-size:18px;font-weight:600;color:#111827}.rp-canvas-header-info p{margin:0;font-size:13px;color:#6b7280}.rp-canvas-header-actions{display:flex;align-items:center;gap:8px}.rp-canvas-add-step-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary, #f95d03);border:none;border-radius:6px;font-size:13px;font-weight:500;color:#fff;cursor:pointer;transition:background .15s ease}.rp-canvas-add-step-btn:hover{background:#e85502}.rp-canvas{flex:1;position:relative;overflow:auto;background:linear-gradient(90deg,#e5e7eb 1px,transparent 1px),linear-gradient(#e5e7eb 1px,transparent 1px);background-size:20px 20px;background-color:#f6fbfd;min-height:500px}.rp-canvas-content{position:relative;width:100%;height:100%;min-width:2000px;min-height:1500px}.rp-canvas-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.rp-canvas-svg path,.rp-canvas-svg line{pointer-events:stroke}.rp-canvas-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px}.rp-canvas-empty-icon{color:#d1d5db;margin-bottom:16px}.rp-canvas-empty h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#111827}.rp-canvas-empty p{margin:0 0 20px;font-size:14px;color:#6b7280}.rp-canvas-empty-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;background:var(--primary, #f95d03);border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:background .15s ease}.rp-canvas-empty-btn:hover{background:#e85502}.rp-canvas-no-selection{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}.rp-canvas-no-selection-icon{color:#d1d5db;margin-bottom:16px}.rp-canvas-no-selection h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#111827}.rp-canvas-no-selection p{margin:0 0 20px;font-size:14px;color:#6b7280}.rp-canvas-no-selection-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;background:var(--primary, #f95d03);border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:background .15s ease}.rp-canvas-no-selection-btn:hover{background:#e85502}.rp-step-card{position:absolute;background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:grab;-webkit-user-select:none;user-select:none;transition:box-shadow .15s ease,border-color .15s ease;overflow:hidden}.rp-step-card:hover{box-shadow:0 4px 12px #0000001a}.rp-step-card.dragging{cursor:grabbing;box-shadow:0 8px 24px #00000026;z-index:100}.rp-step-card.connecting{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.rp-step-card-environment{border-left:4px solid #3b82f6}.rp-step-card-stage-group{border-left:4px solid var(--primary, #f95d03)}.rp-step-card-header{display:flex;align-items:flex-start;gap:10px;padding:12px}.rp-step-card-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0}.rp-step-card-environment .rp-step-card-icon{background:#eff6ff;color:#3b82f6}.rp-step-card-stage-group .rp-step-card-icon{background:#fff7ed;color:var(--primary, #f95d03)}.rp-step-card-info{flex:1;min-width:0}.rp-step-card-name{display:block;font-size:14px;font-weight:600;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-step-card-type{display:block;font-size:11px;color:#9ca3af;margin-top:2px}.rp-step-card-delete{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;opacity:0;transition:all .15s ease}.rp-step-card:hover .rp-step-card-delete{opacity:1}.rp-step-card-delete:hover{background:#fef2f2;color:#dc2626}.rp-step-card-stages{padding:0 12px 12px;display:flex;flex-direction:column;gap:4px}.rp-step-card-stage{display:flex;align-items:center;gap:6px;font-size:11px}.rp-step-card-stage-dot{width:6px;height:6px;border-radius:50%;background:#d1d5db}.rp-step-card-stage-dot.status-success{background:#22c55e}.rp-step-card-stage-dot.status-failed{background:#dc2626}.rp-step-card-stage-dot.status-running{background:#3b82f6}.rp-step-card-stage-dot.status-pending{background:#d1d5db}.rp-step-card-stage-name{color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-step-card-stage-more{font-size:10px;color:#9ca3af;padding-left:12px}.rp-env-card{position:absolute;background:#fff;border-radius:12px;cursor:grab;-webkit-user-select:none;user-select:none;box-shadow:0 1px 3px #0000001a;transition:box-shadow .15s ease,transform .15s ease;overflow:visible}.rp-env-card:hover{box-shadow:0 4px 12px #00000026}.rp-env-card.dragging{cursor:grabbing;box-shadow:0 8px 24px #0003;z-index:100}.rp-env-card.connecting{box-shadow:0 0 0 3px #3b82f64d}.rp-env-card-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--primary, #f95d03)}.rp-env-card-type-badge{display:inline-block;padding:2px 6px;background:#fff3;border-radius:3px;font-size:9px;font-weight:600;color:#fff;letter-spacing:.5px}.rp-env-card-trigger{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:all .15s ease}.rp-env-card-trigger:hover{background:#ffffff4d}.rp-env-card-trigger svg{margin-left:1px}.rp-env-card-actions{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .15s ease}.rp-env-card:hover .rp-env-card-actions{opacity:1}.rp-env-card-edit,.rp-env-card-delete{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;color:#ffffffb3;cursor:pointer;transition:all .15s ease}.rp-env-card-edit:hover,.rp-env-card-delete:hover{background:#fff3;color:#fff}.rp-env-card-body{padding:10px;cursor:pointer;transition:background .15s ease}.rp-env-card-body:hover{background:#f9fafb}.rp-env-card-name{font-size:13px;font-weight:600;color:#111827;margin-bottom:2px}.rp-env-card-created{font-size:10px;color:#9ca3af;margin-bottom:8px}.rp-env-card-stats{display:flex;gap:12px;font-size:11px;color:#6b7280;margin-bottom:8px}.rp-env-card-stats span{display:flex;align-items:center;gap:3px}.rp-env-card-url{padding-top:8px;border-top:1px solid #f3f4f6;font-size:10px}.rp-env-card-url a{color:#3b82f6;text-decoration:none;word-break:break-all}.rp-env-card-url a:hover{text-decoration:underline}.rp-env-card-no-url{color:#9ca3af;font-style:italic}.rp-env-card .rp-step-card-connect{position:absolute;top:50%;transform:translateY(-50%);width:16px;height:16px;background:#fff;border:2px solid #d1d5db;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:crosshair;opacity:0;transition:all .15s ease}.rp-env-card .rp-step-card-connect-left{left:-8px}.rp-env-card .rp-step-card-connect-right{right:-8px}.rp-env-card:hover .rp-step-card-connect{opacity:1}.rp-env-card .rp-step-card-connect:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}.rp-sg-card{position:absolute;background:#fff;border-radius:8px;cursor:grab;-webkit-user-select:none;user-select:none;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;transition:box-shadow .15s ease,transform .15s ease;overflow:visible;border:1px solid #e5e7eb}.rp-sg-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#d1d5db}.rp-sg-card.dragging{cursor:grabbing;box-shadow:0 8px 24px #00000026;z-index:100}.rp-sg-card.connecting{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.rp-sg-card-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:linear-gradient(135deg,var(--primary, #f95d03) 0%,#e54d00 100%)}.rp-sg-card-type-badge{padding:2px 6px;background:#fff3;border-radius:3px;font-size:9px;font-weight:600;color:#fff;letter-spacing:.5px}.rp-sg-card-actions{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .15s ease;flex:1}.rp-sg-card:hover .rp-sg-card-actions{opacity:1}.rp-sg-card-status{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;background:#fff;box-shadow:0 2px 8px #00000026}.rp-sg-card-status.status-pending{color:#d1d5db}.rp-sg-card-status.status-running{color:#3b82f6}.rp-sg-card-status.status-success{color:#22c55e}.rp-sg-card-status.status-failed{color:#ef4444}.rp-sg-status-spinner{stroke-dasharray:60;stroke-dashoffset:0;animation:rp-sg-status-spin 1s linear infinite;transform-origin:center}@keyframes rp-sg-status-spin{0%{stroke-dashoffset:60;transform:rotate(0)}to{stroke-dashoffset:60;transform:rotate(360deg)}}.rp-sg-card-trigger{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:all .15s ease}.rp-sg-card-trigger:hover{background:#ffffff4d}.rp-sg-card-trigger:disabled{cursor:not-allowed;opacity:.6}.rp-sg-card-trigger.running{background:#3b82f64d}.rp-sg-card-trigger svg{margin-left:1px}.rp-sg-card-edit{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:all .15s ease}.rp-sg-card-edit:hover{background:#ffffff4d}.rp-sg-card-title-row{padding:8px 12px;border-bottom:1px solid #f3f4f6}.rp-sg-card-title{font-size:13px;font-weight:600;color:#111827;letter-spacing:-.01em}.rp-sg-card-delete{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;color:#fff9;cursor:pointer;transition:all .15s ease}.rp-sg-card-delete:hover{background:#fff3;color:#fff}.rp-sg-card-stages{padding:6px 0}.rp-sg-stage-row{display:flex;align-items:center;gap:10px;padding:8px 12px;transition:background .15s ease;border-bottom:1px solid #f3f4f6}.rp-sg-stage-row:last-child{border-bottom:none}.rp-sg-stage-row:hover{background:#f9fafb}.rp-sg-stage-number{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:4px;font-size:10px;font-weight:600;color:#6b7280;flex-shrink:0}.rp-sg-stage-status{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rp-sg-stage-status.status-pending{color:#d1d5db}.rp-sg-stage-status.status-running{color:#3b82f6}.rp-sg-stage-status.status-success{color:#22c55e}.rp-sg-stage-status.status-failed{color:#ef4444}.rp-sg-stage-status.status-skipped{color:#9ca3af}.rp-spinner-circle{stroke-dasharray:60;stroke-dashoffset:0;animation:rp-spinner 1s linear infinite;transform-origin:center}@keyframes rp-spinner{0%{stroke-dashoffset:60;transform:rotate(0)}to{stroke-dashoffset:60;transform:rotate(360deg)}}.rp-sg-stage-name{flex:1;font-size:12px;font-weight:500;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-sg-card-run-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 24px);margin:12px;padding:10px 16px;background:var(--secondary, #1c1c1c);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.rp-sg-card-run-btn:hover{background:#2d2d2d;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.rp-sg-card-run-btn:active{transform:translateY(0)}.rp-sg-card-run-btn svg{flex-shrink:0}.rp-sg-card-run-btn:disabled{cursor:not-allowed;opacity:.7}.rp-sg-card-run-btn.running{background:#3b82f6}.rp-sg-card-run-btn.running:hover{background:#2563eb}.rp-spinner-icon{animation:rp-spinner .8s linear infinite!important}.rp-sg-stage-play{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;opacity:0;transition:all .15s ease;flex-shrink:0}.rp-sg-stage-row:hover .rp-sg-stage-play{opacity:1}.rp-sg-stage-play:hover{background:var(--primary, #f95d03);color:#fff}.rp-sg-empty{padding:20px 16px;text-align:center;font-size:12px;color:#9ca3af}.rp-approval-card{position:absolute;background:#fff;border-radius:12px;cursor:grab;-webkit-user-select:none;user-select:none;box-shadow:0 2px 8px #10b98126;transition:box-shadow .15s ease,transform .15s ease;overflow:visible;border:1px solid #d1fae5}.rp-approval-card:hover{box-shadow:0 6px 20px #10b98140;border-color:#a7f3d0}.rp-approval-card.dragging{cursor:grabbing;box-shadow:0 12px 32px #10b9814d;z-index:100}.rp-approval-card.connecting{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.rp-approval-card-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:linear-gradient(135deg,#10b981,#059669);border-radius:11px 11px 0 0}.rp-approval-card-type-badge{padding:2px 6px;background:#ffffff40;border-radius:3px;font-size:8px;font-weight:700;color:#fff;letter-spacing:.8px}.rp-approval-card-actions{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .15s ease}.rp-approval-card:hover .rp-approval-card-actions{opacity:1}.rp-approval-card-edit,.rp-approval-card-delete{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;color:#ffffffb3;cursor:pointer;transition:all .15s ease}.rp-approval-card-edit:hover,.rp-approval-card-delete:hover{background:#fff3;color:#fff}.rp-approval-card-body{padding:12px;display:flex;flex-direction:column;align-items:center;text-align:center}.rp-approval-card-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-radius:50%;color:#10b981;margin-bottom:8px}.rp-approval-card-name{font-size:12px;font-weight:600;color:#111827;margin-bottom:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-approval-card-info{font-size:10px;color:#6b7280}.rp-approval-card .rp-step-card-connect{position:absolute;top:50%;transform:translateY(-50%);width:16px;height:16px;background:#fff;border:2px solid #a7f3d0;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:crosshair;opacity:0;transition:all .15s ease}.rp-approval-card .rp-step-card-connect-left{left:-8px}.rp-approval-card .rp-step-card-connect-right{right:-8px}.rp-approval-card:hover .rp-step-card-connect{opacity:1}.rp-approval-card .rp-step-card-connect:hover{background:#10b981;border-color:#10b981;color:#fff}.rp-approval-card:hover .rp-card-add-btn{opacity:1}.rp-step-option-icon-approval{background:#ecfdf5;color:#10b981}.rp-approvers-section{display:flex;flex-direction:column;gap:12px}.rp-approvers-list{display:flex;flex-wrap:wrap;gap:8px}.rp-approver-chip{display:flex;align-items:center;gap:6px;padding:6px 8px 6px 12px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;font-size:13px}.rp-approver-chip-name{color:#374151;font-weight:500}.rp-approver-chip-remove{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:50%;color:#9ca3af;cursor:pointer;transition:all .15s ease}.rp-approver-chip-remove:hover{background:#fef2f2;color:#dc2626}.rp-approver-dropdown-container{position:relative}.rp-add-approver-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px dashed #d1d5db;border-radius:8px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.rp-add-approver-btn:hover{background:#f9fafb;border-color:#10b981;color:#10b981}.rp-approver-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 40px #0000001f;z-index:100;max-height:300px;overflow:hidden;display:flex;flex-direction:column}.rp-approver-search{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.rp-approver-search svg{color:#9ca3af;flex-shrink:0}.rp-approver-search input{flex:1;border:none;background:transparent;font-size:14px;color:#111827;outline:none}.rp-approver-search input::placeholder{color:#9ca3af}.rp-approver-search-clear{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:50%;color:#9ca3af;cursor:pointer;transition:all .15s ease}.rp-approver-search-clear:hover{background:#e5e7eb;color:#6b7280}.rp-approver-dropdown-list{flex:1;overflow-y:auto;max-height:240px}.rp-approver-dropdown-empty{padding:20px;text-align:center;font-size:13px;color:#9ca3af}.rp-approver-dropdown-item{display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;transition:background .15s ease}.rp-approver-dropdown-item:hover{background:#f9fafb}.rp-approver-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.rp-approver-avatar-placeholder{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;font-size:14px;font-weight:600;color:#fff}.rp-approver-info{display:flex;flex-direction:column;gap:2px}.rp-approver-name{font-size:14px;font-weight:500;color:#111827}.rp-approver-email{font-size:12px;color:#6b7280}.rp-sg-card .rp-step-card-connect{position:absolute;top:50%;transform:translateY(-50%);width:16px;height:16px;background:#fff;border:2px solid #d1d5db;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:crosshair;opacity:0;transition:all .15s ease}.rp-sg-card .rp-step-card-connect-left{left:-8px}.rp-sg-card .rp-step-card-connect-right{right:-8px}.rp-sg-card:hover .rp-step-card-connect{opacity:1}.rp-sg-card .rp-step-card-connect:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}.rp-step-card-connect{position:absolute;top:50%;transform:translateY(-50%);width:16px;height:16px;background:#fff;border:2px solid #d1d5db;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:crosshair;opacity:0;transition:all .15s ease}.rp-step-card-connect-left{left:-8px}.rp-step-card-connect-right{right:-8px}.rp-step-card:hover .rp-step-card-connect{opacity:1}.rp-step-card-connect:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}.rp-card-add-btn{position:absolute;bottom:-32px;left:50%;transform:translate(-50%);width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #e5e7eb;border-radius:50%;color:#9ca3af;cursor:pointer;opacity:0;transition:all .15s ease;z-index:10}.rp-env-card:hover .rp-card-add-btn,.rp-sg-card:hover .rp-card-add-btn{opacity:1}.rp-card-add-btn:hover{background:var(--primary, #f95d03);border-color:var(--primary, #f95d03);color:#fff;transform:translate(-50%) scale(1.1)}.rp-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:16px}.rp-loading .spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.rp-loading p{margin:0;font-size:14px;color:#6b7280}.rp-error{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:16px}.rp-error p{margin:0;color:#dc2626}.rp-error button{padding:10px 20px;background:#1c1c1c;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease}.rp-error button:hover{background:#333}.rp-no-permission{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:60px 24px;text-align:center;color:var(--text-secondary, #6b7280);background:#fff}.rp-no-permission svg{color:#d1d5db;margin-bottom:16px;opacity:.6}.rp-no-permission h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text, #1c1c1c)}.rp-no-permission p{margin:0 0 4px;font-size:14px;color:var(--text-secondary, #6b7280)}.rp-no-permission span{font-size:13px;color:var(--text-secondary, #9ca3af)}.rp-textarea{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;transition:border-color .15s ease}.rp-textarea:focus{outline:none;border-color:var(--primary, #f95d03)}.rp-add-step-modal{max-width:500px}.rp-step-type-tabs{display:flex;gap:8px;margin-bottom:16px}.rp-step-type-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.rp-step-type-tab:hover{background:#f3f4f6;border-color:#d1d5db}.rp-step-type-tab.active{background:#fff;border-color:var(--primary, #f95d03);color:var(--primary, #f95d03)}.rp-step-options{max-height:300px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px}.rp-step-options-empty{padding:32px 20px;text-align:center}.rp-step-options-empty p{margin:0 0 4px;font-size:14px;color:#6b7280}.rp-step-options-empty span{font-size:12px;color:#9ca3af}.rp-step-option{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background .15s ease}.rp-step-option:last-child{border-bottom:none}.rp-step-option:hover{background:#f9fafb}.rp-step-option-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:8px;color:#6b7280}.rp-step-option-icon-env{background:#eff6ff;color:#3b82f6}.rp-step-option-icon-sg{background:#fff7ed;color:var(--primary, #f95d03)}.rp-step-option-info{flex:1;display:flex;flex-direction:column;gap:2px}.rp-step-option-name{font-size:14px;font-weight:500;color:#374151}.rp-step-option-type{font-size:12px;color:#9ca3af}.rp-step-option-add-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.rp-step-option:hover .rp-step-option-add-btn{background:var(--primary, #f95d03);border-color:var(--primary, #f95d03);color:#fff}.rp-create-new-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;margin-bottom:12px;background:linear-gradient(135deg,var(--primary, #f95d03) 0%,#e54d00 100%);border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .15s ease}.rp-create-new-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f95d034d}.rp-create-new-btn svg{flex-shrink:0}.rp-inline-create-form{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0;overflow:hidden}.rp-inline-create-form .env-form-group{display:flex;flex-direction:column;gap:6px}.rp-inline-create-form .env-form-group label{font-size:13px;font-weight:600;color:#374151}.rp-inline-create-form .env-form-group input,.rp-inline-create-form .env-form-group select{padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;transition:border-color .15s ease,box-shadow .15s ease}.rp-inline-create-form .env-form-group input:focus,.rp-inline-create-form .env-form-group select:focus{outline:none;border-color:var(--primary, #f95d03);box-shadow:0 0 0 3px #f95d031a}.rp-add-step-drawer{position:absolute;top:0;right:0;width:600px;height:100%;background:#fff;border-left:1px solid #e5e7eb;box-shadow:-4px 0 20px #00000014;display:flex;flex-direction:column;z-index:100;transform:translate(100%);transition:transform .25s ease}.rp-add-step-drawer.open{transform:translate(0)}.rp-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.rp-drawer-header h3{margin:0;font-size:15px;font-weight:600;color:#111827}.rp-drawer-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .15s ease}.rp-drawer-close:hover{background:#f3f4f6;color:#374151}.rp-drawer-body{flex:1;overflow-y:auto;padding:16px 20px;min-height:0;display:flex;flex-direction:column}.rp-drawer-body .rp-step-type-tabs{margin-bottom:16px}.rp-drawer-body .rp-step-options{max-height:none;border:none;margin:0 -20px}.rp-drawer-body .rp-step-option{padding:12px 20px;border-radius:0}.rp-drawer-body .rp-step-options-empty{padding:40px 20px}.rp-drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.rp-drawer-back-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.rp-drawer-back-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.rp-drawer-create-btn{flex:1;padding:10px 16px;background:var(--primary, #f95d03);border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .15s ease}.rp-drawer-create-btn:hover:not(:disabled){background:#e85502}.rp-drawer-create-btn:disabled{opacity:.5;cursor:not-allowed}.rp-inline-create-form .env-stepper{margin:-16px -20px 16px;padding:16px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.rp-inline-create-form .env-step-content{flex:1;overflow-y:auto;padding-bottom:16px;min-height:0}.rp-inline-create-form .env-stepper-footer{flex-shrink:0;border-top:1px solid #e5e7eb;background:#fff;margin-left:-20px;margin-right:-20px;padding:16px 20px 4px}.rp-inline-create-form .env-variables-empty{padding:24px 16px}.rp-inline-create-form .env-stage-card{margin-bottom:8px;overflow:visible}.rp-inline-create-form .env-stages-list{margin-top:12px;overflow-y:visible}.rp-inline-create-form .env-stage-card.expanded .env-stage-variables{max-height:none}.rp-inline-create-form .env-stage-variables{max-height:280px;overflow-y:auto;padding-bottom:8px}.env-stage-card-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.env-stage-card-order{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--primary, #f95d03);color:#fff;border-radius:6px;font-size:12px;font-weight:600;flex-shrink:0}.env-stage-card-info{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.env-stage-card-name{font-size:14px;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.env-stage-card-type{padding:2px 8px;background:#e5e7eb;border-radius:4px;font-size:11px;font-weight:500;color:#6b7280;text-transform:uppercase;flex-shrink:0}.env-stage-card-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.env-stage-move-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .15s ease}.env-stage-move-btn:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db;color:#374151}.env-stage-move-btn:disabled{opacity:.4;cursor:not-allowed}.env-stage-remove-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#9ca3af;cursor:pointer;transition:all .15s ease}.env-stage-remove-btn:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.rp-zoom-controls{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:4px;padding:6px 8px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 8px #00000014;z-index:50}.rp-zoom-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .15s ease}.rp-zoom-btn:hover:not(:disabled){background:#f3f4f6;color:#374151}.rp-zoom-btn:disabled{opacity:.4;cursor:not-allowed}.rp-zoom-level{min-width:48px;text-align:center;font-size:13px;font-weight:500;color:#374151;-webkit-user-select:none;user-select:none}.rp-zoom-fit{margin-left:4px;border-left:1px solid #e5e7eb;padding-left:8px}@media(max-width:768px){.rp-container{flex-direction:column}.rp-sidebar{width:100%;min-width:100%;max-height:200px;border-right:none;border-bottom:1px solid #e5e7eb}.rp-sidebar-list{display:flex;flex-wrap:wrap;gap:8px;padding:8px 16px}.rp-sidebar-item{flex:0 0 auto}}.env-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.env-modal{background:#fff;border-radius:12px;width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000026;overflow:hidden}.env-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#faf7f5}.env-modal-header h2{font-size:18px;font-weight:600;color:#111827;margin:0}.env-modal-close{background:none;border:none;padding:4px;cursor:pointer;color:#6b7280;border-radius:4px;display:flex;align-items:center;justify-content:center}.env-modal-close:hover{background:#f3f4f6;color:#111827}.env-modal-content{padding:24px;overflow-y:auto}.env-modal-body{padding:24px;overflow-y:auto;max-height:calc(90vh - 180px)}.env-modal-body .env-form-group{margin-bottom:20px}.env-modal-body .env-form-group:last-child{margin-bottom:0}.env-modal-body .env-form-group label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px}.env-modal-body input[type=text],.env-modal-body select{width:100%;padding:12px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;background:#fff;transition:all .2s ease;box-sizing:border-box}.env-modal-body input[type=text]:focus,.env-modal-body select:focus{outline:none;border-color:var(--primary, #f95d03);box-shadow:0 0 0 3px #f95d031a}.env-modal-body input[type=text]::placeholder{color:#9ca3af}.env-type-selector{display:flex;gap:10px;align-items:stretch}.env-type-selector select{flex:1;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.env-type-selector input[type=text]{flex:1}.env-custom-type-btn{padding:12px 16px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;white-space:nowrap;transition:all .2s ease}.env-custom-type-btn:hover{background:#e5e7eb;border-color:#d1d5db}.env-deploy-type-selector{display:flex;background:#f3f4f6;border-radius:10px;padding:4px;gap:4px}.env-deploy-type-btn{flex:1;padding:10px 16px;background:transparent;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease}.env-deploy-type-btn:hover{color:#374151}.env-deploy-type-btn.active{background:#fff;color:#111827;box-shadow:0 1px 3px #0000001a}.env-color-selector{display:flex;gap:8px;flex-wrap:wrap}.env-color-btn{width:36px;height:36px;border:3px solid transparent;border-radius:10px;cursor:pointer;transition:all .2s ease;position:relative}.env-color-btn:hover{transform:scale(1.1)}.env-color-btn.active{border-color:#111827;box-shadow:0 0 0 2px #fff,0 0 0 4px #111827}.env-color-btn:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .2s ease}.env-color-btn.active:after{transform:translate(-50%,-50%) scale(1)}.env-modal-body .env-variables-list{display:flex;flex-direction:column;gap:10px}.env-variable-row{display:flex;gap:10px;align-items:center}.env-variable-key{flex:0 0 140px;font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace!important;font-size:13px!important;text-transform:uppercase}.env-variable-value{flex:1;font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace!important;font-size:13px!important}.env-variable-remove{padding:10px;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;color:#9ca3af;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.env-variable-remove:hover:not(:disabled){background:#fef2f2;border-color:#fecaca;color:#dc2626}.env-variable-remove:disabled{opacity:.3;cursor:not-allowed}.env-add-variable-btn{padding:10px 14px;background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease;text-align:center}.env-add-variable-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.env-modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:20px 24px;border-top:1px solid #e5e7eb;background:#faf7f5}.env-modal-cancel{padding:12px 24px;background:#fff;border:1px solid #d1d5db;color:#374151;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.env-modal-cancel:hover{background:#f9fafb;border-color:#9ca3af}.env-modal-save{padding:12px 24px;background:var(--secondary, #1c1c1c);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.env-modal-save:hover:not(:disabled){background:#333}.env-modal-save:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.env-error{background:#fef2f2;color:#991b1b;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.env-form-group{margin-bottom:20px}.env-form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.env-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.env-input{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s;box-sizing:border-box}.env-input:focus{border-color:var(--primary, #f95d03);box-shadow:0 0 0 3px #f95d031a}.env-dropdown{position:relative}.env-dropdown-trigger{width:100%;padding:10px 14px;background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:border-color .2s}.env-dropdown-trigger:hover,.env-dropdown-trigger:focus{border-color:var(--primary, #f95d03)}.env-dropdown-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;margin-top:4px;z-index:10;overflow:hidden}.env-dropdown-item{width:100%;padding:10px 14px;background:none;border:none;text-align:left;font-size:14px;cursor:pointer;transition:background .15s ease}.env-dropdown-item:hover{background:#f9fafb}.env-dropdown-item.selected{background:var(--primary-light, #fff7ed);color:var(--primary, #f95d03)}.env-radio-group{display:flex;gap:12px}.env-radio{flex:1;display:flex;align-items:center;justify-content:center;padding:10px 14px;background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;transition:all .15s ease}.env-radio input{display:none}.env-radio-label{font-size:14px;font-weight:500;color:#374151}.env-radio:hover{border-color:var(--primary-50, #fcae81)}.env-radio.selected{background:var(--primary-light, #fff7ed);border-color:var(--primary, #f95d03)}.env-radio.selected .env-radio-label{color:var(--primary, #f95d03)}.env-color-picker{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.env-color-swatch{width:32px;height:32px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all .15s ease}.env-color-swatch:hover{transform:scale(1.1)}.env-color-swatch.selected{border-color:#111827;box-shadow:0 0 0 2px #fff,0 0 0 4px #111827}.env-color-input{width:32px;height:32px;padding:0;border:none;border-radius:8px;cursor:pointer;overflow:hidden}.env-color-input::-webkit-color-swatch-wrapper{padding:0}.env-color-input::-webkit-color-swatch{border:none;border-radius:8px}.env-variables-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.env-variables-header label{margin-bottom:0}.env-add-var-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f3f4f6;border:none;border-radius:6px;font-size:12px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s ease}.env-add-var-btn:hover{background:#e5e7eb}.env-var-key{flex:0 0 140px;font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;text-transform:uppercase}.env-var-value{flex:1;font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace}.env-remove-var-btn{padding:8px;background:none;border:none;border-radius:6px;cursor:pointer;color:#9ca3af;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.env-remove-var-btn:hover{background:#fef2f2;color:#dc2626}.env-variables-empty{padding:16px;background:#f9fafb;border-radius:8px;text-align:center;color:#6b7280;font-size:13px}.env-stage-dropdown{position:relative}.env-stage-dropdown-menu{position:absolute;top:100%;right:0;min-width:280px;background:#fff;border:1px solid #e2e5ea;border-radius:10px;box-shadow:0 8px 24px #0000001f,0 2px 6px #0000000f;margin-top:6px;z-index:10;overflow:hidden}.env-stage-dropdown-search{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #f0f0f0;background:#fafbfc}.env-stage-dropdown-search svg{color:#9ca3af;flex-shrink:0}.env-stage-dropdown-search input{flex:1;border:none;background:transparent;font-size:13px;color:#111827;outline:none}.env-stage-dropdown-search input::placeholder{color:#9ca3af}.env-stage-search-clear{width:18px;height:18px;border:none;background:#e5e7eb;border-radius:50%;color:#6b7280;font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;transition:background .15s}.env-stage-search-clear:hover{background:#d1d5db;color:#374151}.env-stage-dropdown-list{max-height:240px;overflow-y:auto;padding:4px 0}.env-stage-dropdown-list::-webkit-scrollbar{width:5px}.env-stage-dropdown-list::-webkit-scrollbar-track{background:transparent}.env-stage-dropdown-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.env-stage-dropdown-item{width:100%;padding:9px 14px;background:none;border:none;text-align:left;font-size:13px;cursor:pointer;transition:background .12s ease;display:flex;align-items:center;justify-content:space-between;gap:12px}.env-stage-dropdown-item:hover{background:#f5f6f8}.env-stage-dropdown-name{font-weight:500;color:#1f2937}.env-stage-dropdown-type{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:3px 8px;border-radius:4px;background:#f3f4f6;color:#6b7280;flex-shrink:0}.env-stage-dropdown-type.security{background:#fff7ed;color:#c2410c}.env-stage-dropdown-type.deploy{background:#dcfce7;color:#15803d}.env-stage-dropdown-type.approval{background:#fdf2f8;color:#db2777}.env-stage-dropdown-type.test{background:#faf5ff;color:#7e22ce}.env-stage-dropdown-type.build{background:#eff6ff;color:#2563eb}.env-stage-dropdown-type.environment{background:#ecfdf5;color:#047857}.env-stage-dropdown-type.poll{background:#fefce8;color:#a16207}.env-stage-dropdown-empty{padding:20px 16px;text-align:center;color:#9ca3af;font-size:13px}.env-stages-list{display:flex;flex-direction:column;gap:8px}.env-stage-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.env-stage-order{min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;border-radius:4px;font-size:12px;font-weight:600;color:#6b7280}.env-stage-info{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.env-stage-name{font-size:14px;font-weight:500;color:#111827}.env-stage-type{font-size:10px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:#f3f4f6;color:#6b7280}.env-stage-type.security{background:#fff7ed;color:#c2410c}.env-stage-type.deploy{background:#dcfce7;color:#15803d}.env-stage-type.approval{background:#fdf2f8;color:#db2777}.env-stage-type.test{background:#faf5ff;color:#7e22ce}.env-stage-type.build{background:#eff6ff;color:#2563eb}.env-stage-actions{display:flex;align-items:center;gap:4px}.env-stage-move-btn{padding:4px;background:none;border:none;border-radius:4px;cursor:pointer;color:#9ca3af;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.env-stage-move-btn:hover:not(:disabled){background:#e5e7eb;color:#374151}.env-stage-move-btn:disabled{opacity:.3;cursor:not-allowed}.env-add-var-btn:disabled{opacity:.5;cursor:not-allowed}.env-modal-actions{display:flex;gap:12px;justify-content:flex-end;border-top:1px solid #e5e7eb;margin-top:8px;padding-top:20px}.env-cancel-btn{padding:10px 20px;background:#fff;border:1px solid #d1d5db;color:#374151;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.env-cancel-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.env-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.env-submit-btn{padding:10px 20px;background:var(--secondary, #1c1c1c);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.env-submit-btn:hover:not(:disabled){background:#333}.env-submit-btn:disabled{background:#9ca3af;cursor:not-allowed}.env-modal-stepper{max-width:640px}.env-stepper{display:flex;align-items:center;justify-content:center;padding:20px 24px;background:#fff;border-bottom:1px solid #e5e7eb}.env-step{display:flex;align-items:center;gap:8px}.env-step-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:13px;font-weight:600;background:#e5e7eb;color:#6b7280;transition:all .2s ease}.env-step.active .env-step-number{background:var(--primary, #f95d03);color:#fff}.env-step.completed .env-step-number{background:#22c55e;color:#fff}.env-step-label{font-size:13px;font-weight:500;color:#9ca3af;transition:color .2s ease}.env-step.active .env-step-label{color:#111827}.env-step.completed .env-step-label{color:#22c55e}.env-step-connector{width:48px;height:2px;background:#e5e7eb;margin:0 12px}.env-step-content{min-height:280px}.env-stepper-actions{justify-content:space-between}.env-stepper-actions-right{display:flex;gap:12px}.env-stage-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;transition:all .2s ease}.env-stage-card:hover{border-color:#d1d5db}.env-stage-card.expanded{border-color:var(--primary, #f95d03);box-shadow:0 2px 8px #f95d031a}.env-stage-card .env-stage-row{cursor:pointer;background:#f9fafb;border:none;border-radius:0;margin:0}.env-stage-card.expanded .env-stage-row{background:#fff7ed}.env-stage-expand-btn{padding:4px;background:none;border:none;border-radius:4px;cursor:pointer;color:#9ca3af;display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin-left:8px}.env-stage-expand-btn:hover{background:#e5e7eb;color:#374151}.env-stage-expand-btn.expanded{transform:rotate(180deg)}.env-stage-variables{padding:16px;background:#fff;border-top:1px solid #e5e7eb}.env-stage-variables-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.env-stage-variables-header span{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px}.env-stage-var-list{display:flex;flex-direction:column;gap:12px}.env-stage-var-row{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.env-stage-var-info{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.env-stage-var-name{font-size:13px;font-weight:600;color:#111827;font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace}.env-stage-var-required{color:#dc2626;font-weight:600}.env-stage-var-desc{font-size:11px;color:#6b7280;flex-basis:100%;margin-top:2px}.env-stage-var-config{display:flex;gap:8px;align-items:center}.source-dropdown{position:relative;flex:0 0 210px}.source-dropdown-trigger{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;background:#fff;cursor:pointer;outline:none;transition:all .2s ease;color:var(--text, #1f2937)}.source-dropdown-trigger:hover{border-color:#9ca3af;background:#fafafa}.source-dropdown-trigger.open{border-color:var(--primary, #f95d03);box-shadow:0 0 0 2px #f95d031a}.source-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:.3px}.source-label{flex:1;text-align:left;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-chevron{flex-shrink:0;color:#9ca3af;transition:transform .2s ease}.source-dropdown-trigger.open .source-chevron{transform:rotate(180deg)}.source-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;width:280px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px #0000001f,0 2px 8px #0000000f;z-index:100;padding:4px;animation:sourceDropdownIn .15s ease-out}@keyframes sourceDropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.source-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:7px;background:transparent;cursor:pointer;transition:background .15s ease;text-align:left}.source-dropdown-item:hover{background:#f3f4f6}.source-dropdown-item.active{background:#fef3e7}.source-dropdown-item-text{display:flex;flex-direction:column;flex:1;min-width:0}.source-dropdown-item-label{font-size:13px;font-weight:500;color:var(--text, #1f2937)}.source-dropdown-item-desc{font-size:11px;color:#9ca3af;margin-top:1px}.source-check{flex-shrink:0;color:var(--primary, #f95d03)}.env-stage-var-value{flex:1;min-width:0}.env-stage-var-ref{flex:1;min-width:0;padding:9px 32px 9px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;font-weight:500;color:var(--text, #1f2937);background:#fff;cursor:pointer;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:14px}.env-stage-var-ref:hover{border-color:#9ca3af;background-color:#fafafa}.env-stage-var-ref:focus{border-color:var(--primary, #f95d03);box-shadow:0 0 0 2px #f95d031a;background-color:#fff}.env-stage-var-ref option{padding:8px 12px;font-size:13px;font-weight:400;color:#1f2937;background:#fff}.env-stage-var-ref option:checked{background:#fef3e7;color:var(--primary, #f95d03);font-weight:500}.env-stage-var-ref option:first-child{color:#9ca3af}.env-stage-var-empty{padding:16px;background:#f9fafb;border-radius:8px;text-align:center;color:#6b7280;font-size:13px}.env-variables-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;background:#f9fafb;border-radius:8px;text-align:center;color:#6b7280}.env-variables-empty svg{color:#d1d5db;margin-bottom:4px}.env-variables-empty p{margin:0;font-size:14px;font-weight:500;color:#374151}.env-variables-empty span{font-size:12px;color:#9ca3af}@media(max-width:600px){.env-modal{max-width:calc(100% - 32px);margin:16px}.env-form-row{grid-template-columns:1fr}.env-variable-row{flex-wrap:wrap}.env-var-key{flex:1 1 100%}.env-var-value{flex:1}}.stages-list{display:flex;flex-direction:column;gap:12px;padding:24px;min-height:100%;background-color:#f8fafc;background-image:radial-gradient(circle,#d1d5db 1px,transparent 1px);background-size:20px 20px}.stage-card{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;transition:all .15s ease}.stage-card:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.stage-order{min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;font-weight:600;color:#6b7280}.stage-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;flex-shrink:0;background-color:var(--primary-light, #fff7ed)}.stage-icon svg{width:18px;height:18px}.stage-icon span{color:var(--primary, #f95d03);display:flex;align-items:center;justify-content:center}.stage-info{flex:1;min-width:0}.stage-name{font-size:16px;font-weight:600;color:#111827;margin-bottom:4px}.stage-type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stage-actions{display:flex;align-items:center;gap:12px}.stage-status{padding:6px 16px;border-radius:6px;font-size:13px;font-weight:500;border:1px solid}.stage-status.active{background:#f0fdf4;color:#16a34a;border-color:#86efac}.stage-status.inactive{background:#fef2f2;color:#dc2626;border-color:#fecaca}.stage-edit-btn,.stage-export-btn,.stage-delete-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;transition:all .15s ease}.stage-edit-btn:hover{background:#f3f4f6;color:#374151;border-color:#d1d5db}.stage-export-btn:hover{background:#eff6ff;color:#2563eb;border-color:#bfdbfe}.stage-delete-btn:hover{background:#fef2f2;color:#dc2626;border-color:#fecaca}.stages-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px;gap:16px;min-height:100%;background-color:#f8fafc;background-image:radial-gradient(circle,#d1d5db 1px,transparent 1px);background-size:20px 20px}.stages-loading .spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:var(--primary, #f95d03);border-radius:50%;animation:spin .8s linear infinite}.stages-loading p{margin:0;color:#6b7280;font-size:14px}.stages-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px;gap:16px;min-height:100%;background-color:#f8fafc;background-image:radial-gradient(circle,#d1d5db 1px,transparent 1px);background-size:20px 20px}.stages-error p{margin:0;color:#dc2626}.stages-error button{padding:10px 20px;background:var(--secondary, #1c1c1c);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.stages-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px;gap:12px;color:#6b7280;min-height:100%;background-color:#f8fafc;background-image:radial-gradient(circle,#d1d5db 1px,transparent 1px);background-size:20px 20px}.stages-empty svg{margin-bottom:8px}.stages-empty h3{margin:0;font-size:18px;font-weight:600;color:#374151}.stages-empty p{margin:0;font-size:14px}.stages-create-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;margin-top:8px;background:var(--primary, #f95d03);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease}.stages-create-btn:hover{background:#e85502}@media(max-width:768px){.stages-list{padding:16px}.stage-card{flex-wrap:wrap;padding:12px 16px}.stage-info{order:1;width:100%;margin-top:8px}.stage-actions{order:0;margin-left:auto}}.stage-editor{display:flex;flex-direction:column;height:100%;background:#fff}.stage-editor-header{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid #e5e7eb;background:#fafafa}.stage-back-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:none;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;font-size:13px;cursor:pointer;transition:all .15s ease}.stage-back-btn:hover{background:#f3f4f6;color:#374151;border-color:#d1d5db}.stage-editor-title{display:flex;align-items:center;gap:12px;flex:1}.stage-name-input{font-size:20px;font-weight:600;color:#111827;background:none;border:none;outline:none;padding:4px 0;min-width:200px}.stage-name-input::placeholder{color:#9ca3af}.stage-type-badge-large{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stage-editor-actions{display:flex;gap:8px}.stage-save-btn,.stage-test-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.stage-save-btn{background:#fff;color:#374151}.stage-save-btn:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db}.stage-test-btn{background:var(--primary);color:#fff;border-color:var(--primary)}.stage-test-btn:hover:not(:disabled){background:var(--primary-20);border-color:var(--primary-20)}.stage-save-btn:disabled,.stage-test-btn:disabled{opacity:.6;cursor:not-allowed}.stage-export-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;background:#fff;color:#374151}.stage-export-btn:hover{background:#f9fafb;border-color:#d1d5db}.stage-save-btn-wrapper{position:relative;display:inline-flex}.stage-save-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:8px 12px;background:#1f2937;color:#fff;font-size:12px;font-weight:500;white-space:nowrap;border-radius:6px;opacity:0;visibility:hidden;transition:all .2s ease;z-index:100;box-shadow:0 4px 12px #00000026}.stage-save-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1f2937}.stage-save-btn-wrapper:hover .stage-save-tooltip{opacity:1;visibility:visible}.stage-editor-error{padding:12px 24px;background:#fef2f2;color:#dc2626;font-size:14px;border-bottom:1px solid #fecaca}.stage-editor-content{display:flex;flex:1;min-height:0;overflow:hidden}.stage-editor-left{flex:1;display:flex;flex-direction:column;border-right:1px solid #e5e7eb;min-width:0}.stage-editor-right{width:400px;display:flex;flex-direction:column;flex-shrink:0;min-height:0;overflow:hidden}.stage-script-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.stage-script-type{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280}.script-type-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .15s ease}.script-type-btn:hover{border-color:#d1d5db}.script-type-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.stage-type-dropdown{position:relative}.stage-type-dropdown-trigger{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s ease;min-width:140px}.stage-type-dropdown-trigger:hover{border-color:#d1d5db;background:#f9fafb}.stage-type-dropdown-trigger:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light, rgba(249, 93, 3, .1))}.stage-type-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.stage-type-label{flex:1;text-align:left}.stage-type-chevron{color:#9ca3af;transition:transform .2s ease;flex-shrink:0}.stage-type-chevron.open{transform:rotate(180deg)}.stage-type-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 40px #0000001f,0 2px 6px #0000000a;padding:6px;z-index:100;animation:dropdownSlide .15s ease}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.stage-type-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:none;border-radius:6px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .1s ease;text-align:left}.stage-type-option:hover{background:#f3f4f6}.stage-type-option.active{background:var(--primary-light, #fff7ed);color:var(--primary, #f95d03)}.stage-type-option svg{margin-left:auto;color:var(--primary, #f95d03)}.stage-tabs{display:flex;gap:0;border-bottom:1px solid #e5e7eb;background:#fff}.stage-tab{display:flex;align-items:center;gap:6px;padding:12px 20px;background:none;border:none;border-bottom:2px solid transparent;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.stage-tab:hover{color:#374151;background:#f9fafb}.stage-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.stage-script-editor{flex:1;display:flex;flex-direction:column;min-height:0}.script-label{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#1e1e1e;color:#9ca3af;font-size:12px;font-family:Fira Code,Monaco,monospace}.script-textarea{flex:1;padding:16px;background:#1e1e1e;color:#d4d4d4;font-family:Fira Code,Monaco,monospace;font-size:13px;line-height:1.6;border:none;outline:none;resize:none}.stage-variables-editor,.stage-required-editor{flex:1;display:flex;flex-direction:column;padding:16px;overflow:auto}.variables-header,.required-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;font-size:14px;font-weight:600;color:#374151}.add-var-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#374151;cursor:pointer}.add-var-btn:hover{background:#e5e7eb}.variables-empty,.required-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:#9ca3af;text-align:center}.variables-empty p,.required-empty p{margin:0}.variables-empty .hint,.required-empty .hint{font-size:12px;margin-top:4px}.stage-variables-editor.json-editor{padding:0;display:flex;flex-direction:column}.stage-variables-editor.json-editor .variables-header{padding:12px 16px;margin-bottom:0;background:#f9fafb;border-bottom:1px solid #e5e7eb}.stage-variables-editor.json-editor .variables-header span{display:flex;align-items:center;gap:8px}.json-icon{font-family:Fira Code,Monaco,monospace;font-weight:700;color:var(--primary)}.format-json-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#374151;cursor:pointer;transition:all .15s ease}.format-json-btn:hover{background:#f3f4f6;border-color:#d1d5db}.json-editor-container{flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.json-textarea{flex:1;padding:16px;background:#1e1e1e;color:#d4d4d4;font-family:Fira Code,Monaco,monospace;font-size:13px;line-height:1.6;border:none;outline:none;resize:none}.json-textarea::placeholder{color:#6b7280}.json-error{padding:8px 16px;background:#fef2f2;color:#dc2626;font-size:12px;border-top:1px solid #fecaca}.json-hint{padding:12px 16px;background:#f9fafb;border-top:1px solid #e5e7eb}.json-hint .hint-label{display:inline-block;padding:2px 8px;background:#fef3c7;color:#92400e;font-size:11px;font-weight:600;border-radius:4px;margin-bottom:6px}.json-hint p{margin:0;font-size:12px;color:#6b7280}.json-hint .hint-example{margin-top:6px}.json-hint .hint-example code{background:#e5e7eb;padding:2px 6px;border-radius:3px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px}.variables-list{display:flex;flex-direction:column;gap:8px}.variable-row{display:flex;gap:8px}.var-key-input,.var-value-input{flex:1;padding:10px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;font-family:Fira Code,Monaco,monospace}.var-key-input{max-width:200px;text-transform:uppercase}.remove-var-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:1px solid #e5e7eb;border-radius:6px;color:#9ca3af;cursor:pointer}.remove-var-btn:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.stage-config-variables-editor{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.config-variables-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:14px;font-weight:600;color:#374151}.add-config-var-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--primary);border:none;border-radius:6px;font-size:13px;font-weight:500;color:#fff;cursor:pointer;transition:background .15s ease}.add-config-var-btn:hover{background:var(--primary-20)}.config-variables-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:#6b7280;text-align:center;background-color:#f8fafc;background-image:radial-gradient(circle,#d1d5db 1px,transparent 1px);background-size:20px 20px}.config-variables-empty svg{margin-bottom:16px;opacity:.5}.config-variables-empty p{margin:0}.config-variables-empty .hint{font-size:12px;margin-top:4px}.config-variables-list{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px;min-height:0;background-color:#f8fafc;background-image:radial-gradient(circle,#d1d5db 1px,transparent 1px);background-size:20px 20px}.config-variable-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;flex-shrink:0}.config-var-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-bottom:1px solid #e5e7eb}.config-var-name{flex:1;max-width:300px;padding:10px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:Fira Code,Monaco,monospace;font-weight:600;color:#111827;text-transform:uppercase}.config-var-name::placeholder{color:#9ca3af;text-transform:none}.config-var-delete{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:none;color:#9ca3af;cursor:pointer;border-radius:6px;transition:all .15s ease}.config-var-delete:hover{background:#fef2f2;color:#dc2626}.config-var-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px}.config-var-field{display:flex;flex-direction:column;gap:6px}.config-var-field label{font-size:12px;font-weight:500;color:#6b7280}.config-var-field input{padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;color:#374151}.config-var-field input::placeholder{color:#9ca3af}.config-var-toggle{padding:12px 16px;background:#fff;border-top:1px solid #e5e7eb}.toggle-label{display:flex;align-items:center;gap:10px;cursor:pointer}.toggle-label input[type=checkbox]{display:none}.toggle-switch{position:relative;width:40px;height:22px;background:#e5e7eb;border-radius:11px;transition:background .2s ease}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0000001a}.toggle-label input[type=checkbox]:checked+.toggle-switch{background:var(--primary)}.toggle-label input[type=checkbox]:checked+.toggle-switch:after{transform:translate(18px)}.toggle-text{font-size:13px;font-weight:500;color:#374151}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;background:var(--primary);color:#fff;font-size:11px;font-weight:600;border-radius:9px}.add-required-row{display:flex;gap:8px}.add-required-row input{padding:6px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;font-family:Fira Code,Monaco,monospace;text-transform:uppercase;width:180px}.add-required-row button{padding:6px 12px;background:var(--primary);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer}.add-required-row button:hover{background:var(--primary-20)}.required-list{display:flex;flex-wrap:wrap;gap:8px}.required-item{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;font-family:Fira Code,Monaco,monospace;font-size:12px;color:#374151}.required-item button{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#9ca3af;cursor:pointer;padding:0}.required-item button:hover{color:#dc2626}.output-panel{flex:1;display:flex;flex-direction:column;background:#fff;min-height:0;overflow:hidden}.output-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:14px;font-weight:500;color:#374151;flex-shrink:0}.output-content{flex:1;padding:16px;overflow-y:auto;overflow-x:hidden;background:#fafafa;min-height:0;max-height:100%}.output-running{display:flex;align-items:center;gap:12px;color:#6b7280}.output-running .spinner{width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.output-content pre{margin:0;font-family:Fira Code,Monaco,monospace;font-size:13px;line-height:1.6;color:#374151;white-space:pre-wrap;word-break:break-word}.output-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#9ca3af;text-align:center}.output-placeholder svg{margin-bottom:12px}.output-placeholder p{margin:0}.output-placeholder .hint{font-size:12px;margin-top:4px}.output-placeholder .output-hint{margin-top:16px;padding:8px 12px;background:#fff7ed;border-radius:6px}.output-placeholder code{padding:2px 6px;background:var(--primary-light);color:var(--primary);border-radius:3px;font-family:Fira Code,Monaco,monospace;font-size:11px}.stop-poll-btn{margin-left:auto;padding:6px 12px;background:#dc2626;border:none;border-radius:6px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease}.stop-poll-btn:hover{background:#b91c1c}.stage-poll-config-editor{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.poll-config-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:14px;font-weight:600;color:#374151}.poll-config-content{flex:1;overflow-y:auto;padding:24px;background-color:#f8fafc;background-image:radial-gradient(circle,#d1d5db 1px,transparent 1px);background-size:20px 20px}.poll-config-description{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:24px}.poll-config-description svg{color:#14b8a6;flex-shrink:0;margin-top:2px}.poll-config-description p{margin:0;font-size:14px;color:#6b7280;line-height:1.5}.poll-config-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.poll-config-field{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.poll-config-field.full-width{grid-column:1 / -1}.poll-config-field label{font-size:13px;font-weight:600;color:#374151}.poll-config-field input{padding:10px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827}.poll-config-field input:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a61a}.poll-config-field input::placeholder{color:#9ca3af}.poll-config-field .field-hint{font-size:12px;color:#9ca3af}.expected-output-tags{display:flex;flex-wrap:wrap;gap:8px;min-height:20px;margin-bottom:8px}.expected-output-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 12px;background:#14b8a6;color:#fff;border-radius:16px;font-size:13px;font-weight:500}.tag-remove-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background .15s ease}.tag-remove-btn:hover{background:#ffffff4d}.expected-output-input-row{display:flex;gap:8px}.expected-output-input-row input{flex:1}.add-expected-output-btn{padding:10px 16px;background:#14b8a6;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease}.add-expected-output-btn:hover:not(:disabled){background:#0d9488}.add-expected-output-btn:disabled{background:#d1d5db;cursor:not-allowed}.poll-config-separator{margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb;grid-column:1 / -1}.poll-config-separator span{font-size:14px;font-weight:600;color:#ef4444}.poll-config-separator .separator-hint{font-size:12px;color:#6b7280;margin-top:4px}.failure-tag,.failure-add-btn{background:#ef4444!important}.failure-add-btn:hover:not(:disabled){background:#dc2626!important}.stage-approval-config-editor{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.approval-config-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:14px;font-weight:600;color:#374151}.approval-config-content{flex:1;overflow-y:auto;padding:24px;background-color:#f8fafc;background-image:radial-gradient(circle,#d1d5db 1px,transparent 1px);background-size:20px 20px}.approval-config-description{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:24px}.approval-config-description svg{color:#ec4899;flex-shrink:0;margin-top:2px}.approval-config-description p{margin:0;font-size:14px;color:#6b7280;line-height:1.5}.approval-config-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.approval-config-field{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.approval-config-field.full-width{grid-column:1 / -1}.approval-config-field label{font-size:13px;font-weight:600;color:#374151}.approval-config-field input[type=number]{padding:10px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827}.approval-config-field input[type=number]:focus{outline:none;border-color:#ec4899;box-shadow:0 0 0 3px #ec48991a}.approval-config-field input::placeholder{color:#9ca3af}.approval-config-field .field-hint{font-size:12px;color:#9ca3af}.approval-message-textarea{padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;resize:vertical;min-height:80px;font-family:inherit}.approval-message-textarea:focus{outline:none;border-color:#ec4899;box-shadow:0 0 0 3px #ec48991a}.approval-message-textarea::placeholder{color:#9ca3af}.approval-toggle{padding:4px 0}.approval-toggle .toggle-label{display:flex;align-items:center;gap:12px;cursor:pointer}.approval-toggle .toggle-label input[type=checkbox]{display:none}.approval-toggle .toggle-switch{position:relative;width:44px;height:24px;background:#e5e7eb;border-radius:12px;transition:background .2s ease;flex-shrink:0}.approval-toggle .toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0000001a}.approval-toggle .toggle-label input[type=checkbox]:checked+.toggle-switch{background:#ec4899}.approval-toggle .toggle-label input[type=checkbox]:checked+.toggle-switch:after{transform:translate(20px)}.approval-toggle .toggle-text{font-size:13px;color:#6b7280}@media(max-width:1024px){.stage-editor-content{flex-direction:column}.stage-editor-left{border-right:none;border-bottom:1px solid #e5e7eb;min-height:400px}.stage-editor-right{width:100%;min-height:300px}}@media(max-width:768px){.stage-editor-header{flex-wrap:wrap;gap:12px}.stage-editor-title{order:1;width:100%}.stage-editor-actions{order:0;margin-left:auto}.stage-back-btn{order:0}}.user-selector{display:flex;flex-direction:column;gap:12px}.selected-users{display:flex;flex-wrap:wrap;gap:8px}.user-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 8px 6px 6px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;font-size:13px;color:#374151}.user-tag .user-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-20));color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center}.user-tag-name{font-weight:500}.user-tag-remove{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:none;border:none;border-radius:50%;color:#9ca3af;cursor:pointer;transition:all .15s ease}.user-tag-remove:hover{background:#e5e7eb;color:#dc2626}.user-dropdown{position:relative}.user-search-input{width:100%;padding:10px 12px 10px 40px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;transition:all .15s ease}.user-search-input:focus{outline:none;border-color:#ec4899;box-shadow:0 0 0 3px #ec48991a;background:#fff}.user-search-input::placeholder{color:#9ca3af}.user-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.user-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:280px;overflow-y:auto;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 40px #0000001f,0 2px 6px #0000000a;padding:6px;z-index:100;animation:userDropdownSlide .15s ease}@keyframes userDropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-empty{padding:24px;text-align:center;color:#9ca3af;font-size:13px}.user-option{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;background:none;border:none;border-radius:8px;text-align:left;cursor:pointer;transition:all .1s ease}.user-option:hover{background:#f3f4f6}.user-option.selected{background:#fdf2f8}.user-option-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-20));color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-option-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.user-option-name{font-size:14px;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-option-email{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-option-badge{padding:2px 8px;background:#fef3c7;color:#92400e;font-size:11px;font-weight:600;border-radius:4px}.user-option-check{color:#ec4899;flex-shrink:0}.credentials-container{display:flex;flex-direction:column;min-height:100%;background-color:#f8fafc;background-image:radial-gradient(circle,#d1d5db 1px,transparent 1px);background-size:20px 20px}.credentials-header{display:flex;align-items:center;justify-content:space-between;padding:24px;background:#fff;border-bottom:1px solid #e5e7eb}.credentials-header-text h2{margin:0 0 4px;font-size:20px;font-weight:600;color:#111827}.credentials-header-text p{margin:0;font-size:14px;color:#6b7280}.credentials-list{display:flex;flex-direction:column;gap:12px;padding:24px}.credential-card{display:flex;align-items:center;gap:16px;padding:12px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;transition:all .15s ease}.credential-card:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.credential-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0}.credential-icon svg{width:18px;height:18px}.credential-name-col{display:flex;align-items:center;gap:8px;min-width:200px;flex:1}.credential-name{font-size:13px;font-weight:600;color:#111827;font-family:SF Mono,Monaco,Inconsolata,monospace}.credential-secret-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;background:#fef2f2;color:#dc2626;border-radius:4px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.credential-value-col{flex:1;min-width:150px;font-size:13px}.credential-value-masked{color:#9ca3af;font-family:SF Mono,Monaco,Inconsolata,monospace;letter-spacing:2px}.credential-value-visible{color:#374151;font-family:SF Mono,Monaco,Inconsolata,monospace;background:#f3f4f6;padding:2px 6px;border-radius:4px}.credential-date-col{flex-shrink:0;min-width:100px;text-align:right}.credential-date{font-size:12px;color:#9ca3af}.credential-actions{display:flex;align-items:center;gap:8px}.credential-action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;transition:all .15s ease}.credential-action-btn:hover{background:#f3f4f6;color:#374151;border-color:#d1d5db}.credential-action-btn.delete:hover{background:#fef2f2;color:#dc2626;border-color:#fecaca}.credentials-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px;gap:16px;min-height:100%;background-color:#f8fafc;background-image:radial-gradient(circle,#d1d5db 1px,transparent 1px);background-size:20px 20px}.credentials-loading .spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:var(--primary, #f95d03);border-radius:50%;animation:spin .8s linear infinite}.credentials-loading p{margin:0;color:#6b7280;font-size:14px}.credentials-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px;gap:16px;min-height:100%;background-color:#f8fafc;background-image:radial-gradient(circle,#d1d5db 1px,transparent 1px);background-size:20px 20px}.credentials-error p{margin:0;color:#dc2626}.credentials-error button{padding:10px 20px;background:var(--secondary, #1c1c1c);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.credentials-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px;gap:12px;color:#6b7280;min-height:100%}.credentials-empty svg{margin-bottom:8px;color:#d1d5db}.credentials-empty h3{margin:0;font-size:18px;font-weight:600;color:#374151}.credentials-empty p{margin:0;font-size:14px}.credentials-create-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;margin-top:8px;background:var(--primary, #f95d03);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease}.credentials-create-btn:hover{background:#e85502}.credential-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.credential-modal{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.credential-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.credential-modal-header h2{margin:0;font-size:18px;font-weight:600;color:#111827}.credential-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .15s ease}.credential-modal-close:hover{background:#f3f4f6;color:#374151}.credential-modal-body{padding:24px;display:flex;flex-direction:column;gap:20px}.credential-form-group{display:flex;flex-direction:column;gap:6px}.credential-form-group label{font-size:13px;font-weight:600;color:#374151}.credential-form-group input[type=text],.credential-form-group input[type=password],.credential-form-group select,.credential-form-group textarea{padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;transition:border-color .15s ease,box-shadow .15s ease}.credential-form-group input:focus,.credential-form-group select:focus,.credential-form-group textarea:focus{outline:none;border-color:var(--primary, #f95d03);box-shadow:0 0 0 3px #f95d031a}.credential-form-group textarea{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:13px;resize:vertical;min-height:100px}.credential-form-hint{font-size:12px;color:#9ca3af}.credential-form-group.checkbox label{display:flex;align-items:center;gap:8px;font-weight:400;cursor:pointer}.credential-form-group.checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary, #f95d03)}.credential-value-input{position:relative;display:flex;align-items:center}.credential-value-input input{flex:1;padding-right:44px}.credential-toggle-visibility{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;color:#6b7280;cursor:pointer;border-radius:4px;transition:all .15s ease}.credential-toggle-visibility:hover{background:#f3f4f6;color:#374151}.credential-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 16px 16px}.credential-cancel-btn{padding:10px 20px;background:none;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.credential-cancel-btn:hover{background:#f3f4f6;border-color:#d1d5db;color:#374151}.credential-save-btn{padding:10px 24px;background:var(--primary, #f95d03);border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:background .15s ease}.credential-save-btn:hover:not(:disabled){background:#e85502}.credential-save-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.credentials-header{flex-direction:column;align-items:flex-start;gap:16px}.credentials-list{padding:16px}.credential-card{flex-wrap:wrap;padding:12px 16px}.credential-info{order:1;width:100%;margin-top:8px}.credential-actions{order:0;margin-left:auto}.credential-modal{max-width:100%;border-radius:16px 16px 0 0;position:fixed;bottom:0;left:0;right:0;max-height:85vh}}.custom-outputs-settings{padding:24px 32px;max-width:900px}.custom-outputs-loading{color:#64748b;font-size:14px;padding:40px 0;text-align:center}.custom-outputs-error{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;margin-bottom:16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:13px}.custom-outputs-error button{background:none;border:none;color:#dc2626;cursor:pointer;font-weight:600;font-size:12px;text-decoration:underline}.custom-outputs-header{display:flex;flex-direction:column;gap:6px;margin-bottom:24px}.custom-outputs-header-text h3{margin:0 0 4px;font-size:18px;font-weight:700;color:#0f172a}.custom-outputs-header-text p{margin:0;font-size:13px;color:#64748b;line-height:1.5;max-width:520px}.custom-outputs-empty{text-align:center;padding:60px 20px;background:#f8fafc;border:2px dashed #e2e8f0;border-radius:12px}.custom-outputs-empty-icon{color:#cbd5e1;margin-bottom:16px}.custom-outputs-empty h4{margin:0 0 8px;font-size:16px;font-weight:600;color:#334155}.custom-outputs-empty p{font-size:13px;color:#64748b;max-width:400px;margin:0 auto;line-height:1.5}.custom-outputs-list{display:flex;flex-direction:column;gap:10px}.custom-output-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 18px;transition:border-color .15s,box-shadow .15s}.custom-output-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a}.custom-output-card-header{display:flex;align-items:center;justify-content:space-between}.custom-output-card-info{display:flex;align-items:center;gap:10px}.custom-output-card-key{font-family:SFMono-Regular,ui-monospace,Menlo,Monaco,Consolas,monospace;font-size:13px;font-weight:600;color:#0f172a;background:#f1f5f9;padding:3px 10px;border-radius:6px;border:1px solid #e2e8f0}.custom-output-card-label{font-size:13px;color:#475569;font-weight:500}.custom-output-card-actions{display:flex;align-items:center;gap:8px}.custom-output-card-badges{display:flex;align-items:center;gap:4px}.co-badge-preview-sm{display:inline-block;padding:2px 8px;border-radius:5px;font-size:10.5px;font-weight:600;white-space:nowrap}.custom-output-card-type{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#64748b;background:#f1f5f9;padding:3px 8px;border-radius:4px}.custom-output-edit-btn,.custom-output-delete-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;cursor:pointer;transition:all .15s}.custom-output-edit-btn:hover{border-color:#93c5fd;color:#2563eb;background:#eff6ff}.custom-output-delete-btn:hover{border-color:#fecaca;color:#dc2626;background:#fef2f2}.custom-output-card-description{margin-top:8px;font-size:12px;color:#94a3b8;line-height:1.4}.custom-outputs-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.custom-outputs-modal{background:#fff;border-radius:14px;width:580px;max-width:90vw;max-height:85vh;box-shadow:0 20px 60px #00000026;display:flex;flex-direction:column}.custom-outputs-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.custom-outputs-modal-header h3{margin:0;font-size:16px;font-weight:700;color:#0f172a}.custom-outputs-modal-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:#f1f5f9;color:#64748b;cursor:pointer;transition:all .15s}.custom-outputs-modal-close:hover{background:#e2e8f0;color:#0f172a}.custom-outputs-modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;flex:1}.custom-outputs-form-group{display:flex;flex-direction:column;gap:5px}.custom-outputs-form-group label{font-size:12px;font-weight:600;color:#334155;text-transform:uppercase;letter-spacing:.3px}.custom-outputs-form-group input,.custom-outputs-form-group select{padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;color:#0f172a;transition:border-color .15s;outline:none}.custom-outputs-form-group input:focus,.custom-outputs-form-group select:focus{border-color:#f56816;box-shadow:0 0 0 3px #f568161a}.custom-outputs-form-hint{font-size:11px;color:#94a3b8}.custom-outputs-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 24px;border-top:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0;border-radius:0 0 14px 14px}.custom-outputs-cancel-btn{padding:8px 16px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#475569;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.custom-outputs-cancel-btn:hover{background:#f1f5f9}.custom-outputs-save-btn{padding:8px 20px;border:none;border-radius:8px;background:#f56816;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.custom-outputs-save-btn:hover:not(:disabled){background:#e05a0e}.custom-outputs-save-btn:disabled{opacity:.5;cursor:not-allowed}.co-badge-config,.co-range-config{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:16px}.co-section-header{margin-bottom:12px}.co-section-header h4{margin:0 0 4px;font-size:13px;font-weight:700;color:#0f172a}.co-section-subtitle{display:block;font-size:11.5px;color:#94a3b8;margin-bottom:10px}.co-toggle-row{display:flex;align-items:center;gap:10px;margin-bottom:14px}.co-toggle{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer}.co-toggle input{opacity:0;width:0;height:0}.co-toggle-slider{position:absolute;inset:0;background:#cbd5e1;border-radius:20px;transition:background .2s}.co-toggle-slider:before{content:"";position:absolute;height:16px;width:16px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #00000026}.co-toggle input:checked+.co-toggle-slider{background:#f56816}.co-toggle input:checked+.co-toggle-slider:before{transform:translate(16px)}.co-toggle-label{font-size:12.5px;color:#475569;font-weight:500}.co-preset-picker{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}.co-preset-btn{padding:3px 10px;border-radius:5px;font-size:10px;font-weight:600;cursor:pointer;transition:transform .1s,box-shadow .1s}.co-preset-btn:hover{transform:scale(1.05);box-shadow:0 2px 6px #0000001a}.co-color-row{display:flex;align-items:center;gap:10px;padding:8px 0}.co-color-row-label{display:none}.co-color-inputs{display:flex;gap:8px;flex:1}.co-color-field{display:flex;flex-direction:column;gap:3px;flex:1}.co-color-field label{font-size:9.5px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.co-color-input-wrapper{display:flex;align-items:center;gap:4px}.co-color-input-wrapper input[type=color]{width:26px;height:26px;border:1px solid #d1d5db;border-radius:5px;padding:1px;cursor:pointer;background:none}.co-color-text{width:70px;padding:4px 6px!important;border:1px solid #e2e8f0!important;border-radius:5px!important;font-size:10.5px!important;font-family:SFMono-Regular,ui-monospace,Menlo,Monaco,Consolas,monospace;color:#475569!important}.co-color-text:focus{border-color:#f56816!important;box-shadow:0 0 0 2px #f5681614!important}.co-color-preview{display:flex;align-items:center;min-width:70px;justify-content:center}.co-default-badge-section{padding-top:4px}.co-allowed-values-section{display:flex;flex-direction:column;gap:8px}.co-allowed-value-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}.co-av-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.co-av-value-input{flex:1;padding:7px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-weight:600;color:#0f172a;outline:none;transition:border-color .15s}.co-av-value-input:focus{border-color:#f56816;box-shadow:0 0 0 2px #f5681614}.co-av-remove{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#94a3b8;cursor:pointer;transition:all .15s;flex-shrink:0}.co-av-remove:hover{border-color:#fecaca;color:#dc2626;background:#fef2f2}.co-add-item-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;background:#fff;border:1px dashed #cbd5e1;border-radius:7px;color:#64748b;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;align-self:flex-start}.co-add-item-btn:hover{border-color:#f56816;color:#f56816;background:#fff7ed}.co-range-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;margin-bottom:8px}.co-range-header{display:flex;align-items:flex-end;gap:8px;margin-bottom:8px}.co-range-inputs{display:flex;align-items:flex-end;gap:6px;flex:1}.co-range-field{display:flex;flex-direction:column;gap:3px}.co-range-field label{font-size:9.5px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.co-range-field input{padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:12px;color:#0f172a;outline:none;width:60px;transition:border-color .15s}.co-range-field input:focus{border-color:#f56816;box-shadow:0 0 0 2px #f5681614}.co-range-label-field{flex:1}.co-range-label-field input{width:100%}.co-range-separator{font-size:11px;color:#94a3b8;font-weight:500;padding-bottom:8px}.approvals-container{width:100%;background:#faf7f5;border-radius:12px;overflow:hidden;border:1px solid #e8e8e8;box-shadow:0 2px 8px #0000000a}.approvals-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:60px;color:#6b7280}.approvals-spinner{width:24px;height:24px;border:2px solid #e5e7eb;border-top-color:var(--primary, #ea580c);border-radius:50%;animation:approvals-spin .8s linear infinite}@keyframes approvals-spin{to{transform:rotate(360deg)}}.approvals-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff;border-bottom:1px solid #e5e7eb}.approvals-header-left{display:flex;align-items:center;gap:12px}.approvals-title-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,var(--primary, #ea580c) 0%,#c2410c 100%);border-radius:10px;color:#fff}.approvals-title{margin:0;font-size:18px;font-weight:600;color:#111827}.approvals-pending-badge{display:inline-flex;align-items:center;padding:4px 10px;background:#fef2f2;color:#dc2626;font-size:12px;font-weight:600;border-radius:12px;border:1px solid #fecaca}.approvals-filter-right{display:flex;align-items:center;gap:12px}.approvals-refresh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:#1a1a1a;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.approvals-refresh-btn:hover{background:#333}.approvals-refresh-btn:active{background:#000;transform:scale(.98)}.approvals-filter-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#fff;border-bottom:1px solid #e5e7eb;gap:16px}.approvals-filter-group{display:flex;align-items:center;gap:12px}.approvals-filter-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.approvals-filter-label svg{color:#94a3b8}.approvals-filter-item{position:relative}.approvals-filter-select{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;color:#475569;cursor:pointer;transition:all .15s ease;min-width:140px}.approvals-filter-select:hover{background:#f1f5f9;border-color:#cbd5e1}.approvals-filter-select.active{background:var(--primary-light, #fff7ed);border-color:var(--primary, #ea580c);color:#1a1a1a}.approvals-filter-chevron{flex-shrink:0;transition:transform .15s ease;margin-left:auto}.approvals-filter-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:180px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 10px 40px #0000001f;z-index:200;padding:6px;animation:filterDropdownIn .15s ease}@keyframes filterDropdownIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.approvals-filter-option{display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:13px;color:#334155;border-radius:6px;cursor:pointer;transition:all .1s ease}.approvals-filter-option:hover{background:#f1f5f9}.approvals-filter-option.selected{background:var(--primary-light, #fff7ed);color:#1a1a1a;font-weight:500}.approvals-filter-option svg{flex-shrink:0}.approvals-filter-count{font-size:13px;color:#94a3b8}.approvals-error{display:flex;align-items:center;gap:10px;padding:12px 20px;background:#fef2f2;color:#dc2626;font-size:14px;border-bottom:1px solid #fecaca}.approvals-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;text-align:center;color:#94a3b8}.approvals-empty svg{margin-bottom:16px;opacity:.5}.approvals-empty p{margin:0 0 4px;font-size:16px;font-weight:600;color:#475569}.approvals-empty span{font-size:14px}.approvals-table-wrapper{overflow-x:auto;max-height:65vh}.approvals-table{width:100%;border-collapse:collapse;font-size:14px}.approvals-th{padding:14px 16px;text-align:left;font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#000;background:var(--primary-hover, #fed7aa);border-bottom:1px solid var(--primary-hover, #fed7aa);border-right:1px solid rgba(0,0,0,.08);white-space:nowrap;position:sticky;top:0;z-index:10}.approvals-th:last-child{border-right:none}.approvals-th-content{display:flex;align-items:center;gap:6px}.approvals-th-content svg{color:#00000080}.approvals-th-expand{width:48px;text-align:center}.approvals-th-stage{min-width:200px}.approvals-th-status{width:120px;text-align:center}.approvals-th-status .approvals-th-content{justify-content:center}.approvals-th-approvers{width:180px}.approvals-th-requester{width:160px}.approvals-th-date{width:140px}.approvals-th-expires{width:150px}.approvals-th-actions{width:140px;text-align:center}.approvals-th-actions .approvals-th-content{justify-content:center}.approvals-tr{background:#fff;cursor:pointer;transition:background .1s ease}.approvals-tr:hover{background:#f8fafc}.approvals-tr.expanded{background:#f1f5f9}.approvals-td{padding:14px 16px;border-bottom:1px solid #e5e7eb;vertical-align:middle}.approvals-td-expand{text-align:center;width:48px}.approvals-expand-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:#94a3b8;transition:all .15s ease}.approvals-expand-btn:hover{background:#e2e8f0;color:#475569}.approvals-expand-btn svg{transition:transform .2s ease}.approvals-stage-cell{display:flex;flex-direction:column;gap:4px}.approvals-stage-name{font-weight:600;color:#1e293b}.approvals-stage-message{font-size:12px;color:#64748b;line-height:1.4;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.approvals-status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;border-radius:6px;white-space:nowrap}.approvals-status-badge.status-pending{background:#fef3c7;color:#92400e}.approvals-status-badge.status-approved{background:#dcfce7;color:#166534}.approvals-status-badge.status-rejected{background:#fee2e2;color:#991b1b}.approvals-status-badge.status-expired{background:#f1f5f9;color:#64748b}.approvals-approvers-cell{display:flex;flex-wrap:wrap;gap:6px}.approvals-approver-tag{display:inline-flex;align-items:center;padding:4px 10px;background:#e0e7ff;color:#3730a3;font-size:12px;font-weight:500;border-radius:12px;white-space:nowrap}.approvals-no-approvers{color:#cbd5e1}.approvals-requester-cell{display:flex;align-items:center;gap:10px}.approvals-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border-radius:50%;font-size:11px;font-weight:600;color:#4f46e5;flex-shrink:0}.approvals-td-date{color:#64748b;font-size:13px}.approvals-expires-badge{display:inline-flex;align-items:center;padding:4px 8px;background:#fef3c7;color:#92400e;font-size:12px;font-weight:500;border-radius:4px}.approvals-no-expiry{color:#cbd5e1}.approvals-action-btns{display:flex;align-items:center;justify-content:center;gap:8px}.approvals-action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.approvals-action-btn.approve{background:#dcfce7;color:#16a34a}.approvals-action-btn.approve:hover:not(:disabled){background:#22c55e;color:#fff;transform:scale(1.05)}.approvals-action-btn.reject{background:#fee2e2;color:#dc2626}.approvals-action-btn.reject:hover:not(:disabled){background:#ef4444;color:#fff;transform:scale(1.05)}.approvals-action-btn.view-release{background:#e0e7ff;color:#4f46e5}.approvals-action-btn.view-release:hover{background:#6366f1;color:#fff;transform:scale(1.05)}.approvals-action-btn:disabled{opacity:.5;cursor:not-allowed}.approvals-completed-label{font-size:12px;font-weight:500;padding:4px 10px;border-radius:4px}.approvals-completed-label.approved{background:#dcfce7;color:#166534}.approvals-completed-label.rejected{background:#fee2e2;color:#991b1b}.approvals-completed-label.expired{background:#f1f5f9;color:#64748b}.approvals-expanded-row{background:#f8fafc}.approvals-expanded-row td{padding:0;border-bottom:1px solid #e2e8f0}.approvals-expanded-content{padding:20px 24px;display:flex;flex-direction:column;gap:20px}.approvals-details-section{display:flex;flex-direction:column;gap:12px;padding:16px;background:#fff;border-radius:8px;border:1px solid #e2e8f0}.approvals-detail-item{display:flex;align-items:flex-start;gap:12px}.approvals-detail-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;min-width:140px;flex-shrink:0}.approvals-detail-value{font-size:14px;color:#1e293b}.approvals-type-badge{display:inline-flex;align-items:center;padding:4px 10px;background:#e0e7ff;color:#3730a3;font-size:12px;font-weight:500;border-radius:6px}.approvals-instructions{flex-direction:column;gap:8px}.approvals-instructions-text{font-size:14px;color:#334155;line-height:1.6;padding:12px 16px;background:#fef3c7;border-radius:6px;border-left:3px solid #f59e0b}.approvals-history h4,.approvals-comment-section h4{margin:0 0 12px;font-size:13px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.5px}.approvals-history-list{display:flex;flex-direction:column;gap:10px}.approvals-history-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:#fff;border-radius:8px;border:1px solid #e2e8f0}.approvals-history-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border-radius:50%;font-size:11px;font-weight:600;color:#4f46e5;flex-shrink:0}.approvals-history-details{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.approvals-history-user{font-weight:600;color:#1e293b}.approvals-history-action{font-size:13px;padding:2px 8px;border-radius:4px}.approvals-history-action.approved{background:#dcfce7;color:#166534}.approvals-history-action.rejected{background:#fee2e2;color:#991b1b}.approvals-history-time{font-size:12px;color:#94a3b8}.approvals-history-comment{flex-basis:100%;margin-top:8px;padding-left:44px;font-size:13px;color:#64748b;font-style:italic}.approvals-comment-form{display:flex;flex-direction:column;gap:12px}.approvals-comment-input{width:100%;padding:12px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:inherit;resize:none;transition:all .15s ease}.approvals-comment-input:focus{outline:none;border-color:var(--primary, #ea580c);box-shadow:0 0 0 3px #ea580c1a}.approvals-comment-input::placeholder{color:#94a3b8}.approvals-comment-actions{display:flex;gap:10px}.approvals-submit-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.approvals-submit-btn.approve{background:#22c55e;color:#fff}.approvals-submit-btn.approve:hover:not(:disabled){background:#16a34a}.approvals-submit-btn.reject{background:#fff;color:#dc2626;border:1px solid #dc2626}.approvals-submit-btn.reject:hover:not(:disabled){background:#fef2f2}.approvals-submit-btn:disabled{opacity:.6;cursor:not-allowed}.approvals-meta-section{display:flex;flex-wrap:wrap;gap:10px}.approvals-meta-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#fef3c7;color:#92400e;font-size:12px;font-weight:500;border-radius:6px}@media(max-width:768px){.approvals-header{flex-direction:column;gap:12px;align-items:stretch}.approvals-header-left,.approvals-header-right{justify-content:center}.approvals-filter-bar{flex-direction:column;gap:12px;align-items:stretch}.approvals-filter-group{justify-content:center}.approvals-filter-count{text-align:center}.approvals-table-wrapper{overflow-x:auto}.approvals-comment-actions{flex-direction:column}}.toast-notification{position:fixed;top:auto;bottom:24px;right:24px;z-index:10000;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;box-shadow:0 12px 28px #0000002e;animation:slideInUp .25s ease-out;max-width:320px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@keyframes slideInUp{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}.toast-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.toast-error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.toast-info{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.toast-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast-message{font-size:13px;font-weight:600;line-height:1.35}.toast-close{background:#fff3;border:none;border-radius:8px;padding:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0;margin-left:auto}.toast-close:hover{background:#ffffff4d}.approval-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn .2s ease-out}.approval-modal{background:#fff;border-radius:16px;padding:32px;max-width:420px;width:90%;box-shadow:0 20px 60px #0000004d;animation:scaleIn .25s ease-out;text-align:center}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.approval-modal-icon{margin-bottom:20px;display:flex;justify-content:center}.approval-modal-title{font-size:20px;font-weight:600;color:#111827;margin:0 0 12px}.approval-modal-message{font-size:14px;color:#6b7280;line-height:1.6;margin:0 0 24px}.approval-modal-actions{display:flex;gap:12px;justify-content:center}.approval-modal-btn{padding:10px 20px;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s;border:none}.approval-modal-btn.cancel{background:#f3f4f6;color:#374151}.approval-modal-btn.cancel:hover{background:#e5e7eb}.approval-modal-btn.confirm{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.approval-modal-btn.confirm:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.approval-modal-btn.info{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.approval-modal-btn.info:hover{background:linear-gradient(135deg,#d97706,#b45309)}.approval-modal-btn.warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.approval-modal-btn.warning:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b66}.releases-container{display:flex;height:100%;position:relative;overflow:hidden}.releases-main{flex:1;padding:16px 24px;overflow-y:auto;min-width:0}.releases-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:0;padding:16px 16px 12px}.releases-header-left{display:flex;align-items:center;gap:16px}.releases-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:#111827;margin:0}.releases-title svg{color:var(--primary)}.releases-count{font-size:13px;font-weight:500;color:#6b7280;background:#f3f4f6;padding:4px 10px;border-radius:12px}.releases-refresh-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;transition:all .15s ease}.releases-refresh-btn:hover{background:#f9fafb;color:#111827;border-color:#d1d5db}.releases-list{display:flex;flex-direction:column;gap:12px}.releases-table-container{background:#fff;border-radius:12px;border:1px solid #e0e0e0;overflow:hidden;box-shadow:0 2px 8px #0000000f}.releases-table-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line, #e5e7eb);gap:16px}.releases-search{display:flex;align-items:center;gap:10px;flex:1;max-width:400px;background:var(--bg, #f9fafb);border:1px solid var(--line, #e5e7eb);border-radius:8px;padding:8px 12px;transition:all .2s ease}.releases-search:focus-within{border-color:var(--primary, #f95d03);box-shadow:0 0 0 2px #f95d031a;background:#fff}.releases-search svg{color:var(--text-secondary, #6b7280);flex-shrink:0}.releases-search-input{flex:1;border:none;background:transparent;font-size:13px;color:var(--text, #1c1c1c);outline:none}.releases-search-input::placeholder{color:var(--text-secondary, #9ca3af)}.releases-search-clear{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:var(--text-secondary, #9ca3af);color:#fff;border-radius:50%;font-size:14px;line-height:1;cursor:pointer;transition:background-color .15s ease;flex-shrink:0}.releases-search-clear:hover{background:var(--text, #6b7280)}.releases-table-actions{display:flex;align-items:center;gap:16px}.releases-last-deployed-filter{display:flex;align-items:center;gap:8px;position:relative}.releases-last-deployed-filter label{font-size:12px;color:#6b7280;font-weight:600}.releases-last-deployed-trigger{min-width:190px;height:36px;border:1px solid #d1d5db;background:#fff;border-radius:10px;padding:0 12px;font-size:13px;color:#374151;outline:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:all .2s ease}.releases-last-deployed-trigger:hover{border-color:#9ca3af}.releases-last-deployed-trigger.open{border-color:var(--primary, #f95d03);box-shadow:0 0 0 2px #f95d031a}.releases-last-deployed-trigger svg{color:#6b7280;flex-shrink:0}.releases-last-deployed-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:190px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 24px #02061724;padding:6px;z-index:100}.releases-last-deployed-option{width:100%;border:none;background:transparent;color:#374151;text-align:left;padding:8px 10px;border-radius:8px;font-size:13px;cursor:pointer;transition:background .15s ease,color .15s ease}.releases-last-deployed-option:hover{background:#f3f4f6}.releases-last-deployed-option.selected{background:#f95d031a;color:var(--primary, #f95d03);font-weight:600}.releases-table-info{font-size:13px;color:var(--text-secondary, #6b7280)}.releases-sync-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--line, #e5e7eb);border-radius:8px;background:#fff;font-size:13px;font-weight:500;color:var(--text, #374151);cursor:pointer;transition:all .2s ease}.releases-sync-btn:hover:not(:disabled){border-color:var(--primary, #f95d03);color:var(--primary, #f95d03);background:var(--primary-10, rgba(249, 93, 3, .05))}.releases-sync-btn:disabled{opacity:.6;cursor:not-allowed}.releases-sync-btn svg.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.releases-sync-result{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin-bottom:16px;border-radius:8px;font-size:13px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.releases-sync-result.success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.releases-sync-result.error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.releases-sync-result.info{background:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}.releases-sync-result-close{background:transparent;border:none;font-size:18px;line-height:1;cursor:pointer;color:inherit;opacity:.7;padding:0 4px}.releases-sync-result-close:hover{opacity:1}.releases-no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.releases-no-results svg{color:var(--text-secondary, #9ca3af);margin-bottom:16px}.releases-no-results h3{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text, #1c1c1c)}.releases-no-results p{margin:0;font-size:14px;color:var(--text-secondary, #6b7280)}.releases-table-wrapper{overflow-x:auto;max-width:100%}.releases-table-wrapper::-webkit-scrollbar{height:8px}.releases-table-wrapper::-webkit-scrollbar-track{background:var(--bg, #f9fafb);border-radius:4px}.releases-table-wrapper::-webkit-scrollbar-thumb{background:var(--line, #d1d5db);border-radius:4px}.releases-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #9ca3af)}.releases-pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 20px;border-top:1px solid var(--line, #e5e7eb)}.releases-page-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line, #e5e7eb);border-radius:6px;background:#fff;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .15s ease}.releases-page-btn:hover:not(:disabled){border-color:var(--primary, #f95d03);color:var(--primary, #f95d03)}.releases-page-btn:disabled{opacity:.4;cursor:not-allowed}.releases-page-numbers{display:flex;align-items:center;gap:4px}.releases-page-num{min-width:32px;height:32px;padding:0 8px;border:1px solid var(--line, #e5e7eb);border-radius:6px;background:#fff;color:var(--text, #1c1c1c);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.releases-page-num:hover:not(.active){border-color:var(--primary, #f95d03);color:var(--primary, #f95d03)}.releases-page-num.active{background:var(--primary, #f95d03);border-color:var(--primary, #f95d03);color:#fff}.releases-page-ellipsis{color:var(--text-secondary, #9ca3af);padding:0 4px}.release-env-boxes{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.release-env-box{padding:6px 12px;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;font-weight:500;white-space:nowrap;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.release-env-box-name{line-height:1.1}.release-env-box-count{font-size:10px;line-height:1.1;opacity:.9;margin-top:2px}.release-env-box:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.release-env-box.deployed{background:#10b981;color:#fff}.release-env-box.deploying{background:#3b82f6;color:#fff;animation:pulse 1.5s infinite}.release-env-box.failed{background:#ef4444;color:#fff}.release-env-box.partial,.release-env-box.pending{background:#e5e7eb;color:#6b7280}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.release-env-none{color:var(--text-secondary, #9ca3af);font-size:13px}.releases-table{width:100%;min-width:max-content;border-collapse:collapse;font-size:14px}.releases-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #6b7280);background:var(--bg, #f9fafb);border-bottom:1px solid var(--line, #e5e7eb);white-space:nowrap}.releases-table th.th-slno{width:60px;text-align:center}.releases-table th.th-actions{width:80px;text-align:center}.releases-table tbody tr{transition:background-color .15s ease;background:#fff}.releases-table tbody tr:hover{background-color:#f95d030a}.releases-table tbody tr.releases-table-row-clickable{cursor:pointer}.releases-table tbody tr.releases-table-row-clickable:active{background-color:#f95d0314}.releases-table td{padding:14px 16px;border-bottom:1px solid var(--line, #e5e7eb);vertical-align:middle;color:var(--text, #1c1c1c)}.releases-table td.td-slno{text-align:center;color:var(--text-secondary, #6b7280);font-weight:500;font-size:13px}.releases-table td.td-actions{text-align:center}.release-version-cell{display:flex;align-items:center;gap:8px}.release-version-text{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:14px;font-weight:600;color:#1c1c1c}.release-description-cell{color:var(--text-secondary, #6b7280);font-size:13px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.release-status-badge-table{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;border:1px solid}.release-components-cell{display:flex;align-items:center;gap:6px;color:var(--text-secondary, #6b7280);font-size:13px}.release-components-cell svg{flex-shrink:0}.release-date-cell{color:var(--text-secondary, #6b7280);font-size:13px}.release-author-cell{display:flex;align-items:center;gap:8px;color:var(--text-secondary, #6b7280);font-size:13px}.release-author-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--primary, #f95d03) 0%,#ff8c42 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.release-open-btn-table{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--line, #e5e7eb);border-radius:6px;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .15s ease}.release-open-btn-table:hover{background:var(--primary, #f95d03);border-color:var(--primary, #f95d03);color:#fff}.release-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .2s ease}.release-card:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000a}.release-card.expanded{border-color:var(--primary);box-shadow:0 4px 12px #f95d031a}.release-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;transition:background .15s ease}.release-card-header:hover{background:#fafafa}.release-card-left{display:flex;align-items:center;gap:16px}.release-version{display:flex;align-items:flex-start;gap:10px}.release-version svg{color:var(--primary);flex-shrink:0;margin-top:2px}.release-title-group{display:flex;flex-direction:column;gap:4px}.release-name-row{display:flex;align-items:center;gap:12px}.release-name-row .release-description-text{padding-left:12px;border-left:1px solid #e5e7eb}.release-version-badge{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:15px;font-weight:600;color:#1c1c1c}.release-name-primary{font-size:15px;font-weight:600;color:#111827}.release-description-text{font-size:13px;font-weight:400;color:#6b7280;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-number{font-size:16px;font-weight:600;color:#111827;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace}.release-name{font-size:14px;color:#6b7280;padding-left:8px;border-left:1px solid #e5e7eb}.release-status-badge{font-size:12px;font-weight:600;padding:4px 10px;border-radius:6px;border:1px solid;text-transform:capitalize}.release-card-right{display:flex;align-items:center;gap:20px}.release-meta{display:flex;align-items:center;gap:16px;font-size:13px;color:#6b7280}.release-components-count{display:flex;align-items:center;gap:6px}.release-components-count svg{color:#9ca3af}.release-date,.release-author{color:#9ca3af}.release-expand-icon{color:#9ca3af;transition:transform .2s ease}.release-card.expanded .release-expand-icon{transform:rotate(180deg)}.release-card-body{padding:0 20px 20px;border-top:1px solid #f3f4f6;background:#fafafa}.release-section{padding-top:16px}.release-section+.release-section{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.release-section-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#374151;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.release-section-title svg{color:#6b7280}.release-components-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.release-component-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px 14px}.release-component-name{font-size:14px;font-weight:600;color:#111827;margin-bottom:6px}.release-component-versions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px}.version-label{color:#9ca3af}.version-value{color:#6b7280;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;background:#f3f4f6;padding:2px 6px;border-radius:4px}.release-environments-list{display:flex;flex-direction:column;gap:8px}.release-environment-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 14px}.env-status-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.env-info{display:flex;align-items:center;gap:10px;flex:1}.env-name{font-size:14px;font-weight:500;color:#111827}.env-deployed-at,.env-deployed-by{font-size:12px;color:#9ca3af}.releases-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;height:100%}.releases-empty-icon{color:#d1d5db;margin-bottom:20px}.releases-empty-state h3{font-size:18px;font-weight:600;color:#374151;margin:0 0 8px}.releases-empty-state p{font-size:14px;color:#6b7280;margin:0;max-width:360px}.releases-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;height:100%}.releases-loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:var(--primary);border-radius:50%;animation:releases-spin .8s linear infinite;margin-bottom:16px}@keyframes releases-spin{to{transform:rotate(360deg)}}.releases-loading p{font-size:14px;color:#6b7280;margin:0}.releases-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;height:100%}.releases-error h3{font-size:18px;font-weight:600;color:#374151;margin:16px 0 8px}.releases-error p{font-size:14px;color:#6b7280;margin:0 0 20px}.releases-retry-btn{padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease}.releases-retry-btn:hover{background:var(--primary-20)}.spin{animation:spin 1s linear infinite}@media(max-width:768px){.releases-container{padding:16px}.release-card-header{flex-direction:column;align-items:flex-start;gap:12px}.release-card-right{width:100%;justify-content:space-between}.release-meta{flex-wrap:wrap;gap:8px}.release-components-grid{grid-template-columns:1fr}}.releases-empty-inline{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;color:#9ca3af}.releases-empty-inline svg{margin-bottom:16px;color:#d1d5db}.releases-empty-inline h3{font-size:16px;font-weight:600;color:#374151;margin:0 0 8px}.releases-empty-inline p{font-size:14px;color:#6b7280;margin:0}.release-drawer{position:fixed;top:0;right:0;bottom:0;width:0;background:#fff;display:flex;flex-direction:column;overflow:hidden;transition:width .3s ease,box-shadow .3s ease;z-index:1000;box-shadow:none}.release-drawer.open{width:900px;box-shadow:-8px 0 30px #00000026}.release-drawer-overlay{position:fixed;inset:0;background:#0000004d;z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.release-drawer-overlay.visible{opacity:1;visibility:visible}.release-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #e5e7eb;background:#fff;flex-shrink:0;min-width:900px}.release-drawer-header h2{font-size:18px;font-weight:600;color:#111827;margin:0}.release-drawer-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .15s ease}.release-drawer-close:hover{background:#f3f4f6;color:#111827}.release-stepper{display:flex;align-items:center;justify-content:center;padding:16px 24px;background:#f9fafb;border-bottom:1px solid #e5e7eb;gap:12px}.release-stepper-step{display:flex;align-items:center;gap:8px}.release-stepper-number{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;background:#e5e7eb;color:#6b7280;transition:all .2s ease}.release-stepper-step.active .release-stepper-number{background:var(--primary);color:#fff}.release-stepper-step.completed .release-stepper-number{background:#10b981;color:#fff}.release-stepper-label{font-size:13px;font-weight:500;color:#9ca3af;transition:color .2s ease}.release-stepper-step.active .release-stepper-label,.release-stepper-step.completed .release-stepper-label{color:#111827}.release-stepper-connector{width:40px;height:2px;background:#e5e7eb;border-radius:1px}.release-step-header{margin-bottom:20px}.release-step-header h3{font-size:16px;font-weight:600;color:#111827;margin:0 0 6px}.release-step-header p{font-size:13px;color:#6b7280;margin:0}.release-drawer-body{flex:1;overflow-y:auto;padding:20px 24px;min-width:900px}.release-drawer-info{display:flex;align-items:center;gap:8px;padding:12px 14px;background:#f3f4f6;border-radius:8px;margin-bottom:20px}.release-drawer-pipeline-label{font-size:13px;color:#6b7280}.release-drawer-pipeline-name{font-size:14px;font-weight:600;color:#111827}.release-drawer-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid #e5e7eb;background:#fafafa;flex-shrink:0;min-width:900px}.release-drawer-cancel{padding:10px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s ease}.release-drawer-cancel:hover{background:#f9fafb;border-color:#d1d5db}.release-drawer-create{padding:10px 20px;background:var(--primary);border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:background .15s ease}.release-drawer-create:hover:not(:disabled){background:var(--primary-20)}.release-drawer-create:disabled{opacity:.5;cursor:not-allowed}.release-drawer-next{display:flex;align-items:center;gap:6px;padding:10px 20px;background:var(--primary);border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .15s ease}.release-drawer-next:hover:not(:disabled){background:var(--primary-20)}.release-drawer-next:disabled{opacity:.5;cursor:not-allowed}.release-drawer-back{display:flex;align-items:center;gap:6px;padding:10px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s ease}.release-drawer-back:hover{background:#f9fafb;border-color:#d1d5db}.release-form-row{display:flex;gap:16px;margin-bottom:20px}.release-form-row .release-form-group{flex:1;margin-bottom:0}.release-form-group{margin-bottom:20px}.release-form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.release-form-group label .required{color:#ef4444}.release-form-group input{width:100%;padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;transition:border-color .15s ease,box-shadow .15s ease}.release-form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #f95d031a}.release-form-group input::placeholder{color:#9ca3af}.release-description-input{width:100%;padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;color:#111827;resize:vertical;min-height:60px;transition:border-color .15s ease,box-shadow .15s ease}.release-description-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #f95d031a}.release-description-input::placeholder{color:#9ca3af}.searchable-dropdown{position:relative;width:100%}.searchable-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.searchable-dropdown-trigger:hover{border-color:#d1d5db}.searchable-dropdown-trigger.open{border-color:var(--primary);box-shadow:0 0 0 3px #f95d031a}.searchable-dropdown-trigger .placeholder{color:#6b7280}.searchable-dropdown-trigger .selected-value{color:#111827}.dropdown-chevron{flex-shrink:0;color:#6b7280;transition:transform .2s ease}.dropdown-chevron.open{transform:rotate(180deg)}.searchable-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 40px #00000026;z-index:1000;overflow:hidden;animation:dropdownSlideIn .15s ease-out}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.searchable-dropdown-search{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #f3f4f6;background:#fafafa}.searchable-dropdown-search svg{flex-shrink:0;color:#9ca3af}.searchable-dropdown-search input{flex:1;border:none;outline:none;font-size:14px;color:#111827;background:transparent}.searchable-dropdown-search input::placeholder{color:#9ca3af}.searchable-dropdown-search .search-clear{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:#e5e7eb;border-radius:4px;cursor:pointer;color:#6b7280;transition:all .15s ease}.searchable-dropdown-search .search-clear:hover{background:#d1d5db;color:#374151}.searchable-dropdown-options{max-height:280px;overflow-y:auto;padding:6px}.searchable-dropdown-options::-webkit-scrollbar{width:6px}.searchable-dropdown-options::-webkit-scrollbar-track{background:transparent}.searchable-dropdown-options::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:3px}.searchable-dropdown-options::-webkit-scrollbar-thumb:hover{background:#d1d5db}.searchable-dropdown-option{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .15s ease}.searchable-dropdown-option:hover{background:#f3f4f6}.searchable-dropdown-option.selected{background:linear-gradient(135deg,#f95d031a,#fa7d351a)}.searchable-dropdown-option.selected:hover{background:linear-gradient(135deg,#f95d0326,#fa7d3526)}.searchable-dropdown-option .option-content{display:flex;flex-direction:column;gap:2px}.searchable-dropdown-option .option-label{font-size:14px;font-weight:500;color:#111827}.searchable-dropdown-option.selected .option-label{color:var(--primary)}.searchable-dropdown-option .option-description{font-size:12px;color:#6b7280}.searchable-dropdown-option .option-check{flex-shrink:0;color:var(--primary)}.searchable-dropdown-empty{padding:20px;text-align:center;font-size:14px;color:#9ca3af}.release-form-divider{display:flex;align-items:center;gap:12px;margin:24px 0 20px}.release-form-divider h4{margin:0;font-size:13px;font-weight:600;color:#6b7280;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.release-form-divider:before{content:"";flex:1;height:1px;background:#e5e7eb}.release-form-hint{display:block;font-size:12px;color:#6b7280;margin-top:6px}.release-form-section{margin-bottom:20px}.release-form-section h3{font-size:14px;font-weight:600;color:#374151;margin:0 0 12px}.release-no-components{padding:20px;text-align:center;font-size:13px;color:#9ca3af;background:#f9fafb;border-radius:8px}.release-components-form{display:flex;flex-direction:column;gap:12px}.release-component-row{display:flex;flex-direction:column;gap:8px;padding:14px;background:#f9fafb;border-radius:10px}.release-component-row-name{font-size:14px;font-weight:600;color:#111827}.release-component-row-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.release-component-input-group{display:flex;flex-direction:column;gap:4px}.release-component-input-group label{font-size:12px;font-weight:500;color:#6b7280}.release-component-input-group input{padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#111827;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.release-component-input-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #f95d031a}.release-component-input-group input::placeholder{color:#9ca3af}.release-form-error{display:flex;align-items:center;gap:8px;padding:12px 14px;background:#fef2f2;border:1px solid #fee2e2;border-radius:8px;font-size:13px;color:#dc2626}.release-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#fafafa;border-radius:0 0 16px 16px}.release-modal-cancel{padding:10px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s ease}.release-modal-cancel:hover{background:#f9fafb;border-color:#d1d5db}.release-modal-create{padding:10px 20px;background:var(--primary);border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:background .15s ease}.release-modal-create:hover:not(:disabled){background:var(--primary-20)}.release-modal-create:disabled{background:var(--primary-50);cursor:not-allowed}.release-pipeline-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;margin-bottom:20px}.release-pipeline-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#f9fafb;cursor:pointer;transition:background .15s ease}.release-pipeline-header:hover{background:#f3f4f6}.release-pipeline-header-left{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:#374151}.release-pipeline-header-left svg{color:var(--primary)}.release-pipeline-header-right{display:flex;align-items:center;gap:10px}.release-pipeline-header-right svg{color:#9ca3af;transition:transform .2s ease}.release-pipeline-header-right svg.expanded{transform:rotate(180deg)}.release-manual-count{font-size:12px;font-weight:500;color:#f59e0b;background:#fef3c7;padding:4px 8px;border-radius:12px}.release-pipeline-content{padding:16px;border-top:1px solid #e5e7eb;background:#fff}.release-pipeline-hint{font-size:13px;color:#6b7280;margin:0 0 16px;line-height:1.5}.release-pipeline-steps{display:flex;flex-direction:column;gap:8px}.release-step-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;cursor:pointer;transition:all .15s ease}.release-step-card:focus{outline:2px solid var(--primary);outline-offset:2px}.release-step-card.automatic{background:#f3f4f6;border:1px solid #e5e7eb}.release-step-card.automatic:hover{background:#e5e7eb;border-color:#d1d5db}.release-step-card.manual{background:#fef3c7;border:1px solid #fcd34d}.release-step-card.manual:hover{background:#fde68a;border-color:#fbbf24}.release-step-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:6px;background:#0000000d}.release-step-card.automatic .release-step-icon svg{color:#6b7280}.release-step-card.manual .release-step-icon svg{color:#d97706}.release-step-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.release-step-name{font-size:14px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.release-step-type{font-size:12px;color:#6b7280}.release-step-trigger{flex-shrink:0}.release-step-auto-badge{font-size:11px;font-weight:500;color:#6b7280;background:#e5e7eb;padding:4px 10px;border-radius:12px}.release-step-manual-badge{font-size:11px;font-weight:600;color:#78350f;background:#fde68a;padding:4px 10px;border-radius:12px}.release-manual-summary{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-top:16px;font-size:13px;color:#1e40af;line-height:1.5}.release-manual-summary svg{flex-shrink:0;color:#3b82f6;margin-top:2px}.release-env-selection-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.release-env-selection-header{padding:16px 20px;background:linear-gradient(to bottom,#fafbfc,#f8f9fa);border-bottom:1px solid #e2e8f0}.release-env-selection-header h4{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#1e293b;margin:0 0 4px}.release-env-selection-header h4 svg{color:var(--primary)}.release-env-selection-header p{font-size:13px;color:#64748b;margin:0}.release-env-selection-list{padding:8px}.release-env-selection-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;transition:all .2s ease;margin-bottom:4px}.release-env-selection-item:last-child{margin-bottom:0}.release-env-selection-item:hover{background:#f8fafc}.release-env-selection-item.excluded{opacity:.5;background:#f8fafc}.release-env-checkbox-label{position:relative;display:flex;align-items:center;cursor:pointer}.release-env-checkbox-label input{position:absolute;opacity:0;cursor:pointer;width:0;height:0}.release-env-checkbox-custom{width:20px;height:20px;background:#fff;border:2px solid #cbd5e1;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.release-env-checkbox-custom:after{content:"";width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .15s ease;margin-bottom:2px}.release-env-checkbox-label input:checked+.release-env-checkbox-custom{background:var(--primary);border-color:var(--primary)}.release-env-checkbox-label input:checked+.release-env-checkbox-custom:after{transform:rotate(45deg) scale(1)}.release-env-checkbox-label:hover .release-env-checkbox-custom{border-color:var(--primary)}.release-env-selection-info{flex:1;display:flex;align-items:center;gap:12px;min-width:0}.release-env-selection-name{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#1e293b}.release-env-selection-name svg{color:#64748b;flex-shrink:0}.release-env-selection-type{font-size:11px;font-weight:500;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.release-env-selection-type.environment{background:#dbeafe;color:#1e40af}.release-env-selection-type.stage-group{background:#f3e8ff;color:#7c3aed}.release-env-trigger-toggle{display:flex;align-items:center;gap:5px;padding:6px 12px;font-size:11px;font-weight:600;border-radius:6px;border:none;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.3px}.release-env-trigger-toggle.automatic{background:#dcfce7;color:#166534}.release-env-trigger-toggle.automatic:hover{background:#bbf7d0}.release-env-trigger-toggle.manual{background:#fef3c7;color:#92400e}.release-env-trigger-toggle.manual:hover{background:#fde68a}.release-config-summary{display:flex;flex-direction:column;gap:8px;margin-top:16px}.release-config-summary-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.4}.release-config-summary-item.excluded{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.release-config-summary-item.excluded svg{color:#ef4444;flex-shrink:0}.release-config-summary-item.manual{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.release-config-summary-item.manual svg{color:#3b82f6;flex-shrink:0}.release-pipeline-config-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin-bottom:16px}.release-pipeline-canvas-wrapper{overflow:auto;max-height:320px;border-radius:8px;background:#fff;border:1px solid #e5e7eb}.release-config-card{position:absolute;width:120px;border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 2px 4px #00000014;transition:all .2s ease;overflow:hidden;border:2px solid transparent}.release-config-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.release-config-card-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:linear-gradient(135deg,#f95d03,#ff7b2e)}.release-config-card-header.excluded{background:linear-gradient(135deg,#9ca3af,#b8bfc9)}.release-config-card-header.approval{background:linear-gradient(135deg,#10b981,#34d399);justify-content:center}.release-config-card-header.approval svg{color:#fff}.release-config-card-type{font-size:9px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.release-config-trigger-btn{width:18px;height:18px;border-radius:4px;border:none;font-size:9px;font-weight:700;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.release-config-trigger-btn.automatic{background:#ffffffe6;color:#f95d03}.release-config-trigger-btn.automatic:hover{background:#fff}.release-config-trigger-btn.manual{background:#fef3c7;color:#92400e}.release-config-trigger-btn.manual:hover{background:#fde68a}.release-config-excluded-badge{display:flex;align-items:center;justify-content:center;color:#fff;opacity:.9}.release-config-card-body{padding:10px;background:#fff}.release-config-card-name{font-size:11px;font-weight:600;color:#374151;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.release-config-card.environment{border-color:#fdba74}.release-config-card.environment:hover{border-color:#f97316}.release-config-card.stage-group{border-color:#fdba74}.release-config-card.stage-group:hover{border-color:#f97316}.release-config-card.approval{border-color:#86efac;cursor:default}.release-config-card.approval:hover{transform:none;box-shadow:0 2px 4px #00000014}.release-config-card.excluded{border-color:#d1d5db;opacity:.7}.release-config-card.excluded:hover{border-color:#9ca3af;opacity:.85}.release-config-card.excluded .release-config-card-body{background:#f9fafb}.release-config-card.excluded .release-config-card-name{color:#9ca3af}.release-pipeline-legend{display:flex;align-items:center;gap:20px;margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.release-pipeline-legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:#6b7280}.release-pipeline-legend-color{width:16px;height:12px;border-radius:3px}.release-pipeline-legend-color.included{background:linear-gradient(135deg,#f95d03,#ff7b2e);border:1px solid #f97316}.release-pipeline-legend-color.excluded{background:linear-gradient(135deg,#9ca3af,#b8bfc9);border:1px solid #9ca3af;opacity:.7}.release-pipeline-legend-badge{width:16px;height:16px;border-radius:4px;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center}.release-pipeline-legend-badge.auto{background:#fff7ed;color:#f95d03;border:1px solid #fdba74}.release-pipeline-legend-badge.manual{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.release-artifacts-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;overflow:visible;margin-bottom:20px}.release-artifacts-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#f9fafb;cursor:pointer;transition:background .15s ease}.release-artifacts-header:hover{background:#f3f4f6}.release-artifacts-header-left{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:#374151}.release-artifacts-header-left svg{color:var(--primary)}.release-artifacts-header-right{display:flex;align-items:center;gap:10px}.release-artifacts-header-right svg{color:#9ca3af;transition:transform .2s ease}.release-artifacts-header-right svg.expanded{transform:rotate(180deg)}.release-artifacts-content{padding:16px;border-top:1px solid #e5e7eb;background:#fff;overflow:visible}.release-artifacts-hint{font-size:13px;color:#6b7280;margin:0 0 16px;line-height:1.5}.release-no-artifacts{padding:20px;text-align:center;font-size:13px;color:#9ca3af;background:#f9fafb;border-radius:8px}.release-artifacts-section-v2{margin-top:20px;overflow:visible}.release-artifacts-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.release-artifacts-title-left{flex:1}.release-artifacts-title-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.select-components-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.select-components-toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:relative;width:36px;height:20px;background:#e5e7eb;border-radius:10px;transition:all .2s ease}.toggle-slider:before{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:all .2s ease;box-shadow:0 1px 3px #00000026}.select-components-toggle input:checked+.toggle-slider{background:var(--primary)}.select-components-toggle input:checked+.toggle-slider:before{transform:translate(16px)}.toggle-label{font-size:13px;font-weight:500;color:#6b7280;transition:color .15s ease}.select-components-toggle input:checked~.toggle-label{color:var(--primary)}.release-artifacts-title h3{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#111827;margin:0 0 4px}.release-artifacts-title h3 svg{color:var(--primary);flex-shrink:0}.release-artifacts-title p{font-size:13px;color:#6b7280;margin:0}.add-component-dropdown-container{position:relative}.release-add-component-btn-inline{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;color:var(--primary);background:#fff;border:1px solid var(--primary);border-radius:6px;cursor:pointer;transition:all .15s ease}.release-add-component-btn-inline:hover{background:#6366f10d}.release-add-component-btn-inline.open{background:#6366f11a;border-color:var(--primary)}.add-component-chevron{transition:transform .2s ease;margin-left:2px}.release-add-component-btn-inline.open .add-component-chevron{transform:rotate(180deg)}.add-component-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:220px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 20px #0000001f;z-index:9999;overflow:hidden}.add-component-dropdown-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.add-component-dropdown-search svg{color:#9ca3af;flex-shrink:0}.add-component-dropdown-search input{flex:1;border:none;background:transparent;font-size:13px;color:#374151;outline:none}.add-component-dropdown-search input::placeholder{color:#9ca3af}.add-component-dropdown-options{max-height:240px;overflow-y:auto;padding:4px}.add-component-dropdown-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:13px;color:#374151;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease;text-align:left}.add-component-dropdown-option:hover{background:#6366f114;color:var(--primary)}.add-component-dropdown-option svg{color:#9ca3af;flex-shrink:0}.add-component-dropdown-option:hover svg{color:var(--primary)}.add-component-dropdown-empty{padding:16px 12px;font-size:13px;color:#9ca3af;text-align:center}.artifacts-table-bordered{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #e2e8f0;border-radius:12px;overflow:visible;background:#fff;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005}.artifacts-table-bordered thead{background:linear-gradient(to bottom,#fafbfc,#f8f9fa)}.artifacts-table-bordered th{padding:14px 18px;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.8px;text-align:left;border-bottom:2px solid #e2e8f0;position:relative}.artifacts-table-bordered th:first-child{border-top-left-radius:11px}.artifacts-table-bordered th:last-child{border-top-right-radius:11px}.artifacts-table-bordered th.col-deploy{width:80px;text-align:center}.artifacts-table-bordered th.col-source{width:auto;min-width:160px}.artifacts-table-bordered th.col-key{width:200px}.artifacts-table-bordered th.col-version{width:300px}.artifacts-table-bordered th.col-actions{width:100px;text-align:center}.artifacts-table-bordered tbody tr{transition:all .2s ease}.artifacts-table-bordered tbody tr:hover{background:linear-gradient(to right,#6366f105,#6366f10a)}.artifacts-table-bordered tbody tr.excluded{opacity:.5}.artifacts-table-bordered td{padding:16px 18px;font-size:14px;color:#1e293b;border-bottom:1px solid #f1f5f9;vertical-align:middle}.artifacts-table-bordered tbody tr:last-child td{border-bottom:none}.artifacts-table-bordered tbody tr:last-child td:first-child{border-bottom-left-radius:11px}.artifacts-table-bordered tbody tr:last-child td:last-child{border-bottom-right-radius:11px}.artifacts-table-bordered td.col-deploy{text-align:center}.artifacts-table-bordered td.col-deploy input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary);border-radius:4px}.artifacts-table-bordered td.col-source{font-weight:600;vertical-align:top;padding-top:18px;background:linear-gradient(to right,#fafbfc,#fff);color:#334155;border-right:1px solid #e2e8f0}.artifacts-table-bordered td.col-source.excluded{color:#94a3b8;text-decoration:line-through}.artifacts-table-bordered td.col-version{position:relative;overflow:visible}.artifacts-table-bordered td.col-actions{text-align:center}.artifact-remove-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#94a3b8;cursor:pointer;transition:all .2s ease}.artifact-remove-btn:hover{background:#fef2f2;border-color:#fecaca;color:#ef4444;transform:scale(1.05)}.artifacts-table-bordered td.col-key{padding:12px 14px}.version-key-input{width:100%;padding:10px 14px;font-size:13px;font-family:SF Mono,Monaco,Courier New,monospace;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;transition:all .2s ease;box-shadow:0 1px 2px #0000000a}.version-key-input:hover{border-color:#cbd5e1}.version-key-input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #6366f11f,0 1px 2px #0000000a}.version-key-input::placeholder{color:#94a3b8}.key-dropdown{position:relative;width:100%}.key-dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-family:SF Mono,Monaco,Courier New,monospace;color:#334155;background:#fff;cursor:pointer;transition:all .2s ease;text-align:left;box-shadow:0 1px 2px #0000000a}.key-dropdown-trigger:hover{border-color:#cbd5e1;background:#fafbfc}.key-dropdown-trigger.open{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11f,0 1px 2px #0000000a}.key-dropdown-trigger svg{flex-shrink:0;color:#94a3b8;transition:transform .2s ease}.key-dropdown-trigger.open svg{transform:rotate(180deg);color:var(--primary)}.key-dropdown-trigger .placeholder{color:#94a3b8}.key-dropdown-trigger .has-value{font-weight:500}.key-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;width:max-content;max-width:260px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;z-index:9999;overflow:hidden;animation:dropdownFadeIn .15s ease;padding:4px}.key-dropdown-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:none;background:none;cursor:pointer;font-size:13px;font-family:SF Mono,Monaco,Courier New,monospace;color:#334155;border-radius:6px;transition:background .15s ease;text-align:left}.key-dropdown-option:hover{background:#f1f5f9}.key-dropdown-option.selected{background:rgba(var(--primary-rgb, 245, 104, 22),.08);color:var(--primary);font-weight:500}.key-dropdown-option svg{flex-shrink:0;color:var(--primary)}.key-dropdown-empty{padding:12px 10px;font-size:12px;color:#94a3b8;text-align:center}.artifacts-table-bordered tbody tr.version-continuation{border-top:1px dashed #e5e7eb}.artifacts-table-bordered tbody tr.version-continuation td{border-top:none}.source-name{font-weight:500}.version-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#cbd5e1;cursor:pointer;transition:all .2s ease}.version-remove-btn:hover{background:#fef2f2;border-color:#fecaca;color:#ef4444;transform:scale(1.05)}.version-actions{display:flex;align-items:center;justify-content:center;gap:8px;position:relative}.add-version-icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:#fff;border:1px dashed #cbd5e1;border-radius:6px;color:var(--primary);cursor:pointer;transition:all .2s ease}.add-version-icon-btn:hover{background:#6366f114;border-color:var(--primary);border-style:solid;transform:scale(1.05)}.add-version-inline{display:flex;align-items:center;gap:4px}.version-key-input-inline{width:100px;padding:4px 8px;font-size:12px;font-family:SF Mono,Monaco,Courier New,monospace;border:1px solid var(--primary);border-radius:4px;background:#fff;color:#374151}.version-key-input-inline:focus{outline:none;box-shadow:0 0 0 2px #6366f133}.version-key-input-inline::placeholder{color:#9ca3af;font-size:11px}.add-version-confirm-inline,.add-version-cancel-inline{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease}.add-version-confirm-inline{background:var(--primary);color:#fff}.add-version-confirm-inline:hover:not(:disabled){background:var(--primary-dark, #4f46e5)}.add-version-confirm-inline:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}.add-version-cancel-inline{background:#f3f4f6;color:#6b7280}.add-version-cancel-inline:hover{background:#fee2e2;color:#ef4444}.add-version-type-dropdown{position:absolute;left:50%;transform:translate(-50%);top:100%;z-index:20;min-width:140px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:4px;display:flex;flex-direction:column;gap:2px}.add-version-type-option{display:block;width:100%;padding:7px 12px;font-size:12px;font-family:SF Mono,Monaco,Courier New,monospace;text-align:left;background:none;border:none;border-radius:5px;color:#374151;cursor:pointer;transition:background .15s ease}.add-version-type-option:hover{background:#f0f4ff;color:var(--primary)}.add-version-type-cancel{display:block;width:100%;padding:6px 12px;font-size:11px;text-align:center;background:none;border:none;border-top:1px solid #f0f0f0;color:#9ca3af;cursor:pointer;margin-top:2px}.add-version-type-cancel:hover{color:#ef4444}.release-artifacts-table{display:flex;flex-direction:column;overflow:visible}.release-artifacts-table-header{display:flex;align-items:center;padding:10px 14px;border-bottom:1px solid #e5e7eb;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.release-artifacts-col-include{width:60px;flex-shrink:0;text-align:center}.release-artifacts-col-source{flex:1;min-width:0}.release-artifacts-col-version{width:280px;flex-shrink:0}.release-artifact-row{display:flex;align-items:center;padding:14px;border-bottom:1px solid #f3f4f6;transition:background .15s ease;position:relative}.release-artifact-row:last-child{border-bottom:none}.release-artifact-row:hover{background:#f9fafb}.release-artifact-include{width:60px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.release-artifact-include input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-button)}.release-artifact-row.excluded{opacity:.6;background:#f9fafb}.release-artifact-name{flex:1;min-width:0;font-size:14px;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.release-artifact-name.excluded{text-decoration:line-through;color:#9ca3af}.release-artifact-version-select{width:280px;flex-shrink:0}.release-artifact-version-input{width:100%;padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.release-artifact-version-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #f95d031a}.release-artifact-version-input::placeholder{color:#9ca3af}.custom-dropdown{position:relative;width:100%}.custom-dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;background:#fff;cursor:pointer;transition:all .2s ease;text-align:left;box-shadow:0 1px 2px #0000000a}.custom-dropdown-trigger:hover{border-color:#cbd5e1;background:#fafbfc}.custom-dropdown-trigger.open{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11f,0 1px 2px #0000000a}.custom-dropdown-trigger svg{flex-shrink:0;color:#94a3b8;transition:transform .2s ease}.custom-dropdown-trigger.open svg{transform:rotate(180deg);color:var(--primary)}.custom-dropdown-trigger .placeholder{color:#94a3b8}.custom-dropdown-trigger .has-value{font-weight:500;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:13px;color:#334155}.custom-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:100%;width:max-content;max-width:340px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 48px #0000001f,0 4px 12px #0000000f;z-index:9999;overflow:hidden;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.custom-dropdown-toolbar{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.custom-dropdown-search{flex:1;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;transition:all .15s ease}.custom-dropdown-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #f95d031a}.custom-dropdown-search svg{flex-shrink:0;color:#9ca3af}.custom-dropdown-search input{flex:1;border:none;background:transparent;font-size:13px;color:#111827;outline:none;min-width:0}.custom-dropdown-search input::placeholder{color:#9ca3af}.custom-dropdown-refresh{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .15s ease;flex-shrink:0}.custom-dropdown-refresh:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db;color:#374151}.custom-dropdown-refresh:disabled{opacity:.6;cursor:not-allowed}.custom-dropdown-refresh.refreshing svg{animation:spin 1s linear infinite}.custom-dropdown-empty{padding:16px;text-align:center;font-size:13px;color:#9ca3af}.custom-dropdown-header{padding:10px 14px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.custom-dropdown-options{max-height:200px;overflow-y:auto;padding:6px}.custom-dropdown-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:none;background:transparent;border-radius:6px;font-size:14px;color:#374151;cursor:pointer;transition:all .1s ease;text-align:left}.custom-dropdown-option:hover{background:#f3f4f6}.custom-dropdown-option.selected{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);color:#0369a1}.custom-dropdown-option.selected:hover{background:linear-gradient(135deg,#e0f2fe,#bae6fd)}.custom-dropdown-option .option-version{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px}.option-latest-badge{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:10px;font-weight:600;color:#059669;background:#d1fae5;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.custom-dropdown-option svg{flex-shrink:0;color:#0ea5e9}.custom-dropdown-options::-webkit-scrollbar{width:6px}.custom-dropdown-options::-webkit-scrollbar-track{background:transparent}.custom-dropdown-options::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.custom-dropdown-options::-webkit-scrollbar-thumb:hover{background:#9ca3af}.release-artifacts-col-actions{width:40px;flex-shrink:0}.release-artifact-remove-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;transition:all .15s ease;flex-shrink:0}.release-artifact-remove-btn:hover{background:#fef2f2;color:#ef4444}.release-component-actions{display:flex;gap:10px;margin-top:12px;padding-top:12px;border-top:1px dashed #e5e7eb}.release-select-components-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease;white-space:nowrap}.release-select-components-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.release-select-components-btn.active{background:var(--primary-button);border-color:var(--primary-button);color:#fff}.release-select-components-btn.active:hover{opacity:.9}.release-select-components-btn svg{color:currentColor}.release-add-component-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease;flex:1;justify-content:center}.release-add-component-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.release-add-component-btn svg{color:#9ca3af}.release-add-component-btn:hover svg{color:#6b7280}.release-add-component-dropdown{display:flex;gap:10px;align-items:center}.release-add-component-select{flex:1;padding:10px 36px 10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;background:#fff;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color .15s ease,box-shadow .15s ease}.release-add-component-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #f95d031a}.release-add-component-cancel{padding:10px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease;white-space:nowrap}.release-add-component-cancel:hover{background:#f9fafb;border-color:#d1d5db}.release-pipeline-canvas-wrapper{border:1px solid #e5e7eb;border-radius:8px;overflow:auto;background:linear-gradient(90deg,#e5e7eb 1px,transparent 1px),linear-gradient(#e5e7eb 1px,transparent 1px);background-size:15px 15px;background-color:#f8fafc;max-height:280px}.release-pipeline-canvas{position:relative;min-width:100%;min-height:200px}.release-pipeline-canvas-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.release-canvas-card{position:absolute;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 1px 3px #0000001a;transition:all .15s ease;border:2px solid #e5e7eb;min-width:100px;max-width:140px}.release-canvas-card:hover{box-shadow:0 3px 8px #0000001f;transform:translateY(-1px)}.release-canvas-card:focus{outline:none;border-color:var(--primary, #f95d03)}.release-canvas-card.manual{border-color:#fcd34d;background:linear-gradient(180deg,#fefce8,#fff);cursor:default}.release-canvas-card.manual:hover{transform:none;box-shadow:0 1px 3px #0000001a}.release-canvas-card.automatic{border-color:#d1d5db}.release-canvas-card.stage-group{border-left:3px solid var(--primary, #f95d03)}.release-canvas-card.stage-group.manual{border-left-color:#f59e0b}.release-canvas-card.approval{border-color:#a7f3d0;border-left:3px solid #10b981;cursor:default}.release-canvas-card.approval:hover{transform:none}.release-canvas-card-badge{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:10px;font-weight:700;flex-shrink:0}.release-canvas-card.manual .release-canvas-card-badge{background:#fef3c7;color:#92400e}.release-canvas-card.automatic .release-canvas-card-badge{background:#f3f4f6;color:#6b7280}.release-canvas-card-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:#10b981;flex-shrink:0}.release-canvas-card-name{font-size:11px;font-weight:600;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.release-card-actions{display:flex;align-items:center;gap:10px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #f3f4f6}.release-open-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-20) 100%);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.release-open-btn:hover{background:linear-gradient(135deg,var(--primary-20) 0%,#e85d04 100%);transform:translateY(-1px);box-shadow:0 4px 12px #f95d034d}.release-open-btn svg{width:16px;height:16px}.releases-container.release-detail-view{flex-direction:column;width:100%;height:100%}.release-detail-nav-bar{background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0}.release-detail-nav-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;max-width:100%}.releases-container.release-detail-view .releases-main{padding:0;display:flex;flex-direction:column;overflow:hidden}.releases-container.release-detail-view .release-detail-content{padding:16px;overflow-y:auto}.releases-container.release-detail-view .release-detail-content.pipeline-tab{padding:0;gap:0}.release-detail-nav-left{display:flex;align-items:center;gap:16px}.release-back-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:none;border-radius:6px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.release-back-btn:hover{background:#f3f4f6;color:#111827}.release-back-btn svg{color:#9ca3af}.release-back-btn:hover svg{color:#6b7280}.release-detail-nav-divider{width:1px;height:24px;background:#e5e7eb}.release-detail-nav-title{display:flex;align-items:center;gap:10px}.release-detail-nav-title svg{color:var(--primary);flex-shrink:0}.release-detail-nav-title-text{display:flex;flex-direction:column;gap:2px}.release-detail-nav-name{font-size:15px;font-weight:600;color:#111827}.release-detail-nav-description{font-size:12px;font-weight:400;color:#6b7280;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.release-detail-nav-version{font-size:12px;font-weight:500;color:#6b7280;background:#f3f4f6;padding:3px 8px;border-radius:4px}.release-status-dropdown-container{position:relative;margin-left:16px}.release-status-dropdown-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;border:1px solid;border-radius:6px;cursor:pointer;transition:all .15s ease;background:transparent}.release-status-dropdown-trigger:hover{opacity:.9}.release-status-dropdown-trigger:disabled{cursor:not-allowed;opacity:.6}.release-status-dropdown-trigger svg{transition:transform .15s ease}.release-status-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:160px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:100;padding:4px}.release-status-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:13px;font-weight:500;color:#374151;background:transparent;border:none;border-radius:6px;cursor:pointer;text-align:left;transition:background .15s ease}.release-status-dropdown-item:hover{background:#f3f4f6}.release-status-dropdown-item.active{background:#f3f4f6;color:#111827}.release-status-dropdown-item:disabled{cursor:default}.release-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.release-detail-nav-tabs{display:flex;align-items:center;gap:4px}.release-detail-nav-tab{padding:8px 16px;background:transparent;border:none;border-radius:6px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.release-detail-nav-tab:hover{background:#f3f4f6;color:#374151}.release-detail-nav-tab.active,.release-detail-nav-tab.active:hover{background:var(--secondary-button);color:#fff}.release-detail-content{display:flex;flex-direction:column;gap:24px;flex:1;overflow:hidden}.release-detail-title-row{display:flex;align-items:center;justify-content:space-between}.release-detail-title{display:flex;align-items:center;gap:12px}.release-detail-title h1{margin:0;font-size:24px;font-weight:600;color:#111827}.release-detail-title svg{color:var(--primary)}.release-detail-status-badge{font-size:13px;font-weight:500;padding:6px 14px;border-radius:8px;border:1px solid;text-transform:capitalize}.release-overview-layout{display:flex;gap:0;height:100%;background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.release-overview-sidebar{width:220px;min-width:220px;background:#f9fafb;border-right:1px solid #e5e7eb;padding:16px 0}.release-overview-nav{display:flex;flex-direction:column;gap:2px}.release-overview-nav-item{display:flex;align-items:center;gap:10px;padding:12px 20px;background:transparent;border:none;font-size:14px;font-weight:500;color:#4b5563;cursor:pointer;transition:all .15s ease;text-align:left;width:100%;border-left:3px solid transparent}.release-overview-nav-item:hover{background:#f3f4f6;color:#111827}.release-overview-nav-item.active{background:#fff;color:var(--primary);border-left-color:var(--primary)}.release-overview-nav-item.active svg{color:var(--primary)}.release-overview-nav-item svg{color:#9ca3af;flex-shrink:0}.release-overview-nav-item:hover svg{color:#6b7280}.release-overview-main{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.release-overview-split{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;height:100%}.release-overview-notes-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px 24px;display:flex;flex-direction:column;min-height:0}.release-overview-info-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px 24px}.release-notes-file-content{flex:1;overflow-y:auto;margin-top:8px}.release-notes-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.6;color:#374151;white-space:pre-wrap;word-wrap:break-word;margin:0;padding:0}.release-notes-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:#9ca3af;text-align:center}.release-notes-empty-state svg{color:#d1d5db}.release-notes-empty-state span{font-size:14px}@media(max-width:1000px){.release-overview-split{grid-template-columns:1fr}}.release-detail-empty-state{padding:40px 20px;text-align:center;color:#6b7280;font-size:14px}.release-detail-info-item.full-width{grid-column:1 / -1}.release-detail-split-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}@media(max-width:1200px){.release-detail-split-layout{grid-template-columns:1fr}}.release-detail-info-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px 24px}.release-detail-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.release-detail-info-item{display:flex;flex-direction:column;gap:4px}.release-detail-info-item .info-label{font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.release-detail-info-item .info-value{font-size:14px;font-weight:500;color:#111827}.release-history-panel{margin-top:16px;padding-top:12px;border-top:1px solid #eef2f7}.release-history-title{margin:0 0 10px;font-size:13px;font-weight:600;color:#111827;text-transform:uppercase;letter-spacing:.3px}.release-history-loading,.release-history-empty{font-size:12px;color:#6b7280}.release-history-list{display:flex;flex-direction:column;gap:8px}.release-history-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #eef2f7;border-radius:8px;background:#fafafa}.release-history-type{font-size:10px;font-weight:700;letter-spacing:.4px;padding:4px 6px;border-radius:6px;background:#e2e8f0;color:#475569;min-width:28px;text-align:center}.release-history-type.stage-group{background:#fde68a;color:#92400e}.release-history-type.environment{background:#dbeafe;color:#1d4ed8}.release-history-main{flex:1;min-width:0}.release-history-name{font-size:13px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.release-history-meta{display:flex;gap:8px;font-size:11px;color:#6b7280}.release-history-status{font-size:11px;font-weight:600;text-transform:capitalize;padding:4px 8px;border-radius:10px;background:#f3f4f6;color:#6b7280}.release-history-status.success,.release-history-status.deployed,.release-history-status.completed{background:#dcfce7;color:#16a34a}.release-history-status.failed{background:#fee2e2;color:#dc2626}.release-history-status.running,.release-history-status.deploying{background:#dbeafe;color:#2563eb}.release-history-status.cancelled{background:#fef3c7;color:#d97706}.release-detail-section-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px 24px}.release-detail-section-header{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:#111827;margin:0 0 16px}.release-detail-section-header svg{color:var(--primary)}.section-count{font-size:12px;font-weight:500;color:#6b7280;background:#f3f4f6;padding:2px 10px;border-radius:12px;margin-left:4px}.release-detail-components-list{display:flex;flex-direction:column;gap:10px}.release-detail-component-row{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#f9fafb;border-radius:10px;transition:all .15s ease}.release-detail-component-row:hover{background:#f3f4f6}.release-detail-component-row .component-name{font-size:14px;font-weight:600;color:#111827}.release-detail-component-row .component-versions{display:flex;align-items:center;gap:12px}.version-chip{display:flex;align-items:center;gap:8px}.version-chip .version-label{font-size:11px;font-weight:500;color:#9ca3af;text-transform:uppercase;letter-spacing:.3px}.version-chip .version-value{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:13px;font-weight:500;color:#374151;background:#fff;border:1px solid #e5e7eb;padding:4px 10px;border-radius:6px}.release-components-table-wrapper{overflow-x:auto}.release-components-table{width:100%;border-collapse:collapse;font-size:14px}.release-components-table thead{background:#f8fafc;border-bottom:2px solid #e5e7eb}.release-components-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.release-components-table .components-th-name{min-width:180px}.release-components-table .components-th-version{min-width:140px;text-align:center}.release-components-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .15s ease}.release-components-table tbody tr:hover{background:#f8fafc}.release-components-table tbody tr:last-child{border-bottom:none}.release-components-table td{padding:14px 16px;vertical-align:middle}.release-components-table .components-td-name{display:flex;align-items:center;gap:12px;font-weight:600;color:#1f2937}.release-components-table .component-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-20) 100%);color:#fff;font-size:13px;font-weight:700;border-radius:8px;flex-shrink:0}.release-components-table .components-td-version{text-align:center}.release-components-table .version-badge{display:inline-block;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:13px;font-weight:500;color:#374151;background:#fff;border:1px solid #e5e7eb;padding:6px 12px;border-radius:6px}.release-components-table .version-na{color:#cbd5e1;font-size:14px}.release-detail-deployments-list{display:flex;flex-direction:column;gap:10px}.release-detail-deployment-row{display:flex;align-items:flex-start;gap:14px;padding:14px 18px;background:#f9fafb;border-radius:10px}.release-detail-deployment-row .deployment-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.release-detail-deployment-row .deployment-icon svg{width:20px;height:20px}.release-detail-deployment-row .deployment-details{flex:1;min-width:0}.release-detail-deployment-row .deployment-env{font-size:14px;font-weight:600;color:#111827;margin-bottom:4px}.release-detail-deployment-row .deployment-meta-text{font-size:12px;color:#6b7280}.release-detail-deployment-row .deployment-notes-text{margin-top:8px;font-size:13px;color:#6b7280;background:#fff;padding:8px 12px;border-radius:6px;font-style:italic}.deployment-status-tag{font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;text-transform:capitalize;flex-shrink:0}.deployment-status-tag.deployed{color:#059669;background:#d1fae5}.deployment-status-tag.deploying{color:#2563eb;background:#dbeafe}.deployment-status-tag.pending{color:#d97706;background:#fef3c7}.deployment-status-tag.failed{color:#dc2626;background:#fee2e2}.deployment-status-tag.rolled_back{color:var(--primary);background:var(--primary-light)}.release-pipeline-fullscreen{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.pipeline-zoom-toolbar{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:4px;padding:8px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 12px #0000001a;z-index:10}.pipeline-zoom-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#6b7280;cursor:pointer;transition:all .15s ease}.pipeline-zoom-btn:hover:not(:disabled){background:#f3f4f6;color:#111827}.pipeline-zoom-btn:disabled{color:#d1d5db;cursor:not-allowed}.pipeline-zoom-btn svg{width:18px;height:18px}.pipeline-zoom-level{min-width:50px;text-align:center;font-size:14px;font-weight:500;color:#374151;padding:0 8px}.pipeline-zoom-divider{width:1px;height:24px;background:#e5e7eb;margin:0 4px}.release-pipeline-fullscreen .release-pipeline-loading{flex:1;display:flex;align-items:center;justify-content:center;gap:12px;color:#6b7280;font-size:14px}.release-pipeline-fullscreen .release-pipeline-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:14px}.release-pipeline-fullscreen .release-detail-canvas-wrapper{flex:1;border:none;border-radius:0;max-height:none;min-height:0;overflow:auto;background:linear-gradient(90deg,#f3f4f6 1px,transparent 1px),linear-gradient(#f3f4f6 1px,transparent 1px);background-size:20px 20px;background-color:#fafafa}.release-pipeline-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:#6b7280;font-size:14px}.release-pipeline-empty{padding:40px 20px;text-align:center;color:#9ca3af;font-size:14px}.release-detail-canvas-wrapper{border:1px solid #e5e7eb;border-radius:12px;overflow:auto;background:linear-gradient(90deg,#f3f4f6 1px,transparent 1px),linear-gradient(#f3f4f6 1px,transparent 1px);background-size:20px 20px;background-color:#fafafa;min-height:250px;max-height:400px}.release-detail-canvas{position:relative;min-width:100%;min-height:250px;padding:20px}.release-detail-step-card{position:absolute;display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:#fff;border-radius:10px;border:2px solid #e5e7eb;width:160px;box-shadow:0 2px 8px #0000000f;transition:all .2s ease}.release-detail-step-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.release-detail-step-card.environment.deployed{border-color:#10b981;background:linear-gradient(180deg,#ecfdf5,#fff)}.release-detail-step-card.environment.deploying{border-color:#3b82f6;background:linear-gradient(180deg,#eff6ff,#fff)}.release-detail-step-card.environment.pending{border-color:#f59e0b;background:linear-gradient(180deg,#fffbeb,#fff)}.release-detail-step-card.environment.failed{border-color:#ef4444;background:linear-gradient(180deg,#fef2f2,#fff)}.release-detail-step-card.stage-group{border-left:4px solid var(--primary)}.release-detail-step-card.approval{border-left:4px solid #6b7280;cursor:pointer}.release-detail-step-card.approval:hover{background:#fafafa}.release-detail-step-card.approval.approved{border-left:4px solid #10b981;background:#f0fdf4}.release-detail-step-card.approval.pending{border-left:4px solid #f59e0b;background:#fffbeb}.release-detail-step-card.approval.rejected{border-left:4px solid #ef4444;background:#fef2f2}.approval-status-not-requested{color:#6b7280}.approval-status-approved{color:#10b981;font-weight:600}.approval-status-pending{color:#f59e0b;font-weight:600}.approval-status-rejected{color:#ef4444;font-weight:600}.step-card-actions{margin-top:8px;display:flex;gap:6px}.step-card-action-btn.request-approval{padding:4px 10px;font-size:11px;font-weight:500;background:#3b82f6;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.step-card-action-btn.request-approval:hover{background:#2563eb}.step-card-header{display:flex;align-items:center;gap:8px}.step-card-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.step-card-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.step-card-name{font-size:13px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.step-card-type{font-size:11px;font-weight:500;color:#6b7280;background:#f3f4f6;padding:2px 8px;border-radius:4px;text-transform:capitalize}.step-card-stages-count{font-size:11px;color:#9ca3af}.step-card-status{display:flex;align-items:center}.step-status-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;text-transform:capitalize}.step-status-badge svg{flex-shrink:0}.step-deploy-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-20) 100%);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.step-deploy-btn:hover{background:linear-gradient(135deg,var(--primary-20) 0%,#e85d04 100%);transform:translateY(-1px);box-shadow:0 4px 12px #f95d034d}.step-deploy-btn svg{flex-shrink:0}.step-deploy-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.release-env-card{position:absolute;display:flex;flex-direction:column;background:#fff;border-radius:8px;border:1px solid #e5e7eb;width:180px;box-shadow:0 2px 8px #00000014;overflow:visible;transition:all .2s ease}.release-env-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.release-env-card.deployed{border-color:#10b981}.release-env-card.deploying{border-color:#3b82f6}.release-env-card.failed{border-color:#ef4444}.release-env-card.excluded{opacity:.6;border-color:#d1d5db}.release-env-card.excluded:hover{transform:none;box-shadow:0 2px 8px #00000014}.release-env-card-header.excluded{background:linear-gradient(135deg,#9ca3af,#b8bfc9)}.release-env-excluded-badge{display:flex;align-items:center;gap:6px;color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.release-env-excluded-badge svg{width:12px;height:12px}.release-env-card-header{background:#ea580c;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:8px 8px 0 0}.release-env-header-deploy-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff40;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:all .15s ease;flex-shrink:0}.release-env-header-deploy-btn:hover:not(:disabled){background:#fff6;transform:scale(1.05)}.release-env-header-deploy-btn:disabled{opacity:.5;cursor:not-allowed}.release-env-header-deploy-btn svg{width:14px;height:14px}.release-env-header-status{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;flex-shrink:0}.release-env-header-status.deployed{background:#16a34a;color:#fff}.release-env-header-status.deploying{background:#ffffff40;color:#fff}.release-env-header-status.failed{background:#dc2626;color:#fff}.release-env-header-status.pending{background:#fff3;color:#fff}.release-env-header-status svg{width:14px;height:14px}.release-env-body-status{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;flex-shrink:0;z-index:1}.release-env-body-status.deployed{background:#16a34a;color:#fff}.release-env-body-status.deploying{background:#3b82f6;color:#fff}.release-env-body-status.failed{background:#dc2626;color:#fff}.release-env-body-status svg{width:14px;height:14px}.release-env-header-actions{display:flex;align-items:center;gap:6px}.release-env-header-retrigger-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff40;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:all .15s ease;flex-shrink:0}.release-env-header-retrigger-btn:hover:not(:disabled){background:#fff6;transform:scale(1.05)}.release-env-header-retrigger-btn:disabled{opacity:.5;cursor:not-allowed}.release-env-header-retrigger-btn svg{width:14px;height:14px}.release-env-header-deploy-btn.approval-pending,.release-env-header-retrigger-btn.approval-pending{opacity:.4;cursor:not-allowed;background:#ffffff1a}.release-env-header-deploy-btn.approval-pending:hover,.release-env-header-retrigger-btn.approval-pending:hover{background:#ffffff1a;transform:none}.release-env-trigger-badge{font-size:10px;font-weight:700;color:#fff;background:#ffffff40;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.release-env-trigger-badge.automatic{background:#ffffff59}.release-env-card-body{padding:12px;display:flex;flex-direction:column;gap:8px;position:relative}.release-env-name{margin:0;font-size:15px;font-weight:600;color:#111827}.release-env-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:#6b7280}.release-env-stages-clickable{cursor:pointer;color:#3b82f6;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.release-env-stages-clickable:hover{color:#2563eb}.release-env-components-clickable{cursor:pointer;color:#334155;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;background:transparent;border:none;padding:0;font:inherit}.release-env-components-clickable:hover{color:#0f172a}.env-stages-popup{position:absolute;top:100%;left:50%;transform:translate(-50%);background:#fff;border:1px solid #f0f2f6;border-radius:14px;box-shadow:0 12px 28px #0f172a29,0 2px 8px #0f172a0f;padding:0;min-width:280px;z-index:9999;animation:stagesPopupIn .18s ease-out;margin-top:10px;overflow:hidden}@keyframes stagesPopupIn{0%{opacity:0;transform:translate(-50%) translateY(-6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.env-stages-popup:before{content:"";position:absolute;top:-7px;left:50%;width:14px;height:14px;background:#fff;border-left:1px solid #f0f2f6;border-top:1px solid #f0f2f6;transform:translate(-50%) rotate(45deg);box-shadow:-2px -2px 6px #0f172a0a}.env-stages-popup-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(180deg,#fff,#f9fafb)}.env-stages-popup-title{font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px}.env-stages-popup-count{font-size:11px;font-weight:500;color:#16a34a;background:#dcfce7;padding:3px 9px;border-radius:999px}.env-stages-popup-divider{height:1px;background:#f3f4f6;margin:0}.env-stages-popup-list{padding:8px}.env-stages-popup-loading{display:flex;align-items:center;justify-content:center;padding:16px}.env-stages-popup-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;transition:background .12s}.env-stages-popup-item:hover{background:#f3f4f6}.env-stages-popup-item.failed{background:#fef2f2}.env-stages-popup-item.failed:hover{background:#fee2e2}.env-stages-popup-status{display:flex;align-items:center;flex-shrink:0}.env-stages-popup-info{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.env-stages-popup-name{font-size:14px;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.env-stages-popup-index{font-size:11px;color:#94a3b8;font-weight:500;flex-shrink:0}.env-stages-popup-rerun{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid #fecaca;background:#fff5f5;border-radius:8px;color:#dc2626;cursor:pointer;flex-shrink:0;transition:all .15s}.env-stages-popup-rerun:hover{background:#dc2626;color:#fff;border-color:#dc2626}.env-components-popup-overlay{position:fixed;inset:0;background:#0f172a80;z-index:9998;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:overlayFadeIn .18s ease-out}@keyframes popupSlideIn{0%{opacity:0;transform:translate(-50%,-48%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.env-components-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 0 0 1px #00000008,0 20px 50px -12px #02061740,0 8px 20px -6px #0206171a;padding:0;width:min(1300px,calc(100vw - 48px));max-height:calc(100vh - 95px);z-index:9999;animation:popupSlideIn .22s ease-out;overflow:hidden;display:flex;flex-direction:column}.env-components-popup:before{display:none}.env-components-popup-header{display:flex;align-items:center;gap:16px;padding:22px 28px;background:#fff;border-bottom:1px solid #e8ecf1}.env-components-popup-icon-container{display:flex;align-items:center;justify-content:center;width:46px;height:46px;background:linear-gradient(135deg,#1e293b,#334155);color:#fff;border-radius:12px;flex-shrink:0;box-shadow:0 2px 8px #1e293b33}.env-components-popup-icon{color:#fff;flex-shrink:0;width:20px;height:20px}.env-components-popup-title-section{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.env-components-popup-title{font-size:17px;font-weight:700;color:#0f172a;margin:0;line-height:1.2;letter-spacing:-.3px}.env-components-popup-subtitle-row{display:flex;align-items:center;gap:8px}.env-components-popup-env{font-size:11px;font-weight:700;color:#1e293b;text-transform:uppercase;letter-spacing:1px;background:#f1f5f9;padding:2px 8px;border-radius:4px}.env-components-popup-count{font-size:12px;font-weight:500;color:#94a3b8}.env-components-popup-close{background:transparent;border:1px solid #e2e8f0;width:34px;height:34px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#94a3b8;transition:all .15s ease;flex-shrink:0;border-radius:8px;margin:0}.env-components-popup-close:hover{color:#1e293b;background-color:#f1f5f9;border-color:#cbd5e1}.env-components-popup-divider{display:none}.env-components-popup-content{flex:1;overflow-x:auto;overflow-y:auto;background:#f8fafc;min-height:0}.env-components-popup-toolbar{display:flex;align-items:center;gap:8px;padding:12px 28px;border-bottom:1px solid #e8ecf1;background:#fff;position:sticky;top:0;z-index:12;flex-shrink:0}.env-components-popup-metric{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:500;white-space:nowrap}.env-components-popup-metric strong{color:#1e293b;font-weight:700}.env-components-popup-table-wrapper{margin:16px 24px 24px;border:1px solid #d0d7e2;border-radius:10px;overflow:auto;box-shadow:0 1px 3px #0000000a}.env-components-popup-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.env-components-popup-table thead{z-index:10}.env-components-popup-table thead th{padding:11px 16px;text-align:left;font-weight:600;color:#475569;background:#f1f5f9;border-bottom:1px solid #d0d7e2;font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.env-components-popup-table thead th:first-child{width:44px;min-width:44px;max-width:44px;text-align:center;padding:11px 8px;color:#94a3b8;position:sticky;left:0;z-index:12;background:#f1f5f9}.env-components-popup-table thead th:nth-child(2){position:sticky;left:44px;z-index:12;background:#f1f5f9}.env-components-popup-table thead th:last-child{border-right:none}.env-components-popup-table thead th.sub-current{text-align:center;color:#94a3b8}.env-components-popup-table thead th.sub-new{text-align:center;color:#1e293b;font-weight:700}.env-components-popup-table thead th.sub-arrow{padding:11px 2px;width:28px}.env-components-popup-table tbody tr{transition:background-color .12s ease}.env-components-popup-table tbody tr.comp-first-row:nth-child(2n),.env-components-popup-table tbody tr.comp-first-row:nth-child(2n)~tr.comp-sub-row{background:#f8fafc}.env-components-popup-table tbody tr:hover td{background-color:#eef2f7}.env-components-popup-table tbody tr:hover td.component-name,.env-components-popup-table tbody tr:hover td.sl-no{background-color:#e8edf3!important}.env-components-popup-table tbody td{padding:13px 16px;color:#475569;vertical-align:middle;font-size:12.5px;font-weight:500;line-height:1.4;border-bottom:1px solid #e2e8f0;background:#fff}.env-components-popup-table tbody td:last-child{border-right:none}.env-components-popup-table tbody td.sl-no{color:#94a3b8;font-size:12px;font-weight:600;text-align:center;width:44px;min-width:44px;max-width:44px;padding:13px 8px;border-bottom:1px solid #e2e8f0;border-right:1px solid #eaeff5;vertical-align:middle;background:#f8fafc;position:sticky;left:0;z-index:5}.env-components-popup-table tbody td.component-name{color:#0f172a;font-weight:600;font-size:13px;min-width:180px;max-width:260px;background:#f8fafc;padding:13px 20px;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;letter-spacing:-.1px;position:sticky;left:44px;z-index:5}.env-components-popup-table tbody td.artifact-type{color:#64748b;font-size:10.5px;font-weight:600;text-align:center;white-space:nowrap;min-width:80px;text-transform:uppercase;letter-spacing:.5px;background:#fff}.env-components-popup-table tbody tr.comp-sub-row td{border-bottom:1px dashed #e8ecf1}.env-components-popup-table thead th.sub-deployed{text-align:center;width:80px;min-width:80px}.env-components-popup-table tbody td.deploy-indicator{text-align:center;vertical-align:middle;width:80px;min-width:80px;padding:13px 8px}.deploy-icon{display:inline-flex;align-items:center;justify-content:center}.deploy-icon svg{display:block}.deploy-icon.deployed svg{filter:drop-shadow(0 1px 3px rgba(34,197,94,.3))}.deploy-icon.failed svg{filter:drop-shadow(0 1px 3px rgba(239,68,68,.3))}.deploy-icon.pending svg{opacity:.7}.deploy-icon.unknown{color:#4f46e5;font-weight:700}.deploy-icon.unknown svg{filter:drop-shadow(0 1px 3px rgba(79,70,229,.28))}.env-components-popup-table thead th.sub-runid{text-align:center;min-width:120px}.env-components-popup-table tbody td.run-id-cell{text-align:center;vertical-align:middle;min-width:120px;padding:13px 12px}.run-id-value{display:inline-block;font-family:SFMono-Regular,ui-monospace,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px;font-weight:600;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;padding:3px 8px;border-radius:4px;letter-spacing:.2px}.run-id-skeleton{display:inline-block;width:80px;height:14px;border-radius:4px;background:#e8ecf1}.env-components-popup-table thead th.sub-deployed-at{text-align:center;min-width:140px}.env-components-popup-table tbody td.deployed-at-cell{text-align:center;vertical-align:middle;min-width:140px;padding:13px 10px}.deployed-at-value{display:inline-block;font-size:11px;font-weight:500;color:#475569;white-space:nowrap}.deployed-at-skeleton{display:inline-block;width:100px;height:14px;border-radius:4px;background:#e8ecf1}.env-components-popup-table thead th.sub-deployed-by{text-align:center;min-width:110px}.env-components-popup-table tbody td.deployed-by-cell{text-align:center;vertical-align:middle;min-width:110px;padding:13px 10px}.deployed-by-value{display:inline-block;font-size:11.5px;font-weight:600;color:#334155;background:#f1f5f9;border:1px solid #e2e8f0;padding:3px 10px;border-radius:12px;white-space:nowrap}.deployed-by-skeleton{display:inline-block;width:70px;height:14px;border-radius:4px;background:#e8ecf1}.env-components-popup-table thead th.sub-custom-output{text-align:center;min-width:120px;white-space:nowrap}.env-components-popup-table tbody td.artifact-custom-output-cell{text-align:center;vertical-align:middle;min-width:120px;padding:13px 10px}.artifact-co-value{display:inline-block;font-size:11.5px;font-weight:500;color:#334155;padding:3px 10px;border-radius:6px;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.artifact-co-badge{display:inline-block;font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:6px;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;letter-spacing:.2px}.artifact-co-url{display:inline-block;font-size:11.5px;font-weight:500;color:#2563eb;text-decoration:none;padding:3px 10px;border-radius:6px;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease,background .15s ease}.artifact-co-url:hover{color:#1d4ed8;background:#eff6ff;text-decoration:underline}.artifact-co-skeleton{display:inline-block;width:80px;height:14px;border-radius:4px;background:#e8ecf1}.artifact-co-empty{font-size:12px;font-weight:600;color:#94a3b8}.env-components-popup-table tbody tr:last-child td,.env-components-popup-table tbody tr:last-child td.component-name,.env-components-popup-table tbody tr.comp-sub-row:last-child td{border-bottom:none}.env-components-popup-table tbody td.version-current,.env-components-popup-table tbody td.version-new{text-align:center}.version-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;border:1px solid transparent;font-weight:600;font-size:11px;font-family:SFMono-Regular,ui-monospace,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;letter-spacing:.1px;word-break:break-word;max-width:280px;line-height:1.35}.version-pill.from{color:#475569;background:#f1f5f9;border-color:#e2e8f0}.version-pill.to{color:#0f172a;background:#dbeafe;border-color:#93c5fd;font-weight:700}.version-pill.na{color:#8896a6;background:#f8fafc;border-color:#e8ecf1;font-weight:500;font-style:italic;font-family:inherit}.env-components-popup-table tbody td.arrow{text-align:center;padding:13px 2px;width:28px;min-width:28px;max-width:28px}.version-arrow{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#e2e8f0;color:#475569;font-size:12px;font-weight:700}.env-components-popup-table tbody td.deployment-run-id{color:#64748b;font-weight:400;font-family:SFMono-Regular,ui-monospace,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px;letter-spacing:.2px;text-align:center;min-width:120px}.env-components-popup-table tbody td.deployment-status{text-align:center;min-width:90px}.env-components-popup-table .status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600;letter-spacing:.1px;white-space:nowrap;border:1px solid transparent}.env-components-popup-table .status-badge.status-success{background:#ecfdf5;color:#059669;border-color:#a7f3d0}.env-components-popup-table .status-badge.status-failed{background:#fef2f2;color:#dc2626;border-color:#fecaca}.env-components-popup-table .status-badge.status-running{background:#eff6ff;color:#2563eb;border-color:#bfdbfe}.env-components-popup-table .status-badge.status-pending{background:#f8fafc;color:#94a3b8;border-color:#e2e8f0}.env-components-popup-table tbody td.custom-output{color:#475569;font-size:12px;font-weight:500;text-align:center;min-width:100px;white-space:normal}@media(max-width:1024px){.env-components-popup{width:calc(100vw - 24px);max-height:calc(100vh - 32px);border-radius:12px}.env-components-popup-header{padding:16px 18px}.env-components-popup-title{font-size:16px}.env-components-popup-toolbar{top:0;overflow-x:auto;padding:8px 18px}.env-components-popup-icon-container{width:38px;height:38px;border-radius:10px}.env-components-popup-table thead th,.env-components-popup-table tbody td{padding:8px 10px}.env-components-popup-table tbody td.component-name,.env-components-popup-table thead th:first-child{padding-left:18px}.version-pill{max-width:140px;font-size:11px;padding:3px 6px}}.release-env-url{font-size:12px;color:#3b82f6;text-decoration:none;word-break:break-all}.release-env-url:hover{text-decoration:underline}.release-env-no-url{font-size:12px;color:#9ca3af;font-style:italic}.release-env-status{margin-top:4px}.release-env-status-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;text-transform:capitalize}.release-env-status-badge svg{flex-shrink:0}.release-env-deploy-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-20) 100%);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;margin-top:4px}.release-env-deploy-btn:hover{background:linear-gradient(135deg,var(--primary-20) 0%,#e85d04 100%);transform:translateY(-1px);box-shadow:0 4px 12px #f95d034d}.release-env-deploy-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.release-env-deploy-btn svg{flex-shrink:0}.release-sg-card{position:absolute;display:flex;flex-direction:column;background:#fff;border-radius:8px;border:1px solid #e5e7eb;width:220px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:all .2s ease}.release-sg-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.release-sg-card.excluded{opacity:.6;border-color:#d1d5db}.release-sg-card.excluded:hover{transform:none;box-shadow:0 2px 8px #00000014}.release-sg-card-header.excluded{background:linear-gradient(135deg,#9ca3af,#b8bfc9)}.release-sg-card-header{background:#ea580c;padding:8px 12px;display:flex;align-items:center;justify-content:space-between}.release-sg-card.status-running .release-sg-card-header{background:linear-gradient(120deg,#ea580c,#f97316 45%,#ea580c);background-size:200% 100%;animation:sg-header-sweep 1.6s ease-in-out infinite}.release-sg-card.status-running .release-sg-overall-status{box-shadow:0 0 #3b82f673;animation:sg-status-pulse 1.2s ease-in-out infinite}.release-sg-card.status-running .release-sg-stage-item{transition:background .2s ease}.release-sg-card.status-running .release-sg-stage-item.status-running{background:linear-gradient(90deg,#f9fafb,#eef6ff 45%,#f9fafb);background-size:180% 100%;animation:sg-row-shimmer 1.4s ease-in-out infinite}@keyframes sg-header-sweep{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes sg-status-pulse{0%{box-shadow:0 0 #3b82f673}70%{box-shadow:0 0 0 10px #3b82f600}to{box-shadow:0 0 #3b82f600}}@keyframes sg-row-shimmer{0%{background-position:0% 50%}to{background-position:100% 50%}}.release-sg-overall-status{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.release-sg-overall-status.success{background:#10b981;color:#fff}.release-sg-overall-status.failed{background:#ef4444;color:#fff}.release-sg-overall-status.running{background:#3b82f6;color:#fff}.release-sg-card-body{padding:12px;display:flex;flex-direction:column;gap:8px}.release-sg-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.release-sg-name{margin:0;font-size:15px;font-weight:600;color:#111827}.release-sg-stages-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}.release-sg-stage-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#f9fafb;border-radius:10px;border:1px solid #eef2f7;box-shadow:0 1px 2px #1018280a}.release-sg-stage-order{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:#eef2f7;border-radius:7px;font-size:11px;font-weight:600;color:#334155}.release-sg-stage-status{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 0 0 1px #0f172a14}.release-sg-stage-status.status-pending{color:#94a3b8}.release-sg-stage-status.status-success{background:#dcfce7;color:#16a34a}.release-sg-stage-status.status-running{background:#e0f2fe;color:#0284c7}.release-sg-stage-status.status-failed{background:#ffe4e6;color:#e11d48}.release-sg-stage-name{font-size:13px;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.release-sg-card .release-env-deploy-btn{background:linear-gradient(135deg,#475569,#334155)}.release-sg-card .release-env-deploy-btn:hover{background:linear-gradient(135deg,#334155,#1e293b);box-shadow:0 4px 12px #4755694d}.deployment-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:1100;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.deployment-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;z-index:1101;width:480px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.deployment-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.deployment-modal-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:600;color:#111827}.deployment-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:8px;color:#6b7280;cursor:pointer;transition:all .15s ease}.deployment-modal-close:hover{background:#f3f4f6;color:#111827}.deployment-modal-body{padding:24px;overflow-y:auto;flex:1}.deployment-no-stages{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center}.deployment-no-stages svg{margin-bottom:16px}.deployment-no-stages p{margin:0;font-size:15px;color:#374151;font-weight:500}.deployment-no-stages-hint{margin-top:4px!important;font-size:13px!important;color:#9ca3af!important;font-weight:400!important}.deployment-progress-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:20px}.deployment-progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:3px;transition:width .3s ease}.deployment-stages-list{display:flex;flex-direction:column;gap:8px}.deployment-stage-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#f9fafb;border-radius:10px;transition:all .15s ease}.deployment-stage-item.running{background:#eff6ff;border:1px solid #bfdbfe}.deployment-stage-item.success{background:#ecfdf5;border:1px solid #a7f3d0}.deployment-stage-item.failed{background:#fef2f2;border:1px solid #fecaca}.deployment-stage-item.skipped{background:#fffbeb;border:1px solid #fde68a}.deployment-stage-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.deployment-stage-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.deployment-stage-name{font-size:14px;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deployment-stage-number{font-size:12px;color:#9ca3af}.deployment-stage-status{font-size:12px;font-weight:600;padding:4px 10px;border-radius:6px;text-transform:capitalize;flex-shrink:0}.deployment-stage-status.pending{color:#6b7280;background:#e5e7eb}.deployment-stage-status.running{color:#2563eb;background:#dbeafe}.deployment-stage-status.success{color:#059669;background:#d1fae5}.deployment-stage-status.failed{color:#dc2626;background:#fee2e2}.deployment-stage-status.skipped{color:#d97706;background:#fef3c7}.deployment-error{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;font-size:13px;color:#dc2626}.deployment-error svg{flex-shrink:0;margin-top:1px}.deployment-modal-footer{display:flex;align-items:center;justify-content:flex-end;padding:16px 24px;border-top:1px solid #e5e7eb;background:#fafafa;border-radius:0 0 16px 16px}.deployment-modal-close-btn{padding:10px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s ease}.deployment-modal-close-btn:hover{background:#f9fafb;border-color:#d1d5db}.pipeline-stages-drawer{position:absolute;top:0;right:0;bottom:0;width:900px;background:#fff;border-left:1px solid #e5e7eb;box-shadow:-8px 0 30px #0000001f;display:flex;flex-direction:column;z-index:20;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.pipeline-stages-drawer.open{transform:translate(0)}.drawer-two-panel-layout{display:flex;height:100%;overflow:hidden}.drawer-left-panel{width:260px;min-width:260px;background:#f8f9fa;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;overflow:hidden}.drawer-left-header{display:flex;align-items:center;gap:10px;padding:14px 12px;background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0}.drawer-env-icon{width:40px;height:40px;min-width:40px;display:flex;align-items:center;justify-content:center;background:#ea580c;border-radius:10px;color:#fff}.drawer-env-info{flex:1;min-width:0}.drawer-env-name{margin:0;font-size:16px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-env-type{font-size:12px;color:#6b7280}.drawer-deployment-selector{position:relative;padding:8px 12px;background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-shrink:0}.deploy-run-trigger{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#fff;border:1px solid #e5e7eb;border-radius:7px;cursor:pointer;transition:all .15s ease}.deploy-run-trigger:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000000f}.deploy-run-trigger.open{border-color:#f97316;box-shadow:0 0 0 2px #f973161a}.deploy-run-trigger-content{display:flex;align-items:center;gap:8px;min-width:0}.deploy-run-date{font-size:12px;font-weight:500;color:#374151;white-space:nowrap}.deploy-run-chevron{flex-shrink:0;color:#9ca3af;transition:transform .2s ease}.deploy-run-chevron.open{transform:rotate(180deg)}.deploy-run-status-dot{width:8px;height:8px;min-width:8px;border-radius:50%;background:#9ca3af;flex-shrink:0}.deploy-run-status-dot.success{background:#22c55e}.deploy-run-status-dot.failed{background:#ef4444}.deploy-run-status-dot.deploying{background:#3b82f6}.deploy-run-status-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px}.deploy-run-status-badge.success{background:#dcfce7;color:#16a34a}.deploy-run-status-badge.failed{background:#fee2e2;color:#dc2626}.deploy-run-status-badge.deploying{background:#dbeafe;color:#2563eb}.deploy-run-menu{position:absolute;top:calc(100% - 2px);left:12px;right:12px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px #0000001f,0 2px 8px #0000000f;z-index:50;max-height:320px;overflow-y:auto;padding:4px;animation:deployRunMenuIn .15s ease}@keyframes deployRunMenuIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.deploy-run-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:7px;cursor:pointer;transition:background .1s ease}.deploy-run-item:hover{background:#f9fafb}.deploy-run-item.selected{background:#fff7ed}.deploy-run-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.deploy-run-item-date{font-size:13px;font-weight:500;color:#111827}.deploy-run-item-meta{display:flex;align-items:center;gap:6px;font-size:12px}.deploy-run-item-status{font-weight:600;color:#6b7280}.deploy-run-item-status.success{color:#16a34a}.deploy-run-item-status.failed{color:#dc2626}.deploy-run-item-status.deploying{color:#2563eb}.deploy-run-item-user{color:#9ca3af}.deploy-run-check{flex-shrink:0;color:#f97316}.drawer-stages-section{flex:1;overflow-y:auto;padding:8px}.drawer-empty-stages{display:flex;align-items:center;justify-content:center;height:100px;color:#9ca3af;font-size:14px}.drawer-empty-stages p{margin:0}.drawer-right-panel{flex:1;display:flex;flex-direction:column;background:#1e1e1e;position:relative;overflow:hidden}.drawer-output-header-actions{display:flex;align-items:center;gap:10px}.drawer-output-close-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #e5e7eb;border-radius:6px;color:#9ca3af;cursor:pointer;transition:all .15s ease}.drawer-output-close-btn:hover{background:#f3f4f6;color:#111827}.drawer-output-placeholder-full{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#252526}.drawer-output-placeholder-full p{margin:0;font-size:14px;color:#9ca3af}.drawer-output-header-full{display:flex;flex-direction:column;gap:6px;padding:8px 56px 8px 12px;background:linear-gradient(to bottom,#fafbfc,#f3f4f6);border-bottom:1px solid #e5e7eb;flex-shrink:0}.drawer-output-header-top{display:flex;align-items:center;justify-content:space-between}.drawer-output-header-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#111827}.drawer-output-header-title svg{color:#6b7280}.drawer-output-header-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.drawer-output-meta-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#4b5563;background:#fff;border:1px solid #e5e7eb;border-radius:5px;padding:2px 8px;line-height:1.4}.drawer-output-meta-tag svg{color:#9ca3af;flex-shrink:0}.drawer-output-content-full{flex:1;overflow-y:auto;background:#1e1e1e}.drawer-output-error-full{height:100%;background:#1e1e1e;padding:16px}.pipeline-stages-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#fff;flex-shrink:0}.drawer-header-left{display:flex;align-items:center;gap:14px}.drawer-header-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#ea580c;border-radius:10px;color:#fff}.drawer-header-info h3{margin:0;font-size:18px;font-weight:600;color:#111827}.drawer-header-type{font-size:13px;color:#6b7280}.drawer-close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:8px;color:#6b7280;cursor:pointer;transition:all .15s ease}.drawer-close-btn:hover{background:#f3f4f6;color:#111827}.pipeline-stages-drawer-body{flex:1;overflow-y:auto;padding:20px 24px;background:#fafafa}.drawer-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:#6b7280;font-size:14px}.drawer-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;text-align:center}.drawer-empty p{margin:0;font-size:14px;color:#9ca3af}.drawer-stages-list{display:flex;flex-direction:column;gap:16px}.drawer-stage-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000f;transition:all .2s ease}.drawer-stage-card:hover{box-shadow:0 4px 12px #00000014}.drawer-stage-card.success{border-color:#86efac}.drawer-stage-card.running{border-color:#93c5fd}.drawer-stage-card.failed{border-color:#fca5a5}.drawer-stage-card.skipped{border-color:#fcd34d}.drawer-stage-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px}.drawer-stage-left{display:flex;align-items:center;gap:14px;min-width:0}.drawer-stage-order-badge{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:8px;font-size:13px;font-weight:600;color:#374151;flex-shrink:0}.drawer-stage-order-badge.success{background:#dcfce7;color:#16a34a}.drawer-stage-order-badge.running{background:#dbeafe;color:#2563eb}.drawer-stage-order-badge.failed{background:#fee2e2;color:#dc2626}.drawer-stage-order-badge.skipped{background:#fef3c7;color:#d97706}.drawer-stage-details{flex:1;min-width:0}.drawer-stage-name{display:block;font-size:15px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.drawer-stage-type{display:block;font-size:12px;color:#6b7280}.drawer-stage-status-badge{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:6px 12px;border-radius:8px;flex-shrink:0}.drawer-stage-status-badge.pending{color:#6b7280;background:#f3f4f6}.drawer-stage-status-badge.running{color:#2563eb;background:#dbeafe}.drawer-stage-status-badge.success{color:#16a34a;background:#dcfce7}.drawer-stage-status-badge.failed{color:#dc2626;background:#fee2e2}.drawer-stage-status-badge.skipped{color:#d97706;background:#fef3c7}.drawer-stage-meta-row{display:flex;align-items:center;gap:20px;padding:10px 18px;background:#fafafa;border-top:1px solid #f3f4f6;font-size:13px;color:#6b7280}.drawer-meta-item{display:flex;align-items:center;gap:6px}.drawer-meta-item svg{color:#9ca3af}.drawer-meta-item.timestamp{color:#9ca3af}.drawer-stage-output-section{border-top:1px solid #f3f4f6}.drawer-output-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:12px 18px;background:#f9fafb;border:none;font-size:13px;font-weight:600;color:#374151;cursor:pointer;transition:all .15s ease;text-align:left}.drawer-output-toggle:hover{background:#f3f4f6}.drawer-output-toggle svg:first-child{color:#6b7280}.drawer-output-toggle .toggle-chevron{margin-left:auto;color:#9ca3af;transition:transform .2s ease}.drawer-output-toggle.expanded .toggle-chevron{transform:rotate(180deg)}.drawer-output-content{background:#1f2937;padding:0;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.drawer-output-pre{margin:0;padding:16px 18px;font-size:12px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;line-height:1.6;white-space:pre-wrap;word-break:break-word;color:#e5e7eb;background:#1f2937;max-height:300px;overflow-y:auto}.drawer-output-error{background:#fef2f2;border-top:1px solid #fecaca}.drawer-output-error .error-label{display:flex;align-items:center;gap:6px;padding:8px 18px;font-size:12px;font-weight:600;color:#dc2626;background:#fee2e2}.drawer-error-pre{margin:0;padding:12px 18px;font-size:12px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:#dc2626;background:#fef2f2;max-height:150px;overflow-y:auto}.drawer-output-pre::-webkit-scrollbar,.drawer-error-pre::-webkit-scrollbar{width:6px}.drawer-output-pre::-webkit-scrollbar-track{background:#374151}.drawer-output-pre::-webkit-scrollbar-thumb{background:#6b7280;border-radius:3px}.drawer-error-pre::-webkit-scrollbar-track{background:#fecaca}.drawer-error-pre::-webkit-scrollbar-thumb{background:#f87171;border-radius:3px}.release-pipeline-fullscreen{position:relative}.release-env-card-body.clickable,.release-sg-card-body.clickable{cursor:pointer;transition:background .15s ease}.release-env-card-body.clickable:hover,.release-sg-card-body.clickable:hover{background:#f9fafb}.drawer-split-panel{display:flex;height:100%;overflow:hidden}.drawer-stages-panel{width:250px;min-width:250px;background:#f8f9fa;border-right:1px solid #e5e7eb;overflow-y:auto;padding:8px}.drawer-stages-list-v2{display:flex;flex-direction:column;gap:0;background:#fff;border-radius:8px;overflow:hidden}.drawer-stage-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:none;border-bottom:1px solid #e5e7eb;border-radius:0;cursor:pointer;transition:background .15s ease;position:relative}.drawer-stage-item:last-child{border-bottom:none}.drawer-stage-item:hover,.drawer-stage-item.selected{background:#f9fafb}.drawer-stage-item.selected:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:4px;background:#f97316;border-radius:0 4px 4px 0}.drawer-stage-icon{width:34px;height:34px;min-width:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;color:#6b7280}.drawer-stage-icon.success{background:#dcfce7;color:#16a34a}.drawer-stage-icon.running{background:#dbeafe;color:#2563eb}.drawer-stage-icon.failed{background:#fee2e2;color:#dc2626}.drawer-stage-icon.pending{background:#f3f4f6;color:#9ca3af}.drawer-stage-icon.skipped{background:#fef3c7;color:#d97706}.drawer-stage-info{flex:1;min-width:0}.drawer-stage-name-v2{display:block;font-size:13px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.drawer-stage-meta-v2{display:flex;align-items:center;gap:6px;font-size:12px}.drawer-stage-duration{color:#6b7280}.drawer-stage-status-text{font-weight:500}.drawer-stage-status-text.success{color:#16a34a}.drawer-stage-status-text.running{color:#2563eb}.drawer-stage-status-text.failed{color:#dc2626}.drawer-stage-status-text.pending{color:#9ca3af}.drawer-stage-status-text.skipped{color:#d97706}.drawer-stage-retry-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:#fef2f2;border:1px solid #fecaca;border-radius:50%;color:#dc2626;cursor:pointer;transition:all .15s ease;flex-shrink:0}.drawer-stage-retry-btn:hover{background:#fee2e2;border-color:#f87171;color:#b91c1c}.drawer-stage-retry-btn:active{background:#fecaca}.drawer-stage-retry-btn.retrying{background:#dbeafe;border-color:#93c5fd;color:#2563eb;cursor:default}.drawer-output-panel{flex:1;display:flex;flex-direction:column;background:#1e1e1e;min-width:0;overflow:hidden}.drawer-output-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#6b7280;background:#f8f9fa}.drawer-output-placeholder p{margin:0;font-size:14px}.drawer-output-header-v2{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0}.drawer-output-header-left{display:flex;align-items:center;gap:10px;color:#374151}.drawer-output-header-left svg{color:#6b7280}.drawer-output-stage-name{font-size:14px;font-weight:600;color:#111827}.drawer-output-header-right{display:flex;align-items:center;gap:12px}.drawer-output-duration{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280}.drawer-output-duration svg{color:#9ca3af}.drawer-output-started{font-size:12px;color:#9ca3af}.drawer-output-status-pill{font-size:11px;font-weight:600;padding:4px 10px;border-radius:5px}.drawer-output-status-pill.success{background:#16a34a;color:#fff}.drawer-output-status-pill.running{background:#2563eb;color:#fff}.drawer-output-status-pill.failed{background:#dc2626;color:#fff}.drawer-output-status-pill.pending{background:#6b7280;color:#fff}.drawer-output-status-pill.skipped{background:#d97706;color:#fff}.drawer-output-header{padding:16px 20px;background:#252526;border-bottom:1px solid #3c3c3c;flex-shrink:0}.drawer-output-title{display:flex;align-items:center;gap:10px;color:#e5e7eb;font-size:14px;font-weight:600;margin-bottom:8px}.drawer-output-title svg{color:#9ca3af}.drawer-output-status-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;margin-left:auto}.drawer-output-status-badge.success{background:#166534;color:#86efac}.drawer-output-status-badge.running{background:#1e40af;color:#93c5fd}.drawer-output-status-badge.failed{background:#991b1b;color:#fca5a5}.drawer-output-status-badge.pending{background:#374151;color:#9ca3af}.drawer-output-status-badge.skipped{background:#92400e;color:#fcd34d}.drawer-output-meta{display:flex;align-items:center;gap:16px;font-size:12px;color:#9ca3af}.drawer-output-meta-item{display:flex;align-items:center;gap:6px}.drawer-output-body{flex:1;overflow-y:auto;background:#1e1e1e}.drawer-output-terminal{margin:0;padding:0;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:12px;line-height:1.6;background:#1e1e1e}.drawer-output-line{display:flex;min-height:20px}.drawer-output-line:hover{background:#2d2d30}.drawer-output-line-number{width:48px;min-width:48px;padding:0 12px;text-align:right;color:#6e7681;background:#252526;-webkit-user-select:none;user-select:none;border-right:1px solid #3c3c3c}.drawer-output-line-content{flex:1;padding:0 16px;color:#d4d4d4;white-space:pre-wrap;word-break:break-all}.drawer-output-error-panel{height:100%;display:flex;flex-direction:column}.drawer-output-error-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#450a0a;color:#fca5a5;font-size:13px;font-weight:600;border-bottom:1px solid #7f1d1d}.drawer-output-error-content{flex:1;margin:0;padding:16px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:12px;line-height:1.6;color:#fca5a5;background:#1e1e1e;white-space:pre-wrap;word-break:break-word;overflow-y:auto}.drawer-output-no-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#6b7280;background:#252526}.drawer-output-no-content p{margin:0;font-size:13px;color:#9ca3af}.drawer-output-body::-webkit-scrollbar{width:8px}.drawer-output-body::-webkit-scrollbar-track{background:#1e1e1e}.drawer-output-body::-webkit-scrollbar-thumb{background:#4b5563;border-radius:4px}.drawer-output-body::-webkit-scrollbar-thumb:hover{background:#6b7280}.drawer-stages-panel::-webkit-scrollbar{width:6px}.drawer-stages-panel::-webkit-scrollbar-track{background:#f9fafb}.drawer-stages-panel::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.drawer-stages-panel::-webkit-scrollbar-thumb:hover{background:#9ca3af}.component-changes-table-wrapper{overflow-x:auto;margin:0 -8px;padding:0 8px;border-radius:12px}.component-changes-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;min-width:600px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.component-changes-table th,.component-changes-table td{padding:16px 20px;text-align:left}.component-changes-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.component-changes-table th{font-weight:600;color:#475569;font-size:11px;text-transform:uppercase;letter-spacing:.8px;white-space:nowrap;border-bottom:2px solid #e2e8f0}.component-changes-table th.component-col{min-width:180px;position:sticky;left:0;background:linear-gradient(135deg,#f8fafc,#f1f5f9);z-index:2;border-right:1px solid #e2e8f0}.component-changes-table th.env-col{min-width:160px;text-align:center}.component-changes-table tbody tr{transition:all .15s ease}.component-changes-table tbody tr:nth-child(2n){background:#fafbfc}.component-changes-table tbody tr:hover{background:linear-gradient(135deg,#f95d0308,#f95d0303)}.component-changes-table td{border-bottom:1px solid #f1f5f9}.component-changes-table tbody tr:last-child td{border-bottom:none}.component-changes-table td.component-name-cell{font-weight:600;color:#1e293b;position:sticky;left:0;background:inherit;z-index:1;border-right:1px solid #f1f5f9}.component-changes-table tbody tr:nth-child(2n) td.component-name-cell{background:#fafbfc}.component-changes-table tbody tr:hover td.component-name-cell{background:linear-gradient(135deg,#f95d030d,#f95d0305)}.component-name-cell .component-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:linear-gradient(135deg,var(--primary, #f95d03) 0%,#e54d00 100%);border-radius:6px;margin-right:12px;color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;box-shadow:0 2px 4px #f95d0333}.version-change-cell{text-align:center;padding:12px 16px!important}.version-change{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;background:#f8fafc;font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-size:12px;border:1px solid #e2e8f0;transition:all .2s ease}.version-change.has-change{background:linear-gradient(135deg,#f95d0314,#f95d0308);border:1px solid rgba(249,93,3,.25);box-shadow:0 2px 8px #f95d031a}.version-change.is-new{background:linear-gradient(135deg,#10b98114,#10b98108);border:1px solid rgba(16,185,129,.25);box-shadow:0 2px 8px #10b9811a}.version-change .current-version{color:#64748b;font-size:11px}.version-change.has-change .current-version{color:#94a3b8;text-decoration:line-through;text-decoration-color:#f95d0366}.version-change.is-new .current-version{color:#94a3b8;font-style:italic;font-size:10px}.version-change .version-arrow{color:#cbd5e1;font-size:12px;font-weight:500}.version-change .version-arrow-icon{color:#cbd5e1;flex-shrink:0}.version-change.has-change .version-arrow,.version-change.has-change .version-arrow-icon{color:var(--primary, #f95d03)}.version-change.is-new .version-arrow,.version-change.is-new .version-arrow-icon{color:#10b981}.version-change .new-version{color:#334155;font-weight:600;font-size:12px}.version-change.has-change .new-version{color:var(--primary, #f95d03);font-weight:700}.version-change.is-new .new-version{color:#059669;font-weight:700}.version-change.no-change{background:#f8fafc;border-color:#e2e8f0;opacity:.7}.version-change.no-change .current-version,.version-change.no-change .version-arrow,.version-change.no-change .new-version{color:#94a3b8}.release-notes-content{display:flex;flex-direction:column;gap:12px}.release-notes-component{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff;transition:box-shadow .2s ease}.release-notes-component:hover{box-shadow:0 2px 8px #0000000f}.release-notes-component-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;background:#fafafa;transition:background .15s ease}.release-notes-component-header:hover{background:#f5f5f5}.release-notes-component-header.expanded{background:linear-gradient(135deg,#f95d030d,#f95d0305);border-bottom:1px solid #e2e8f0}.release-notes-component-info{display:flex;align-items:center;gap:10px}.release-notes-component-icon{width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,var(--primary, #f95d03) 0%,#e05503 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;text-transform:uppercase}.release-notes-component-name{font-weight:600;color:#1e293b;font-size:14px}.release-notes-version-range{font-size:12px;color:#64748b;background:#f1f5f9;padding:4px 10px;border-radius:12px;font-family:SF Mono,Monaco,Consolas,monospace}.release-notes-component-meta{display:flex;align-items:center;gap:12px}.release-notes-ticket-count{font-size:12px;color:#64748b;background:#f95d031a;color:var(--primary, #f95d03);padding:4px 10px;border-radius:12px;font-weight:500}.release-notes-chevron{color:#94a3b8;transition:transform .2s ease}.release-notes-chevron.expanded{transform:rotate(180deg)}.release-notes-component-body{padding:16px;background:#fff}.release-notes-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:#64748b;font-size:13px}.release-notes-tickets{display:flex;flex-direction:column;gap:10px}.release-notes-ticket{padding:12px 14px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;transition:border-color .15s ease,box-shadow .15s ease}.release-notes-ticket:hover{border-color:#cbd5e1;box-shadow:0 2px 6px #0000000a}.release-notes-ticket-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.release-notes-ticket-key{font-weight:600;color:var(--primary, #f95d03);text-decoration:none;font-size:13px;font-family:SF Mono,Monaco,Consolas,monospace}.release-notes-ticket-key:hover{text-decoration:underline}.release-notes-ticket-type{font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px;text-transform:uppercase;background:#e0f2fe;color:#0369a1}.release-notes-ticket-type.bug{background:#fee2e2;color:#b91c1c}.release-notes-ticket-type.story{background:#dcfce7;color:#15803d}.release-notes-ticket-type.task{background:#e0e7ff;color:#4338ca}.release-notes-ticket-type.epic{background:#fae8ff;color:#a21caf}.release-notes-ticket-type.sub-task{background:#f1f5f9;color:#475569}.release-notes-ticket-status{font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px;background:#f1f5f9;color:#475569}.release-notes-ticket-status.done,.release-notes-ticket-status.closed,.release-notes-ticket-status.resolved{background:#dcfce7;color:#15803d}.release-notes-ticket-status.in-progress,.release-notes-ticket-status.in-review{background:#dbeafe;color:#1d4ed8}.release-notes-ticket-status.to-do,.release-notes-ticket-status.open,.release-notes-ticket-status.backlog{background:#fef3c7;color:#b45309}.release-notes-ticket-priority{font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px;background:#f1f5f9;color:#475569}.release-notes-ticket-priority.highest,.release-notes-ticket-priority.critical{background:#fee2e2;color:#b91c1c}.release-notes-ticket-priority.high{background:#ffedd5;color:#c2410c}.release-notes-ticket-priority.medium{background:#fef9c3;color:#a16207}.release-notes-ticket-priority.low,.release-notes-ticket-priority.lowest{background:#f0fdf4;color:#166534}.release-notes-ticket-summary{font-size:13px;color:#334155;line-height:1.5}.release-notes-ticket-assignee{font-size:12px;color:#64748b;margin-top:6px}.release-notes-commits-summary{margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}.release-notes-commits-count{font-size:12px;color:#64748b}.release-notes-empty{text-align:center;padding:24px;color:#94a3b8;font-size:13px}.release-notes-error{text-align:center;padding:24px;color:#ef4444;font-size:13px}.release-notes-no-changes{display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:#64748b;font-size:13px;background:#f8fafc;border-radius:8px;border:1px dashed #e2e8f0}.release-notes-no-changes svg{color:#94a3b8;flex-shrink:0}.section-subtitle{font-size:12px;color:#94a3b8;font-weight:400;margin-left:auto}.release-notes-selectors{display:flex;align-items:flex-end;gap:16px;padding:16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:10px;border:1px solid #e2e8f0;margin-bottom:16px}.release-notes-selector-group{display:flex;flex-direction:column;gap:6px;flex:1;min-width:180px}.release-notes-selector-label{font-size:12px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.5px}.release-notes-select{padding:10px 40px 10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1e293b;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.release-notes-select:hover{border-color:#94a3b8}.release-notes-select:focus{outline:none;border-color:var(--primary, #f95d03);box-shadow:0 0 0 3px #f95d031a}.release-notes-select:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.release-notes-generate-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,var(--primary, #f95d03) 0%,#e05503 100%);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;white-space:nowrap;height:42px}.release-notes-generate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #f95d034d}.release-notes-generate-btn:disabled{background:#cbd5e1;cursor:not-allowed;transform:none;box-shadow:none}.release-notes-generate-btn svg{flex-shrink:0}.release-notes-version-info{display:flex;align-items:center;justify-content:center;gap:20px;padding:20px;background:#fff;border-radius:10px;border:1px solid #e2e8f0;margin-bottom:16px}.release-notes-version-box{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 24px;background:#f8fafc;border-radius:8px;min-width:140px}.release-notes-version-label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.release-notes-version-value{font-size:15px;font-weight:700;font-family:SF Mono,Monaco,Consolas,monospace}.release-notes-version-value.current{color:#64748b}.release-notes-version-value.new{color:var(--primary, #f95d03)}.release-notes-version-arrow{color:#94a3b8;flex-shrink:0}.release-notes-results{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.release-notes-results-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,#f95d0314,#f95d0308);border-bottom:1px solid #e2e8f0}.release-notes-results-title{font-size:14px;font-weight:600;color:#1e293b}.release-notes-results-commits{font-size:12px;color:#64748b;background:#f1f5f9;padding:4px 10px;border-radius:12px}.release-notes-results .release-notes-tickets{padding:12px}.release-notes-same-version,.release-notes-new-component,.release-notes-no-selection,.release-notes-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 24px;color:#64748b;font-size:14px;text-align:center;background:#f8fafc;border-radius:10px;border:1px dashed #e2e8f0}.release-notes-same-version svg,.release-notes-no-selection svg,.release-notes-prompt svg{color:#94a3b8}.release-notes-new-component{background:linear-gradient(135deg,#10b9810d,#10b98105);border-color:#10b98133;color:#059669}.release-notes-error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 24px;color:#ef4444;font-size:14px;text-align:center;background:#ef44440d;border-radius:10px;border:1px dashed rgba(239,68,68,.2)}.release-notes-error svg{color:#ef4444}.release-notes-create-section{padding:0}.release-notes-editor{display:flex;flex-direction:column;gap:10px}.release-notes-editor label{font-size:14px;font-weight:600;color:#374151}.release-notes-textarea{width:100%;min-height:320px;padding:16px;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;line-height:1.6;color:#1f2937;background:#fff;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}.release-notes-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #f95d031a}.release-notes-textarea::placeholder{color:#9ca3af;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace}.release-notes-hint{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7280;margin:4px 0 0}.release-notes-hint svg{color:#9ca3af;flex-shrink:0}.deploy-drawer{position:absolute;top:0;right:0;bottom:0;width:560px;background:#fff;border-left:1px solid #e5e7eb;box-shadow:-8px 0 30px #0000001f;display:flex;flex-direction:column;z-index:20;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.deploy-drawer.open{transform:translate(0)}.deploy-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#fff;flex-shrink:0}.deploy-drawer-header-left{display:flex;align-items:center;gap:10px}.deploy-drawer-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--primary);border-radius:8px;color:#fff}.deploy-drawer-icon svg{width:16px;height:16px}.deploy-drawer-header-info h3{margin:0;font-size:15px;font-weight:600;color:#111827}.deploy-drawer-subtitle{font-size:12px;color:#6b7280;margin-top:1px;display:block}.drawer-close-btn-floating{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;box-shadow:0 1px 2px #0f172a14;transition:all .18s ease}.drawer-close-btn-floating svg{width:16px;height:16px}.drawer-close-btn-floating:hover{background:#f8fafc;border-color:#9ca3af;color:#111827;box-shadow:0 4px 10px #0f172a1f}.drawer-close-btn-floating:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #f95d0324}.deploy-drawer-body{flex:1;overflow-y:auto;padding:12px 16px;background:#fafbfc}.deploy-drawer-section-header{display:flex;align-items:center;margin-bottom:10px;gap:8px}.deploy-drawer-section-header h4{margin:0;font-size:13px;font-weight:600;color:#111827}.deploy-drawer-select-all-btn{font-size:12px;color:var(--primary);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:4px;margin-left:auto}.deploy-drawer-select-all-btn:hover{background:var(--primary-50);color:#fff}.deploy-drawer-generate-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:500;border:1px solid #d1d5db;border-radius:8px;background:#fff;cursor:pointer;color:#374151;transition:all .15s}.deploy-drawer-generate-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.deploy-drawer-generate-btn:disabled{opacity:.6;cursor:not-allowed}.deploy-drawer-components{display:flex;flex-direction:column;gap:6px}.deploy-drawer-component{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:border-color .15s}.deploy-drawer-component.changed{border-color:var(--primary-50)}.deploy-drawer-component-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;gap:10px}.deploy-drawer-checkbox{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.deploy-drawer-comp-left{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}.deploy-drawer-comp-name{font-weight:600;font-size:13px;color:#111827}.deploy-drawer-versions{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:12px;font-family:SF Mono,Monaco,Menlo,Consolas,monospace;width:100%;padding-left:24px}.deploy-drawer-version-row{display:flex;align-items:center;gap:6px;min-width:0}.deploy-drawer-artifact-key{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:1px 6px;flex-shrink:0}.deploy-drawer-version.current{color:#9ca3af;text-decoration:line-through}.deploy-drawer-version.new{color:#6b7280}.deploy-drawer-version.new.changed{color:#16a34a;font-weight:600}.deploy-drawer-arrow{color:#9ca3af;flex-shrink:0}.deploy-drawer-comp-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.deploy-drawer-changes-badge{font-size:12px;color:#6b7280;background:#f3f4f6;padding:3px 10px;border-radius:10px;white-space:nowrap}.deploy-drawer-chevron{width:16px;height:16px;transition:transform .2s;color:#9ca3af;flex-shrink:0}.deploy-drawer-chevron.open{transform:rotate(180deg)}.deploy-drawer-loading-spinner{width:16px;height:16px;border:2px solid #e5e7eb;border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}.deploy-drawer-changes{padding:0 16px 14px;border-top:1px solid #f3f4f6}.deploy-drawer-changes h5{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin:14px 0 8px}.deploy-drawer-ticket-item{display:flex;align-items:center;gap:10px;padding:8px 10px;font-size:13px;text-decoration:none;color:inherit;border-radius:6px;transition:background .1s}.deploy-drawer-ticket-item:hover{background:#f9fafb}.deploy-drawer-ticket-item .ticket-key{font-weight:600;color:var(--primary);min-width:80px;flex-shrink:0}.deploy-drawer-ticket-item .ticket-summary{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#374151}.deploy-drawer-ticket-item .ticket-status{font-size:11px;padding:2px 8px;border-radius:10px;background:#f3f4f6;color:#6b7280;white-space:nowrap;flex-shrink:0}.deploy-drawer-ticket-item .ticket-status.done,.deploy-drawer-ticket-item .ticket-status.closed{background:#ecfdf5;color:#059669}.deploy-drawer-ticket-item .ticket-status.in-progress{background:var(--primary-light);color:var(--primary)}.deploy-drawer-commit-item{display:flex;align-items:baseline;gap:10px;padding:6px 10px;font-size:13px;border-radius:6px}.deploy-drawer-commit-item code{font-size:12px;background:#f3f4f6;padding:2px 6px;border-radius:4px;color:#6b7280;flex-shrink:0}.deploy-drawer-commit-item .commit-message{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#374151}.deploy-drawer-commit-item .commit-author{font-size:12px;color:#9ca3af;flex-shrink:0}.deploy-drawer-no-changes{padding:12px 10px;font-size:13px;color:#9ca3af;text-align:center}.deploy-drawer-no-changes p{margin:0}.deploy-drawer-empty{padding:40px 20px;text-align:center;color:#9ca3af;font-size:14px}.deploy-drawer-empty p{margin:0}.deploy-drawer-status-section{border-top:1px solid #e5e7eb;padding-top:16px}.deploy-status-table-wrap{overflow-x:auto;margin-top:8px}.deploy-status-table{width:100%;border-collapse:collapse;font-size:12px}.deploy-status-table th{text-align:left;padding:8px 10px;background:#f3f4f6;color:#6b7280;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #e5e7eb;white-space:nowrap}.deploy-status-table td{padding:8px 10px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.deploy-status-table tbody tr:hover{background:#f9fafb}.deploy-status-comp-name{font-weight:600;color:#1f2937;white-space:nowrap}.deploy-status-type-badge{display:inline-block;padding:1px 7px;background:#f0f4ff;color:#4b5ea6;border-radius:4px;font-size:10px;font-weight:500;font-family:SF Mono,Monaco,Courier New,monospace}.deploy-status-version{font-size:11px;color:#374151;background:#e5e7eb;padding:2px 6px;border-radius:4px}.deploy-status-target{color:#6b7280;font-size:11px;white-space:nowrap}.deploy-status-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;white-space:nowrap}.deploy-status-badge.success{background:#ecfdf5;color:#059669}.deploy-status-badge.failed{background:#fef2f2;color:#dc2626}.deploy-status-badge.pending{background:#fffbeb;color:#d97706}.deploy-status-badge.skipped{background:#f3f4f6;color:#6b7280}.deploy-status-test-count{font-size:10px;opacity:.85}.deploy-drawer-history-section{border-top:1px solid #e5e7eb;padding-top:16px}.deploy-drawer-history-loading{display:flex;align-items:center;gap:8px;padding:16px;color:#6b7280;font-size:13px}.deploy-drawer-history-empty{padding:16px;color:#9ca3af;font-size:13px;text-align:center}.deploy-drawer-history-list{display:flex;flex-direction:column;gap:8px}.deploy-drawer-history-item{padding:12px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;border-left:3px solid #10b981;transition:background .15s}.deploy-drawer-history-item:hover{background:#f3f4f6}.deploy-drawer-history-item.failed{border-left-color:#ef4444}.deploy-history-item-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.deploy-history-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:#10b981}.deploy-history-status-dot.failed{background:#ef4444}.deploy-history-comp-name{font-weight:600;font-size:13px;color:#1f2937}.deploy-history-type-badge{display:inline-block;padding:1px 7px;background:#f0f4ff;color:#4b5ea6;border-radius:4px;font-size:10px;font-weight:500;font-family:SF Mono,Monaco,Courier New,monospace;margin-left:auto}.deploy-history-item-details{display:flex;align-items:center;gap:10px;margin-bottom:6px}.deploy-history-version{font-size:12px;color:#374151;background:#e5e7eb;padding:2px 8px;border-radius:4px}.deploy-history-release{font-size:11px;color:#6b7280;font-weight:500}.deploy-history-item-meta{display:flex;align-items:center;gap:10px;font-size:11px;color:#9ca3af}.deploy-history-time{color:#6b7280}.deploy-history-by{color:#9ca3af}.deploy-history-more{display:inline-block;margin-top:6px;font-size:11px;color:#6366f1;font-weight:500}.deploy-drawer-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#fff;flex-shrink:0}.deploy-drawer-cancel-btn{padding:9px 20px;border:1px solid #d1d5db;border-radius:8px;background:#fff;cursor:pointer;font-size:14px;color:#374151;transition:all .15s}.deploy-drawer-cancel-btn:hover{background:#f3f4f6;border-color:#9ca3af}.deploy-drawer-run-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 24px;border:none;border-radius:8px;background:var(--primary);color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:background .15s}.deploy-drawer-run-btn:hover:not(:disabled){background:var(--primary-20)}.deploy-drawer-run-btn:disabled{opacity:.5;cursor:not-allowed}.environments-container{width:100%;display:flex;flex-direction:column;height:calc(100vh - 180px);min-height:400px}.environments-table-container{width:100%;background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e0e0e0;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;flex:1;min-height:0}.environments-table-wrapper{overflow-x:auto;overflow-y:auto;flex:1;min-height:0}.env-table-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;gap:16px;flex-shrink:0}.env-search{display:flex;align-items:center;gap:10px;flex:1;max-width:320px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;transition:all .2s ease}.env-search:focus-within{border-color:var(--primary, #f95d03);box-shadow:0 0 0 2px #f95d031a;background:#fff}.env-search svg{color:#9ca3af;flex-shrink:0}.env-search-input{flex:1;border:none;background:transparent;font-size:13px;color:#1f2937;outline:none}.env-search-input::placeholder{color:#9ca3af}.env-search-clear{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:#9ca3af;color:#fff;border-radius:50%;font-size:14px;line-height:1;cursor:pointer;transition:background-color .15s ease;flex-shrink:0}.env-search-clear:hover{background:#6b7280}.env-filters{display:flex;align-items:center;gap:10px}.env-filter-dropdown{position:relative}.env-filter-trigger{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s ease}.env-filter-trigger:hover{border-color:#d1d5db;background:#f9fafb}.env-filter-trigger.active{border-color:var(--primary, #f95d03);color:var(--primary, #f95d03);background:#f95d030d}.env-filter-trigger svg{width:14px;height:14px}.env-filter-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:160px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:100;overflow:hidden}.env-filter-option{display:block;width:100%;padding:10px 14px;text-align:left;background:transparent;border:none;font-size:13px;color:#374151;cursor:pointer;transition:background-color .15s ease}.env-filter-option:hover{background:#f9fafb}.env-filter-option.selected{background:#f95d0314;color:var(--primary, #f95d03);font-weight:500}.env-table-info{font-size:13px;color:#6b7280;white-space:nowrap}.env-no-results{padding:60px 20px!important;text-align:center}.env-no-results-content{display:flex;flex-direction:column;align-items:center;gap:12px;color:#9ca3af}.env-no-results-content svg{opacity:.5}.env-no-results-content p{margin:0;font-size:14px;color:#6b7280}.env-no-results-content button{padding:8px 16px;background:#e85502;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s ease}.env-no-results-content button:hover{background:#e85502}.environments-table{width:100%;border-collapse:collapse;font-size:14px}.env-th{padding:12px 16px;text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb;white-space:nowrap;position:sticky;top:0}.env-th-content{display:flex;align-items:center;gap:8px}.env-th-content svg{color:#9ca3af;width:14px;height:14px}.env-th-expand{width:60px;min-width:60px}.env-th-name{min-width:250px}.env-th-type{width:140px}.env-th-deploy{width:100px}.env-th-url{min-width:220px}.env-th-components{width:130px;text-align:center}.env-th-updated{width:140px}.env-th-actions{width:120px;text-align:center}.env-row{transition:background-color .15s ease;background:#fff}.env-row.clickable{cursor:pointer}.env-row:hover{background-color:#f95d0308}.env-row.clickable:hover{background-color:#f95d030f}.env-row.expanded{background-color:#fff7ed}.env-td{padding:12px 16px;border-bottom:1px solid #f0f0f0;vertical-align:middle;color:#374151}.env-row:last-child .env-td{border-bottom:none}.env-td-expand{text-align:center}.env-expand-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:transparent;border:1px solid #e5e7eb;border-radius:6px;color:#9ca3af;cursor:pointer;transition:all .2s ease}.env-expand-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#6b7280}.env-expand-btn svg{transition:transform .2s ease}.env-expand-btn.expanded svg{transform:rotate(90deg)}.env-expand-btn.expanded{background:var(--primary, #f95d03);border-color:var(--primary, #f95d03);color:#fff}.env-expand-btn.expanded:hover{background:#e85502;border-color:#e85502}.env-name-cell{display:flex;align-items:center;gap:12px}.env-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.env-icon svg{color:var(--primary, #f95d03)}.env-name{font-weight:600;color:#1f2937;font-size:14px;letter-spacing:-.01em}.env-type-badge{display:inline-flex;align-items:center;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:500;text-transform:capitalize;letter-spacing:0;border:1px solid transparent}.env-type-badge.development{background:#dcfce7;color:#166534;border-color:#86efac}.env-type-badge.qa{background:#dbeafe;color:#1e40af;border-color:#93c5fd}.env-type-badge.staging{background:#fef3c7;color:#92400e;border-color:#fcd34d}.env-type-badge.production{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.env-type-badge.custom{background:#e5e7eb;color:#374151;border-color:#9ca3af}.env-deploy-badge{display:inline-flex;align-items:center;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;border:1px solid transparent}.env-deploy-badge.manual{background:#f9fafb;color:#6b7280;border-color:#e5e7eb}.env-deploy-badge.automatic{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.env-url-link{color:#6b7280;text-decoration:none;font-size:13px;transition:color .15s ease}.env-url-link:hover{color:var(--primary, #f95d03);text-decoration:underline}.env-empty-field{color:#d1d5db;font-style:normal}.env-td-components{text-align:center}.env-components-count{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:28px;padding:0 12px;background:#f3f4f6;color:#374151;border-radius:14px;font-size:13px;font-weight:600}.env-date{font-size:13px;color:#6b7280}.env-td-actions{text-align:center}.env-actions{display:flex;align-items:center;justify-content:center;gap:8px}.env-action-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:transparent;border:1px solid #e5e7eb;border-radius:8px;color:#9ca3af;cursor:pointer;transition:all .2s ease}.env-action-btn:hover{background:#f9fafb;color:#374151;border-color:#d1d5db}.env-action-btn.delete:hover{background:#fef2f2;color:#dc2626;border-color:#fecaca}.env-expanded-row{background:#fafafa}.env-expanded-cell{padding:0!important;border-bottom:1px solid #e5e7eb}.component-versions-panel{background:#fff;padding:20px 24px;margin-left:50px;border-left:3px solid var(--primary, #f95d03)}.component-versions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.component-versions-header span{font-size:13px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.8px;display:flex;align-items:center;gap:8px}.component-versions-header span:before{content:"";display:inline-block;width:4px;height:16px;background:var(--primary, #f95d03);border-radius:2px}.component-versions-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;border-radius:12px;overflow:hidden;border:1px solid #e5e7eb}.component-versions-table th{text-align:left;padding:12px 16px;font-weight:600;color:#6b7280;font-size:11px;text-transform:uppercase;letter-spacing:.8px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.component-versions-table td{padding:14px 16px;border-bottom:1px solid #f3f4f6;color:#374151;background:#fff}.component-versions-table tr:last-child td{border-bottom:none}.component-versions-table tr:hover td{background:#fafbfc}.component-name-cell{font-weight:600;color:#111827}.release-cell{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:12px;color:#fff;font-weight:600;background:var(--primary, #f95d03);padding:4px 10px;border-radius:6px;display:inline-block}.release-cell.na{background:#e5e7eb;color:#9ca3af;font-weight:500}.version-cell{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:12px;color:#374151;background:#f3f4f6;padding:4px 10px;border-radius:6px;display:inline-block}.version-cell.na{color:#9ca3af;background:transparent}.deployed-cell{font-size:12px;color:#6b7280}.deployed-cell .na{color:#d1d5db}.no-component-versions{text-align:center;padding:32px;color:#6b7280;background:#fff;border-radius:12px;border:2px dashed #e5e7eb}.no-component-versions p{margin:0 0 16px;font-size:14px}.no-component-versions button{padding:10px 20px;background:linear-gradient(135deg,var(--primary, #f95d03) 0%,#fb923c 100%);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #f95d0340}.no-component-versions button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f95d0359}.no-component-versions button:disabled{opacity:.6;cursor:not-allowed}.environments-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:#6b7280;font-size:14px}.environments-loading .spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:var(--primary, #f95d03);border-radius:50%;animation:spin .8s linear infinite}.environments-loading p{margin:0;color:#6b7280;font-size:14px}.environments-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:#9ca3af;font-size:14px;text-align:center}.environments-error p{margin:0;color:#dc2626;font-size:14px}.environments-error button{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.environments-error button:hover{background:#2563eb}.environments-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:#9ca3af;font-size:14px;text-align:center}.environments-empty .empty-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:12px}.environments-empty svg{color:#9ca3af;opacity:.5}.environments-empty h3{margin:0;font-size:16px;font-weight:600;color:#374151}.environments-empty p{margin:0;font-size:14px;color:#6b7280}.environment-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.environment-modal{background:#fff;border-radius:20px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 80px #0000004d}.environment-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid #e5e7eb;background:linear-gradient(180deg,#fff,#f9fafb)}.environment-modal-header h2{margin:0;font-size:20px;font-weight:700;color:#111827}.environment-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#f3f4f6;border:none;border-radius:10px;color:#6b7280;cursor:pointer;transition:all .2s ease}.environment-modal-close:hover{background:#e5e7eb;color:#374151}.environment-modal-body{padding:28px;display:flex;flex-direction:column;gap:24px}.environment-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.environment-form-group{display:flex;flex-direction:column;gap:8px}.environment-form-group label{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:#374151}.environment-form-group input[type=text],.environment-form-group input[type=url],.environment-form-group select{padding:12px 16px;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;color:#111827;transition:all .2s ease;background:#fff}.environment-form-group input:focus,.environment-form-group select:focus{outline:none;border-color:var(--primary, #f95d03);box-shadow:0 0 0 4px #f95d031a}.environment-form-group select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px;appearance:none}.add-variable-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,var(--primary, #f95d03) 0%,#fb923c 100%);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.add-variable-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #f95d034d}.variables-list{display:flex;flex-direction:column;gap:10px;padding:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;max-height:200px;overflow-y:auto}.no-variables{text-align:center;color:#9ca3af;font-size:13px;padding:12px 0}.variable-row{display:flex;gap:10px;align-items:center}.variable-key{width:140px;padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;background:#fff}.variable-value{flex:1;padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;background:#fff}.variable-key:focus,.variable-value:focus{outline:none;border-color:var(--primary, #f95d03)}.remove-variable-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;transition:all .15s ease}.remove-variable-btn:hover{background:#fef2f2;color:#dc2626}.environment-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:20px 28px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 20px 20px}.environment-cancel-btn{padding:12px 24px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease}.environment-cancel-btn:hover{background:#f3f4f6;border-color:#d1d5db;color:#374151}.environment-save-btn{padding:12px 28px;background:linear-gradient(135deg,var(--primary, #f95d03) 0%,#fb923c 100%);border:none;border-radius:10px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #f95d0340}.environment-save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f95d0359}.environment-save-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.env-th,.env-td{padding:10px 12px}.env-th-url,.env-td-url{display:none}.env-name{font-size:13px}.environment-form-row{grid-template-columns:1fr}.environment-modal{max-width:100%;border-radius:20px 20px 0 0;position:fixed;bottom:0;left:0;right:0;max-height:90vh}.component-versions-panel{margin-left:20px;padding:16px}}.env-detail-container{display:flex;flex-direction:column;height:100%;background:#fafaff}.env-detail-loading,.env-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:#6b7280}.env-detail-loading .spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:var(--primary, #f95d03);border-radius:50%;animation:spin .8s linear infinite}.env-detail-error button{padding:8px 16px;background:var(--primary, #f95d03);color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer}.env-detail-nav-bar{background:#fff;border-bottom:1px solid #e5e7eb;padding:0 24px;flex-shrink:0}.env-detail-nav-inner{display:flex;align-items:center;justify-content:space-between;height:48px}.env-detail-nav-left{display:flex;align-items:center;gap:12px}.env-detail-back-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;background:transparent;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s ease}.env-detail-back-btn:hover{background:#f9fafb;border-color:#d1d5db}.env-detail-nav-divider{width:1px;height:24px;background:#e5e7eb}.env-detail-nav-title{display:flex;align-items:center;gap:10px}.env-detail-nav-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#f95d031a;border-radius:6px;color:var(--primary, #f95d03)}.env-detail-nav-title-text{display:flex;align-items:center;gap:10px}.env-detail-nav-name{font-size:16px;font-weight:600;color:#1f2937}.env-detail-nav-type{display:inline-flex;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:500;text-transform:capitalize}.env-detail-nav-type.development{background:#dcfce7;color:#166534}.env-detail-nav-type.staging{background:#fef3c7;color:#92400e}.env-detail-nav-type.production{background:#fee2e2;color:#991b1b}.env-detail-nav-type.custom{background:#e5e7eb;color:#374151}.env-detail-nav-tabs{display:flex;align-items:center;gap:4px}.env-detail-nav-tab{padding:6px 12px;background:transparent;border:none;border-radius:6px;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.env-detail-nav-tab:hover{background:#f9fafb;color:#374151}.env-detail-nav-tab.active{background:#464b58;color:#fff}.env-detail-content{flex:1;overflow:hidden;padding:0;background-image:linear-gradient(to right,#e8eef3 1px,transparent 1px),linear-gradient(to bottom,#e8eef3 1px,transparent 1px);background-size:20px 20px;background-color:#f8fafc}.env-detail-overview{display:grid;grid-template-columns:auto 1fr;gap:0;align-items:stretch;height:100%}.env-overview-column{display:flex;flex-direction:column;gap:24px;min-width:0}.env-overview-column.env-overview-left{gap:0;height:100%}.env-overview-column.env-overview-right{padding:24px;overflow-y:auto}@media(max-width:1200px){.env-detail-overview{grid-template-columns:1fr;height:auto}.env-overview-column.env-overview-left,.env-overview-column.env-overview-right{height:auto}}.env-info-panel{background:#fff;border:none;border-right:1px solid #e5e7eb;border-radius:0;box-shadow:none;overflow:hidden;width:420px;height:100%}.env-info-header{padding:24px 24px 20px;border-bottom:1px solid #f0f0f0}.env-info-title{margin:0 0 6px;font-size:22px;font-weight:700;color:#1f2937;letter-spacing:-.02em}.env-info-subtitle{margin:0;font-size:14px;color:#6b7280}.env-info-content{padding:0}.env-info-section{padding:20px 24px;border-bottom:1px solid #f0f0f0}.env-info-section:last-child{border-bottom:none}.env-info-section-title{margin:0 0 14px;font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.env-info-kv-list{display:flex;flex-direction:column;gap:12px}.env-info-kv{display:flex;align-items:center;justify-content:space-between;gap:16px}.env-info-key{font-size:13px;font-weight:500;color:#6b7280}.env-info-value{font-size:13px;font-weight:500;color:#1f2937;text-align:right}.env-info-link{display:inline-flex;align-items:center;gap:6px;color:var(--primary, #f95d03);text-decoration:none;font-weight:500;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.env-info-link:hover{text-decoration:underline}.env-info-empty{color:#9ca3af;font-style:italic}.env-info-panel .env-type-badge{display:inline-flex;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500;text-transform:capitalize}.env-info-panel .env-type-badge.development{background:#dcfce7;color:#166534}.env-info-panel .env-type-badge.staging{background:#fef3c7;color:#92400e}.env-info-panel .env-type-badge.production{background:#fee2e2;color:#991b1b}.env-info-panel .env-type-badge.custom{background:#e5e7eb;color:#374151}.env-info-panel .env-deploy-badge{display:inline-flex;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.env-info-panel .env-deploy-badge.manual{background:#f9fafb;color:#6b7280;border:1px solid #e5e7eb}.env-info-panel .env-deploy-badge.automatic{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.env-custom-info-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000a;overflow:hidden;height:fit-content}.env-custom-info-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.env-custom-info-header h3{margin:0;font-size:14px;font-weight:600;color:#374151}.env-custom-info-edit-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .15s ease}.env-custom-info-edit-btn:hover{background:#fff;color:var(--primary, #f95d03);border-color:var(--primary, #f95d03)}.env-custom-info-edit-btn:disabled{opacity:.6;cursor:not-allowed}.env-custom-info-edit-btn svg.spinning{animation:spin 1s linear infinite}.env-info-header-actions{display:flex;align-items:center;gap:10px}.env-info-source-toggle{display:flex;align-items:center;background:#f3f4f6;border-radius:6px;padding:2px}.env-info-source-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;background:transparent;border:none;border-radius:4px;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.env-info-source-btn:hover{color:#374151}.env-info-source-btn.active{background:#fff;color:var(--primary, #f95d03);box-shadow:0 1px 3px #0000001a}.env-info-source-btn svg{width:14px;height:14px}.env-gitops-file-path{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-bottom:16px;font-size:12px;color:#0369a1}.env-gitops-file-path svg{flex-shrink:0}.env-gitops-file-path span{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.env-gitops-hint{display:block;margin-top:8px;font-size:12px;color:#6b7280}.env-gitops-hint code{display:block;margin-top:6px;padding:8px 12px;background:#f3f4f6;border-radius:6px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:11px;color:#374151;word-break:break-all}.env-custom-info-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px;text-align:center}.env-custom-info-loading .spinner.small{width:24px;height:24px;border-width:2px}.env-custom-info-loading p{margin:0;font-size:13px;color:#6b7280}@keyframes spin{to{transform:rotate(360deg)}}.env-custom-info-content{padding:20px 24px}.env-custom-info-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;text-align:center}.env-custom-info-empty p{margin:0;font-size:13px;color:#9ca3af}.env-custom-info-empty button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--primary, #f95d03);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s ease}.env-custom-info-empty button:hover{background:#e85502}.env-custom-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000a;overflow:hidden}.env-custom-section-header{display:flex;align-items:center;justify-content:flex-end;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #f0f0f0}.env-custom-section-actions{display:flex;gap:6px}.env-custom-section-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid #e5e7eb;border-radius:6px;color:#9ca3af;cursor:pointer;transition:all .15s ease}.env-custom-section-btn:hover{background:#fff;color:#374151;border-color:#d1d5db}.env-custom-section-btn.delete:hover{background:#fef2f2;color:#dc2626;border-color:#fecaca}.env-custom-section-content{padding:20px 24px}.env-section-block{margin-bottom:12px}.env-section-block:last-child{margin-bottom:0}.env-block-heading{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--primary, #f95d03)}.env-block-subheading{margin:0 0 8px;font-size:14px;font-weight:600;color:#1f2937}.env-block-text{margin:0 0 8px;font-size:14px;color:#374151;line-height:1.6}.env-block-kvs{display:flex;flex-direction:column;gap:10px;padding:12px 0}.env-custom-section-kv{display:flex;align-items:center;justify-content:space-between;gap:16px}.env-custom-section-key{font-size:13px;font-weight:500;color:#6b7280}.env-custom-section-value{font-size:13px;font-weight:500;color:#1f2937;text-align:right}.env-add-section-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px 24px;background:#fff;border:2px dashed #d1d5db;border-radius:12px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.env-add-section-btn:hover{border-color:var(--primary, #f95d03);color:var(--primary, #f95d03);background:#f95d0305}.env-add-section-btn svg{flex-shrink:0}.env-section-form{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000a;overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 250px)}.env-section-form-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-shrink:0}.env-section-form-header h3{margin:0;font-size:15px;font-weight:600;color:#1f2937}.env-section-form-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;color:#9ca3af;cursor:pointer;border-radius:6px;transition:all .15s ease}.env-section-form-close:hover{background:#e5e7eb;color:#374151}.env-section-form-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px;min-height:150px;max-height:400px;overflow-y:auto;flex:1}.env-block-type-selector{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#fff;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;flex-shrink:0}.env-block-type-label{font-size:12px;font-weight:500;color:#6b7280;margin-right:4px}.env-block-type-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s ease}.env-block-type-btn:hover{border-color:var(--primary, #f95d03);color:var(--primary, #f95d03);background:#f95d0305}.env-block-type-btn svg{color:#9ca3af}.env-block-type-btn:hover svg{color:var(--primary, #f95d03)}.env-blocks-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#9ca3af}.env-blocks-empty svg{margin-bottom:12px;opacity:.5}.env-blocks-empty p{margin:0;font-size:13px}.env-blocks-list{display:flex;flex-direction:column;gap:12px}.env-block-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.env-block-item-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f3f4f6;border-bottom:1px solid #e5e7eb}.env-block-item-type{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px}.env-block-item-actions{display:flex;align-items:center;gap:4px}.env-block-move-btn,.env-block-remove-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:none;color:#9ca3af;cursor:pointer;border-radius:4px;transition:all .15s ease}.env-block-move-btn:hover:not(:disabled){background:#e5e7eb;color:#374151}.env-block-move-btn:disabled{opacity:.3;cursor:not-allowed}.env-block-remove-btn:hover{background:#fef2f2;color:#dc2626}.env-block-item-content{padding:12px}.env-block-input{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;color:#1f2937;background:#fff;transition:all .15s ease}.env-block-input:focus{outline:none;border-color:var(--primary, #f95d03);box-shadow:0 0 0 2px #f95d031a}.env-block-input-heading{font-size:16px;font-weight:600}.env-block-input-subheading{font-size:14px;font-weight:500}.env-block-textarea{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;color:#1f2937;background:#fff;resize:vertical;min-height:60px;transition:all .15s ease}.env-block-textarea:focus{outline:none;border-color:var(--primary, #f95d03);box-shadow:0 0 0 2px #f95d031a}.env-block-kvs-editor{display:flex;flex-direction:column;gap:8px}.env-section-form-group{display:flex;flex-direction:column;gap:6px}.env-section-form-group label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px}.env-section-form-group input,.env-section-form-group textarea{padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#1f2937;background:#fff;transition:all .15s ease}.env-section-form-group input:focus,.env-section-form-group textarea:focus{outline:none;border-color:var(--primary, #f95d03);box-shadow:0 0 0 2px #f95d031a}.env-section-form-group input::placeholder,.env-section-form-group textarea::placeholder{color:#9ca3af}.env-section-form-group textarea{resize:vertical;min-height:80px}.env-section-form-kvs{display:flex;flex-direction:column;gap:10px}.env-section-form-kv-row{display:flex;align-items:center;gap:8px}.env-section-form-kv-row input{flex:1;padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#1f2937}.env-section-form-kv-row input:focus{outline:none;border-color:var(--primary, #f95d03)}.env-section-form-kv-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid #e5e7eb;border-radius:6px;color:#9ca3af;cursor:pointer;flex-shrink:0;transition:all .15s ease}.env-section-form-kv-remove:hover{background:#fef2f2;color:#dc2626;border-color:#fecaca}.env-section-form-add-kv{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:transparent;border:1px dashed #d1d5db;border-radius:6px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.env-section-form-add-kv:hover{border-color:var(--primary, #f95d03);color:var(--primary, #f95d03);background:#f95d0305}.env-section-form-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;background:#f9fafb;border-top:1px solid #e5e7eb;flex-shrink:0}.env-section-form-cancel{padding:8px 16px;background:transparent;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.env-section-form-cancel:hover{background:#f9fafb;border-color:#d1d5db}.env-section-form-save{padding:8px 16px;background:var(--primary, #f95d03);border:none;border-radius:6px;font-size:13px;font-weight:500;color:#fff;cursor:pointer;transition:all .15s ease}.env-section-form-save:hover:not(:disabled){background:#e85502}.env-section-form-save:disabled{opacity:.5;cursor:not-allowed}.env-detail-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px}.env-detail-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.env-detail-card h3{margin:0 0 16px;font-size:14px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px}.env-detail-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.env-detail-info-item{display:flex;flex-direction:column;gap:4px}.env-detail-info-item label{font-size:12px;font-weight:500;color:#9ca3af;text-transform:uppercase;letter-spacing:.3px}.env-detail-info-item span{font-size:14px;color:#1f2937}.env-detail-url{display:inline-flex;align-items:center;gap:6px;color:var(--primary, #f95d03);text-decoration:none;font-size:14px}.env-detail-url:hover{text-decoration:underline}.env-detail-empty{color:#9ca3af;font-style:italic}.env-detail-card .env-type-badge{display:inline-flex;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500;text-transform:capitalize}.env-detail-card .env-type-badge.development{background:#dcfce7;color:#166534}.env-detail-card .env-type-badge.staging{background:#fef3c7;color:#92400e}.env-detail-card .env-type-badge.production{background:#fee2e2;color:#991b1b}.env-detail-card .env-type-badge.custom{background:#e5e7eb;color:#374151}.env-detail-card .env-deploy-badge{display:inline-flex;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.env-detail-card .env-deploy-badge.manual{background:#f9fafb;color:#6b7280;border:1px solid #e5e7eb}.env-detail-card .env-deploy-badge.automatic{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.env-detail-stats{display:flex;gap:24px}.env-detail-stat{flex:1;text-align:center;padding:16px;background:#f9fafb;border-radius:8px}.env-detail-stat-value{font-size:28px;font-weight:700;color:var(--primary, #f95d03)}.env-detail-stat-label{font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;margin-top:4px}.env-detail-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.env-detail-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.env-detail-section-header h3{margin:0;font-size:14px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px}.env-detail-view-all{padding:6px 12px;background:transparent;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.env-detail-view-all:hover{background:#f9fafb;color:#374151}.env-detail-table-container{overflow-x:auto}.env-detail-table{width:100%;border-collapse:collapse}.env-detail-table th{padding:12px 16px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb}.env-detail-table td{padding:14px 16px;font-size:13px;color:#374151;border-bottom:1px solid #f0f0f0}.env-detail-table tr:last-child td{border-bottom:none}.env-detail-table tr:hover td{background:#f95d0305}.env-detail-component-name{font-weight:500;color:#1f2937}.env-detail-table code{padding:2px 6px;background:#f3f4f6;border-radius:4px;font-size:12px;font-family:SF Mono,Consolas,monospace}.env-detail-type-badge{display:inline-block;padding:2px 8px;background:#f0f4ff;color:#4b5ea6;border-radius:4px;font-size:11px;font-weight:500;font-family:SF Mono,Consolas,monospace}.env-detail-type-continuation td{border-top:1px dashed #f0f0f0!important;border-bottom:1px solid #f0f0f0}.env-detail-variables-table .env-detail-var-key{width:30%;font-weight:500}.env-detail-variables-table .env-detail-var-value{word-break:break-all}.env-detail-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:12px;text-align:center;color:#9ca3af}.env-detail-empty-state svg{opacity:.5}.env-detail-empty-state h3{margin:0;font-size:16px;font-weight:600;color:#374151}.env-detail-empty-state p{margin:0;font-size:14px;color:#6b7280}.env-detail-timeline{display:flex;flex-direction:column;gap:0}.env-detail-timeline-item{display:flex;gap:16px;position:relative;padding-bottom:24px}.env-detail-timeline-item:last-child{padding-bottom:0}.env-detail-timeline-marker{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:4px}.env-detail-timeline-line{position:absolute;left:5px;top:20px;bottom:0;width:2px;background:#e5e7eb}.env-detail-timeline-content{flex:1;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.env-detail-timeline-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.env-detail-timeline-release{font-size:14px;font-weight:600;color:#1f2937}.env-detail-timeline-status{font-size:12px;font-weight:500;text-transform:capitalize}.env-detail-timeline-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:#6b7280}.env-detail-timeline-notes{margin-top:12px;padding:12px;background:#f9fafb;border-radius:6px;font-size:13px;color:#374151}.env-detail-components{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.env-detail-history{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px}.env-detail-variables{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}@media(max-width:768px){.env-detail-nav-inner{flex-direction:column;height:auto;padding:16px 0;gap:16px}.env-detail-nav-left{width:100%;flex-wrap:wrap}.env-detail-nav-tabs{width:100%;overflow-x:auto}.env-detail-cards,.env-detail-info-grid{grid-template-columns:1fr}.env-detail-stats{flex-direction:column}}.command-palette-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:9999;animation:overlayFadeIn .15s ease}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.command-palette{width:560px;max-width:90vw;max-height:70vh;background:#fff;border-radius:12px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;overflow:hidden;animation:paletteSlideIn .2s ease}@keyframes paletteSlideIn{0%{opacity:0;transform:scale(.96) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.command-palette-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #e5e7eb}.command-palette-header svg{color:#9ca3af;flex-shrink:0}.command-palette-input{flex:1;border:none;outline:none;font-size:16px;font-weight:400;color:#1f2937;background:transparent}.command-palette-input::placeholder{color:#9ca3af}.command-palette-esc{padding:4px 8px;font-size:11px;font-weight:500;color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;font-family:inherit}.command-palette-list{flex:1;overflow-y:auto;padding:8px}.command-palette-list::-webkit-scrollbar{width:6px}.command-palette-list::-webkit-scrollbar-track{background:transparent}.command-palette-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.command-palette-section{margin-bottom:8px}.command-palette-section:last-child{margin-bottom:0}.command-palette-section-title{padding:8px 12px 4px;font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.command-palette-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:8px;cursor:pointer;transition:all .1s ease;text-align:left}.command-palette-item:hover,.command-palette-item.selected{background:#f3f4f6}.command-palette-item.selected{background:var(--primary-light, #fff7ed)}.command-palette-item-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#f9fafb;border-radius:6px;color:#6b7280;flex-shrink:0}.command-palette-item.selected .command-palette-item-icon{background:var(--primary, #f95d03);color:#fff}.command-palette-item-label{flex:1;font-size:14px;font-weight:500;color:#374151}.command-palette-item-hint{display:flex;align-items:center;gap:4px;font-size:12px;color:#9ca3af}.command-palette-item-hint kbd{padding:2px 6px;font-size:10px;font-weight:500;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:4px;font-family:inherit}.command-palette-empty{display:flex;align-items:center;justify-content:center;padding:40px 20px;color:#9ca3af;font-size:14px}.command-palette-footer{display:flex;align-items:center;justify-content:center;gap:20px;padding:12px 20px;border-top:1px solid #e5e7eb;background:#f9fafb}.command-palette-footer span{display:flex;align-items:center;gap:4px;font-size:12px;color:#6b7280}.command-palette-footer kbd{padding:2px 6px;font-size:10px;font-weight:500;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:4px;font-family:inherit;box-shadow:0 1px 2px #0000000d}@media(max-width:640px){.command-palette-overlay{padding-top:10vh}.command-palette{width:95vw;max-height:80vh}.command-palette-footer{gap:12px;flex-wrap:wrap}.command-palette-footer span{font-size:11px}}.project-detail-page{min-height:100vh;background:#fafafa;padding:24px}.project-detail-loading,.project-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px;color:#6b7280;font-size:14px}.project-detail-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#f95d03;border-radius:50%;animation:project-detail-spin .8s linear infinite}@keyframes project-detail-spin{to{transform:rotate(360deg)}}.project-detail-back-btn{margin-top:12px;padding:8px 16px;background:#000;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s ease}.project-detail-back-btn:hover{background:#222}.project-detail-header{max-width:1200px;margin:0 auto 24px}.project-detail-back{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;color:#374151;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.project-detail-back:hover{background:#f9fafb;border-color:#d1d5db}.project-detail-content{max-width:1200px;margin:0 auto}.project-detail-hero{display:flex;align-items:flex-start;gap:24px;padding:32px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:24px}.project-detail-avatar{width:80px;height:80px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f95d03,#fcae81);color:#000;font-size:24px;font-weight:700;flex-shrink:0}.project-detail-info{flex:1}.project-detail-title{font-size:28px;font-weight:700;color:#111827;margin:0 0 8px;letter-spacing:-.02em}.project-detail-description{font-size:15px;color:#6b7280;line-height:1.6;margin:0}.project-detail-meta{display:flex;gap:32px;padding:20px 32px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px}.project-detail-meta-item{display:flex;flex-direction:column;gap:4px}.project-detail-meta-label{font-size:12px;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.project-detail-meta-value{font-size:14px;color:#374151;font-weight:500}.project-detail-sections{display:flex;flex-direction:column;gap:24px}.project-detail-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.project-detail-section-title{font-size:16px;font-weight:600;color:#111827;margin:0;padding:16px 24px;border-bottom:1px solid #f1f3f5;background:#f9fafb}.project-detail-section-content{padding:24px;color:#6b7280;font-size:14px;line-height:1.6}@media(max-width:768px){.project-detail-page{padding:16px}.project-detail-hero{flex-direction:column;padding:24px}.project-detail-avatar{width:64px;height:64px;font-size:20px}.project-detail-title{font-size:22px}.project-detail-meta{flex-direction:column;gap:16px;padding:16px 24px}}
