body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}:root{--bg-primary:#f5f5f5;--bg-secondary:#fff;--bg-tertiary:#f0f0f0;--bg-in-progress:#f5f9ff;--bg-dependencies:#fafafa;--bg-build-servers:#fafafa;--text-primary:#333;--text-secondary:#666;--text-muted:#999;--border-color:#ddd;--border-light:#eee;--shadow-color:#0000001a;--shadow-heavy:#00000040;--header-bg:linear-gradient(135deg,#3b4cca,#2c3aa3);--accent-color:#ee1515;--accent-blue:#2196f3;--success-color:#4caf50;--error-color:#f44336;--progress-bar-bg:#f0f0f0;--progress-fill:linear-gradient(90deg,#2196f3,#42a5f5);--progress-fill-failure:linear-gradient(90deg,#f44336,#e57373);color-scheme:light dark}html.dark-mode{--bg-primary:#1e1e1e;--bg-secondary:#2a2a2a;--bg-tertiary:#333;--bg-in-progress:#1e2a38;--bg-dependencies:#2a2a2a;--bg-build-servers:#2a2a2a;--text-primary:#e0e0e0;--text-secondary:#999;--text-muted:#666;--border-color:#3c3c3c;--border-light:#333;--shadow-color:#0006;--shadow-heavy:#0009;--header-bg:linear-gradient(135deg,#2d4a6f,#1e3a5f);--progress-bar-bg:#3a3a3a;--progress-fill:linear-gradient(90deg,#1565c0,#1976d2);--progress-fill-failure:linear-gradient(90deg,#c62828,#d32f2f)}body,html{margin:0;max-width:100%;overflow-x:hidden;padding:0;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;background-color:var(--bg-primary);color:#333;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s,color .3s}.App{display:flex;flex-direction:column;min-height:100vh}.App-header{background:linear-gradient(135deg,#3b4cca,#2c3aa3);background:var(--header-bg);box-shadow:0 2px 8px #0000001a;box-shadow:0 2px 8px var(--shadow-color);color:#fff;justify-content:space-between;padding:12px 15px}.App-header,.App-header h1{align-items:center;display:flex}.App-header h1{font-size:24px;font-weight:700;gap:10px;margin:0;position:relative;top:-1px}.header-pokeball{flex-shrink:0;position:relative;top:2px;vertical-align:middle}.user-info{align-items:center;display:flex;gap:15px}.user-info span{font-size:14px;opacity:.9}.logout-button{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background .2s}.logout-button:hover{background:#ffffff4d}.settings-button{background:#ffffff26;border:1px solid #ffffff40;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background .2s}.settings-button:hover{background:#ffffff40}.settings-button.active{background:#ffffff73;border-color:#fff9;font-weight:600}.header-home{align-items:center;color:inherit;cursor:pointer;display:inline-flex;gap:10px;text-decoration:none}.header-home:hover{opacity:.85}.App-main{box-sizing:border-box;flex:1 1;margin:0 auto;max-width:100%;overflow-x:hidden;padding:8px;width:100%}.App-footer{background-color:#333;color:#fff;font-size:14px;margin-top:auto;padding:20px;text-align:center}.App-footer p{margin:0}.status-message{background:#fff;background:var(--bg-secondary);border-radius:8px;box-shadow:0 2px 8px #0000001a;box-shadow:0 2px 8px var(--shadow-color);margin-bottom:30px;padding:30px;text-align:center}.status-message.checking{border-left:4px solid #2196f3}.status-message.success{border-left:4px solid #4caf50;text-align:left}.status-message.error{border-left:4px solid #f44336}.status-message h2{color:#333;color:var(--text-primary);font-size:24px;margin:0 0 15px}.status-message p{color:#666;color:var(--text-secondary);font-size:16px;margin:10px 0}.status-message code{background-color:#f0f0f0;background-color:var(--bg-tertiary);border-radius:4px;color:#333;color:var(--text-primary);font-family:Courier New,monospace;font-size:14px;padding:4px 8px}.status-message .config-note{color:#999;color:var(--text-muted);font-size:14px;margin-top:5px}.retry-button{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-top:20px;padding:10px 20px;transition:background-color .3s}.retry-button:hover{background-color:#1976d2}.welcome-message{background:#fff;background:var(--bg-secondary);border-radius:8px;box-shadow:0 2px 8px #0000001a;box-shadow:0 2px 8px var(--shadow-color);margin-top:30px;padding:60px 40px;text-align:center}.welcome-message h2{color:#333;color:var(--text-primary);font-size:28px;margin:0 0 15px}.welcome-message p{color:#666;color:var(--text-secondary);font-size:16px;margin:0}@media (max-width:768px){.App-header h1{font-size:28px}.App-header .subtitle{font-size:14px}.App-main{padding:20px 10px}.welcome-message{padding:40px 20px}.welcome-message h2{font-size:24px}.welcome-message p{font-size:14px}}.build-servers-container{margin-bottom:12px}.build-servers-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.build-servers-header h2{color:var(--text-primary);font-size:18px;margin:0}.build-servers{background:var(--bg-build-servers);border-radius:6px;box-shadow:0 2px 6px var(--shadow-color);padding:12px}.build-servers-actions{align-items:center;display:flex;gap:10px}.last-refresh{color:var(--text-muted);font-size:12px}.test-notification-button{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:12px;padding:4px 10px;transition:background-color .2s}.test-notification-button:hover:not(:disabled){background:var(--bg-secondary)}.test-notification-button:disabled{cursor:not-allowed;opacity:.5}.agents-list{grid-gap:8px 40px;display:grid;gap:8px 40px;grid-template-columns:repeat(3,1fr)}.agent-row{grid-gap:20px;align-items:center;border-bottom:1px solid var(--border-light);border-right:1px solid var(--border-color);display:grid;gap:20px;grid-template-columns:90px 1fr;padding:4px 30px 4px 0}.agent-row:nth-child(3n){border-right:none;padding-right:0}.agent-name-link{color:inherit;display:block}.agent-name-link,.agent-name-link:hover{text-decoration:none}.agent-name{color:var(--text-primary);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-build-info{flex:1 1}.progress-bar{background-color:var(--progress-bar-bg);border-radius:3px;height:20px;overflow:hidden;position:relative;width:100%}.progress-fill{background:var(--progress-fill);border-radius:3px;height:100%;left:0;position:absolute;top:0;transition:width .3s ease;z-index:1}.progress-fill-failure{background:var(--progress-fill-failure)!important}.time-elapsed-overlay{color:var(--text-secondary);font-size:11px;font-weight:500;left:6px;line-height:1;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:2}.progress-bar .build-name-link{align-items:center;bottom:3px;display:flex;left:50%;max-width:50%;position:absolute;top:1px;transform:translateX(-50%);z-index:2}.build-name-link,.progress-bar .build-name-link{color:inherit;text-decoration:none}.build-name-link:hover{text-decoration:none}.build-name{color:var(--text-primary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.build-name,.time-remaining-overlay{font-weight:500;line-height:1;pointer-events:none}.time-remaining-overlay{color:var(--text-secondary);font-size:11px;position:absolute;right:6px;top:50%;transform:translateY(-50%);z-index:2}.progress-icons{align-items:center;bottom:3px;display:flex;flex-shrink:0;gap:4px;opacity:0;position:absolute;right:50px;top:1px;transition:opacity .2s;z-index:3}.agent-row:hover .progress-icons,.progress-icons.has-watching{opacity:1}.progress-icons.has-watching .api-icon-link{display:none}.agent-row:hover .progress-icons.has-watching .api-icon-link{display:inline-flex}.properties-icon,.teamcity-icon,.xml-icon{color:#2196f3;cursor:pointer;font-size:14px}.notification-bell{font-size:14px}.build-name-link .build-name-no-progress{color:#2196f3;font-size:12px;font-weight:500;padding:2px 8px}.idle-status{color:var(--text-muted);font-size:12px;font-style:italic;padding:2px 8px}.build-queue-section{background:var(--bg-build-servers);border-radius:6px;box-shadow:0 2px 6px var(--shadow-color);margin-top:8px;padding:8px 12px}.build-queue-header h3{color:var(--text-primary);font-size:14px;font-weight:500;margin:0 0 8px}.build-queue-list{display:flex;flex-wrap:wrap;gap:6px}.queue-item{align-items:center;background:var(--bg-tertiary);border-radius:4px;display:flex;font-size:12px;gap:6px;padding:4px 8px}.queue-build-link{color:var(--accent-blue);text-decoration:none}.queue-build-link:hover{text-decoration:underline}.queue-build-name{font-weight:500}.queue-wait-reason{color:var(--text-muted);font-size:11px}.queue-item .notification-bell{flex-shrink:0;font-size:12px;opacity:0;transition:opacity .2s}.queue-item.has-watching .notification-bell.watching,.queue-item:hover .notification-bell{opacity:1}@media (max-width:1024px){.agents-list{grid-template-columns:1fr}}@media (max-width:768px){.agent-row{gap:8px;grid-template-columns:1fr}.agent-name{font-size:13px}}.dashboard{max-width:100%;overflow-x:hidden;padding:0}.dashboard-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:8px}.dashboard-header h2{color:var(--text-primary);font-size:18px;margin:0}.dashboard-actions{align-items:center;display:flex;gap:15px}.last-refresh{color:var(--text-secondary);font-size:14px}.refresh-button{background-color:#4caf50;border:none;color:#fff;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .3s}.refresh-button:hover:not(:disabled){background-color:#45a049}.refresh-button:disabled{background-color:#ccc}.error-message{background-color:#ffebee;border-left:4px solid #c62828;border-radius:4px;color:#c62828;margin-bottom:20px;padding:15px}.empty-state{color:var(--text-secondary);padding:60px 20px;text-align:center}.empty-state p{font-size:16px;margin:10px 0}.builds-grid{grid-gap:8px;align-content:start;box-sizing:border-box;display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr));max-width:100%;width:100%}.builds-grid.is-dragging{min-height:calc(100vh - 200px);padding-bottom:150px}.build-card{background:var(--bg-secondary);border-radius:6px;box-shadow:0 2px 6px var(--shadow-color);box-sizing:border-box;max-width:100%;min-width:0;overflow:hidden;padding:12px;position:relative;transition:transform .2s,box-shadow .2s,background-color .3s}.build-card:hover{box-shadow:0 4px 12px var(--shadow-heavy);transform:translateY(-2px)}.build-card.success{border-left:4px solid #4caf50}.build-card.queued{border-left:4px solid #ff9800}.build-card.running{border-left:4px solid #2196f3}.build-card.error,.build-card.failure{border-left:4px solid #f44336}.build-card.no-builds{border-left:4px solid #ff9800}.build-card-header{align-items:flex-start;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;margin-bottom:10px;max-width:100%;overflow:hidden;padding-bottom:10px}.build-card-header h3{color:var(--text-primary);font-size:16px;font-weight:400;margin:0 0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.project-name{display:none}.build-header-right{align-items:center;display:flex;gap:8px}.platform-icons{display:flex;gap:4px}.platform-icon-link{align-items:center;display:inline-flex;text-decoration:none}.platform-icon{cursor:pointer;font-size:16px}.platform-icon:hover{transform:scale(1.2);transition:transform .2s}.build-header-icons{display:flex;flex-shrink:0;gap:4px;opacity:0;transition:opacity .2s}.build-card-container:hover .build-header-icons,.build-card:hover .build-header-icons{opacity:1}.teamcity-icon{color:#2196f3;cursor:pointer;font-size:16px}.teamcity-icon:hover{transform:scale(1.2);transition:transform .2s}.notification-bell{background:none;border:none;cursor:pointer;font-size:16px;opacity:.5;padding:0;transition:opacity .2s,transform .2s}.notification-bell:hover{opacity:1;transform:scale(1.2)}.notification-bell.watching{opacity:1}.build-card:has(.notification-bell.watching) .build-header-icons{opacity:1}.remove-button{align-items:center;border-radius:4px;color:var(--text-muted);display:flex;font-size:20px;height:24px;justify-content:center;padding:0;transition:background-color .2s,color .2s;width:24px}.remove-button:hover{background-color:#ffebee;color:#c62828}.build-card-body{color:var(--text-secondary);max-width:100%;overflow:hidden}.build-info>div{align-items:baseline;display:flex;gap:10px;justify-content:space-between;margin-bottom:8px}.build-info .label{color:var(--text-secondary);flex:0 0 auto;font-size:13px;font-weight:500}.build-info .value{color:var(--text-primary);flex:1 1 auto;font-size:13px;text-align:right}.build-number .value{color:var(--text-primary);font-size:18px;font-weight:700}.build-status-content{align-items:baseline;display:flex;flex:1 1 auto;gap:8px;justify-content:flex-end}.build-status-content .build-datetime{margin-right:0}.build-status .value{color:#4caf50;font-weight:600;text-transform:uppercase}.build-datetime{color:var(--text-muted);font-size:11px;font-weight:400;margin-right:8px;white-space:nowrap}.build-status-text,.build-status-text .value{min-width:0;overflow:hidden}.build-status-text .value{font-style:italic;max-width:100%;text-align:right;text-overflow:ellipsis;white-space:nowrap}.build-progress{border-top:1px solid var(--border-light);margin-top:10px;padding-top:10px}.build-progress-bar{background-color:var(--progress-bar-bg);border-radius:4px;height:24px;overflow:hidden;position:relative;width:100%}.build-progress-fill{background:var(--progress-fill);border-radius:4px;height:100%;left:0;position:absolute;top:0;transition:width .3s ease;z-index:1}.build-progress-fill-failure{background:var(--progress-fill-failure)!important}.build-time-elapsed-overlay{bottom:0;color:var(--text-secondary);font-size:11px;left:8px}.build-progress-text,.build-time-elapsed-overlay{align-items:center;display:flex;font-weight:500;line-height:1;pointer-events:none;position:absolute;top:0;z-index:2}.build-progress-text{bottom:5px;color:var(--text-primary);font-size:12px;left:50%;transform:translateX(-50%);white-space:nowrap}.build-time-remaining-overlay{bottom:0;color:var(--text-secondary);font-size:11px;font-weight:500;line-height:1;pointer-events:none;right:8px;z-index:2}.build-progress-icons,.build-time-remaining-overlay{align-items:center;display:flex;position:absolute;top:0}.build-progress-icons{bottom:5px;flex-shrink:0;gap:4px;opacity:0;pointer-events:auto;right:50px;transition:opacity .2s;z-index:3}.build-progress-bar:hover .build-progress-icons,.build-progress-icons.has-watching{opacity:1}.build-progress-icons.has-watching .api-icon-link{display:none}.build-progress-bar:hover .build-progress-icons.has-watching .api-icon-link{display:inline-flex}.build-error,.no-builds{color:var(--text-secondary);font-style:italic;padding:20px;text-align:center}.build-error{background-color:#ffebee;border-radius:4px;color:#c62828}.status-success{color:#4caf50!important}.status-queued{color:#ff9800!important}.status-running{color:#2196f3!important}.status-error,.status-failure{color:#f44336!important}.status-unknown{color:#ff9800!important}.build-dependencies{align-items:flex-start!important;border-top:1px solid var(--border-light);display:block!important;flex-direction:column!important;margin-top:10px;padding-top:10px}.build-dependencies .label{color:var(--text-primary);display:block;font-size:13px;font-weight:600;margin-bottom:6px;width:100%}.dependencies-list{display:flex;flex-direction:column;gap:6px;width:100%}.dependency-item{align-items:center;display:flex;font-size:12px;justify-content:space-between;position:relative}.dependency-item:has(.dependency-content){background-color:var(--bg-dependencies);border-radius:3px;padding:6px 10px}.dependency-content{align-items:center;display:flex;flex:1 1;margin-right:10px;overflow:hidden}.dependency-name-link{color:inherit;flex:1 1;overflow:hidden;text-decoration:none}.dependency-name-link:hover{text-decoration:none}.dependency-name{color:var(--text-secondary);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dependency-icons{display:flex;flex-shrink:0;gap:4px;margin-left:6px;opacity:0;transition:opacity .2s}.dependency-item:hover .dependency-icons{opacity:1}.dependency-progress-bar{background-color:var(--progress-bar-bg);border-radius:3px;height:20px;overflow:hidden;position:relative;width:100%}.dependency-progress-fill{background:var(--progress-fill);border-radius:3px;height:100%;left:0;position:absolute;top:0;transition:width .3s ease;z-index:1}.dependency-progress-fill-failure{background:var(--progress-fill-failure)!important}.dependency-time-elapsed-overlay{bottom:0;color:var(--text-secondary);font-size:10px;font-weight:500;left:6px;line-height:1;pointer-events:none}.dependency-name-link-progress,.dependency-time-elapsed-overlay{align-items:center;display:flex;position:absolute;top:0;z-index:2}.dependency-name-link-progress{bottom:5px;color:inherit;left:50%;max-width:50%;text-decoration:none;transform:translateX(-50%)}.dependency-name-link-progress:hover{text-decoration:none}.dependency-name-progress{color:var(--text-primary);font-size:11px;font-weight:500;line-height:1;overflow:hidden;pointer-events:none;text-overflow:ellipsis;white-space:nowrap}.dependency-stage{font-weight:400;opacity:.8}.dependency-time-remaining-overlay{align-items:center;bottom:0;color:var(--text-secondary);display:flex;font-size:10px;font-weight:500;line-height:1;pointer-events:none;position:absolute;right:6px;top:0;z-index:2}.dependency-progress-icons{align-items:center;bottom:5px;display:flex;flex-shrink:0;gap:4px;opacity:0;position:absolute;right:50px;top:0;transition:opacity .2s;z-index:3}.dependency-item:hover .dependency-progress-icons,.dependency-progress-icons.has-watching{opacity:1}.dependency-progress-icons.has-watching .api-icon-link{display:none}.dependency-item:hover .dependency-progress-icons.has-watching .api-icon-link{display:inline-flex}.api-icon-link{align-items:center;display:inline-flex;justify-content:center;line-height:1;text-decoration:none}.build-progress-icons .teamcity-icon,.dependency-progress-icons .teamcity-icon,.properties-icon,.teamcity-icon,.xml-icon{align-items:center;color:#2196f3;cursor:pointer;display:inline-flex;font-size:14px;justify-content:center;line-height:1;vertical-align:middle}.properties-icon:hover,.teamcity-icon:hover,.xml-icon:hover{transform:scale(1.2);transition:transform .2s}.dependency-status{border-radius:3px;font-size:16px;font-weight:700;min-width:24px;padding:3px 8px;text-align:center;white-space:nowrap}.dependency-status.status-success{color:#2e7d32}.dependency-status.error,.dependency-status.status-failure{color:#c62828}.dependency-status.no-build{color:var(--text-muted)}.build-card-container{box-sizing:border-box;display:flex;flex-direction:column;gap:6px;max-width:100%;min-width:0}.in-progress-card{padding:10px 12px!important}.in-progress-card.queued{background-color:var(--bg-in-progress);border-left:4px solid #ff9800!important}.in-progress-card.running{background-color:var(--bg-in-progress);border-left:4px solid #2196f3!important}.in-progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.in-progress-label{font-size:12px;font-weight:600;text-transform:uppercase}.in-progress-card.queued .in-progress-label{color:#ff9800}.in-progress-card.running .in-progress-label{color:#2196f3}.in-progress-number{color:var(--text-primary);font-size:14px;font-weight:600}.in-progress-progress{margin-bottom:8px}@media (max-width:1600px){.builds-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1200px){.builds-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.builds-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.builds-grid{grid-template-columns:minmax(0,1fr)}.dashboard-header{align-items:flex-start;flex-direction:column}.dashboard-actions{justify-content:space-between;width:100%}}.build-card-container{transition:transform .2s ease,opacity .2s ease}.build-card-container:active{cursor:grabbing!important}.build-card-container:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.build-card:before{color:var(--text-muted);content:"⋮⋮";font-size:16px;left:8px;letter-spacing:2px;line-height:.8;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .2s ease}.build-card:hover:before{opacity:.5}.drag-source-ghost{filter:grayscale(100%);opacity:.4;pointer-events:none}.drag-preview{cursor:grabbing}.drag-preview-card{background:var(--bg-secondary);border-left:4px solid #3b4cca;border-radius:6px;box-shadow:0 8px 24px #00000040;padding:12px 16px;width:250px}.drag-preview-card h3{color:var(--text-primary);font-size:14px;font-weight:600;margin:0 0 4px}.drag-preview-card p{color:var(--text-secondary);font-size:12px;margin:0}.drop-ghost{animation:ghostAppear .15s ease-out}@keyframes ghostAppear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.drop-ghost-inner{align-items:center;background:#3b4cca14;border:2px dashed #3b4cca;border-radius:6px;box-sizing:border-box;display:flex;height:100%;justify-content:center;min-height:100px;padding:16px}.drop-ghost-inner h3{color:#3b4cca99;font-size:14px;font-weight:500;margin:0;text-align:center}.end-drop-zone{min-height:0;pointer-events:auto;position:relative}.is-dragging .end-drop-zone{min-height:120px}.end-drop-zone:not(.is-over){opacity:0}.end-drop-zone .drop-ghost{height:100%}.end-drop-zone.is-over .drop-ghost{animation:ghostAppear .15s ease-out}.login-container{align-items:center;display:flex;justify-content:center;min-height:60vh;padding:20px}.login-card{background:var(--bg-secondary);border-radius:12px;box-shadow:0 4px 20px var(--shadow-heavy);max-width:400px;padding:50px 40px;text-align:center;width:100%}.login-card h2{color:var(--text-primary);font-size:1.8rem;margin-bottom:10px;text-align:center}.login-subtitle{color:var(--text-secondary);font-size:.95rem;margin-bottom:30px;text-align:center}.login-error{background:#ff4757;border-radius:6px;color:#fff;font-size:.9rem;margin-bottom:20px;padding:12px;text-align:center}.google-button{background:#3b4cca;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px;transition:background .2s;width:100%}.google-button:hover:not(:disabled){background:#2c3aa3}.google-button:disabled{cursor:not-allowed;opacity:.6}.settings{padding:20px}.settings-header{align-items:center;display:flex;gap:20px;margin-bottom:20px}.settings-header h2{color:var(--text-primary);margin:0}.back-button{background:#666;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 16px;transition:background .2s}.back-button:hover{background:#555}.settings-error{background:#ff4757;border-radius:6px;color:#fff;margin-bottom:20px;padding:12px 16px}.settings-content{display:flex;gap:20px;min-height:calc(100vh - 200px)}.settings-sidebar{background:var(--bg-secondary);border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;overflow:hidden;padding:20px;width:300px}.saving-indicator{animation:slideIn .2s ease-out;background:#333;border-radius:6px;bottom:20px;box-shadow:0 2px 8px #0003;color:#fff;font-size:13px;font-weight:500;padding:10px 16px;position:fixed;right:20px;z-index:1000}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.sidebar-section{margin-bottom:20px}.section-title{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 10px}.settings-option{margin-bottom:8px;margin-left:8px}.settings-option:last-child{margin-bottom:0}.settings-toggle{align-items:center;cursor:pointer;display:flex;gap:10px}.settings-toggle input[type=checkbox]{accent-color:#3b4cca;cursor:pointer;height:14px;width:14px}.toggle-label{color:var(--text-primary);font-size:13px;font-weight:500}.settings-help{color:var(--text-secondary);font-size:11px;line-height:1.4;margin:4px 0 0 24px}.no-selection{color:var(--text-muted);font-size:14px;font-style:italic}.selected-list{flex:1 1;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0}.selected-list li{align-items:flex-start;background:var(--bg-secondary);border-bottom:1px solid var(--border-light);display:flex;padding:8px;position:relative}.selected-list li:last-child{border-bottom:none}.selected-list li.dragging{background:var(--bg-tertiary);opacity:.5}.drag-handle{color:var(--text-muted);cursor:grab;flex-shrink:0;font-size:14px;padding:2px 8px 2px 0;-webkit-user-select:none;user-select:none}.drag-handle:hover{color:var(--text-secondary)}.drag-handle:active{cursor:grabbing}.selected-list .build-text{display:flex;flex:1 1;flex-direction:column;min-width:0;padding-right:20px}.selected-list .build-name{color:var(--text-primary);font-size:13px;font-weight:500;line-height:1.3}.selected-list .build-name,.selected-list .project-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-list .project-name{color:var(--text-muted);font-size:11px;margin-top:1px}.remove-button{background:none;border:none;color:#ff4757;cursor:pointer;font-size:16px;line-height:1;padding:0 4px;position:absolute;right:4px;top:6px}.remove-button:hover{color:#ee1515}.settings-main{background:var(--bg-secondary);border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex:1 1;flex-direction:column;overflow:hidden;padding:20px}.search-box{margin-bottom:20px}.search-box input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box;color:var(--text-primary);font-size:16px;padding:12px 16px;width:100%}.search-box input:focus{border-color:#ee1515;outline:none}.build-list{flex:1 1;overflow-y:auto}.project-group{margin-bottom:20px}.project-header{background:var(--bg-tertiary);border-radius:4px;color:var(--text-secondary);font-size:14px;font-weight:600;margin:0 0 10px;padding:8px 12px}.project-group ul{list-style:none;margin:0;padding:0}.project-group li{align-items:center;border-radius:4px;cursor:pointer;display:flex;padding:10px 12px;transition:background .15s}.project-group li:hover{background:var(--bg-tertiary)}.project-group li.selected{background:#ee15151a}.project-group li.selected:hover{background:#ee151526}.checkbox{align-items:center;border:2px solid var(--border-color);border-radius:4px;color:#ee1515;display:flex;flex-shrink:0;font-size:14px;height:20px;justify-content:center;margin-right:12px;width:20px}.project-group li.selected .checkbox{background:#ee1515;border-color:#ee1515;color:#fff}.build-info{display:flex;flex-direction:column;min-width:0}.build-info .build-name{color:var(--text-primary);font-weight:500}.build-info .build-id,.build-info .build-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.build-info .build-id{color:var(--text-muted);font-size:12px}@media (max-width:768px){.settings-content{flex-direction:column}.settings-sidebar{max-height:300px;width:100%}}.admin-list{list-style:none;margin:0 0 10px;padding:0}.admin-item{align-items:center;display:flex;padding:4px 28px 4px 0;position:relative}.admin-email{font-size:13px;word-break:break-all}.admin-add-form{display:flex;gap:6px}.admin-add-form input[type=email]{background:#fff;background:var(--bg-primary,#fff);border:1px solid #ccc;border:1px solid var(--border-color,#ccc);border-radius:4px;color:#333;color:var(--text-primary,#333);flex:1 1;font-size:13px;padding:4px 8px}.add-admin-button{background:#e3350d;background:var(--accent-color,#e3350d);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:4px 10px}.add-admin-button:hover{opacity:.85}.health-container{padding:20px}.health-header{align-items:center;display:flex;gap:20px;margin-bottom:20px}.health-header h2{color:var(--text-primary);margin:0}.health-actions{margin-left:auto}.health-section{background:var(--bg-build-servers);border-radius:6px;box-shadow:0 2px 6px var(--shadow-color);padding:12px}.health-section h3{color:var(--text-primary);font-size:16px;margin:0 0 12px}.health-agents-list{grid-gap:8px 40px;display:grid;gap:8px 40px;grid-template-columns:repeat(3,1fr)}.health-agent-row{grid-gap:20px;align-items:start;border-bottom:1px solid var(--border-light);border-right:1px solid var(--border-color);display:grid;gap:20px;grid-template-columns:90px 1fr;padding:6px 30px 6px 0}.health-agent-row:nth-child(3n){border-right:none;padding-right:0}.health-agent-row.disconnected{opacity:.5}.health-agent-info{flex:1 1}.health-space-info{color:var(--text-muted);display:flex;font-size:11px;justify-content:space-between;margin-top:3px;padding:0 2px}.progress-fill-warning{background:linear-gradient(90deg,#f9a825,#fbc02d)!important}@media (max-width:1024px){.health-agents-list{grid-template-columns:1fr}}@media (max-width:768px){.health-agent-row{gap:8px;grid-template-columns:1fr}}.run-build{margin:0 auto;max-width:1000px;padding:20px}.run-build-header{align-items:center;display:flex;gap:20px;margin-bottom:24px}.run-build-header h2{color:var(--text-primary);margin:0}.run-build .back-button{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.run-build .back-button:hover{background:var(--bg-hover)}.run-build-error{background:#ffebee;border:1px solid #ef9a9a;border-radius:4px;color:#c62828}.run-build-error,.run-build-success{margin-bottom:16px;padding:12px 16px}.run-build-success{background:#e8f5e9;border:1px solid #a5d6a7;border-radius:4px;color:#2e7d32}.dark-mode .run-build-error{background:#4a1c1c;border-color:#c62828;color:#ef9a9a}.dark-mode .run-build-success{background:#1b3d1f;border-color:#2e7d32;color:#a5d6a7}.run-build-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:24px}.form-group{margin-bottom:20px}.form-group label{color:var(--text-primary);display:block;font-weight:500;margin-bottom:8px}.form-group input[type=text],.form-group select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;box-sizing:border-box;color:var(--text-primary);font-size:14px;padding:10px 12px;width:100%}.dark-mode .form-group input[type=text],.dark-mode .form-group select{background:var(--bg-secondary);color:#e0e0e0}.form-group input[type=text]:focus,.form-group select:focus{border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d933;outline:none}.form-group select optgroup{color:var(--text-secondary);font-weight:600}.form-group select option{font-weight:400;padding:4px 8px}.form-group select option:disabled{color:var(--text-muted)}.form-help{color:var(--text-secondary);font-size:12px;margin-bottom:0;margin-top:6px}.radio-group{display:flex;gap:24px}.radio-label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:8px}.radio-label input[type=radio]{cursor:pointer;margin:0}.loading{color:var(--text-secondary);padding:40px;text-align:center}.loading-inline{font-style:italic}.loading-inline,.no-shelved{color:var(--text-secondary);padding:10px 12px}.no-shelved,.refresh-button{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px}.refresh-button{color:var(--text-primary);cursor:pointer;font-size:12px;margin-top:8px;padding:6px 12px;transition:background-color .2s}.refresh-button:hover:not(:disabled){background:var(--bg-hover)}.refresh-button:disabled{cursor:not-allowed;opacity:.5}.notification-group{border-top:1px solid var(--border-color);margin-top:24px;padding-top:20px}.notification-toggle{font-weight:400;gap:12px}.bell-button,.notification-toggle{align-items:center;cursor:pointer;display:flex}.bell-button{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:50%;font-size:20px;height:40px;justify-content:center;transition:all .2s;width:40px}.bell-button:hover{background:var(--bg-hover)}.bell-button.active{background:#4a90d91a;border-color:#4a90d9}.form-actions{border-top:1px solid var(--border-color);display:flex;gap:12px;margin-top:24px;padding-top:20px}.submit-button{background:#4a90d9;border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;padding:12px 24px;transition:background-color .2s}.submit-button:hover:not(:disabled){background:#3a7bc8}.submit-button:disabled{background:#a0c4e8;cursor:not-allowed}.cancel-button{border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:16px;padding:12px 24px;transition:background-color .2s}.cancel-button:hover{background:var(--bg-hover)}.form-group select optgroup,.form-group select option{background:#fff;color:#333}.dark-mode .form-group select{background:var(--bg-secondary);color:var(--text-primary)}.dark-mode .form-group select option{background:#2d2d2d;color:#e0e0e0}.dark-mode .form-group select optgroup{background:#252525;color:#9e9e9e;font-weight:600}.run-build-tabs{border-bottom:1px solid var(--border-color);display:flex;gap:0;margin-bottom:20px}.run-build-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.run-build-tab:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.run-build-tab.active{border-bottom-color:#4a90d9;color:#4a90d9}.run-build-tab:disabled{cursor:not-allowed;opacity:.5}.parameters-tab{min-height:200px}.parameters-placeholder{color:var(--text-secondary);padding:40px 20px;text-align:center}.parameters-help{color:var(--text-secondary);font-size:13px;margin:0 0 16px}.parameters-list{display:flex;flex-direction:column;gap:16px}.parameter-item{align-items:center;border-left:3px solid #0000;border-radius:4px;gap:10px;padding:6px 10px}.param-head{align-items:center;display:flex;flex:0 0 38%;gap:8px;min-width:0}.param-name{color:var(--text-primary);flex:1 1;font-size:13px;font-weight:500;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.param-value{align-items:center;display:flex;flex:1 1;min-width:0}.param-value input[type=text]{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;box-sizing:border-box;color:var(--text-primary);font-size:14px;padding:8px 12px;width:100%}.dark-mode .param-value input[type=text]{background:var(--bg-secondary);color:#e0e0e0}.param-value input[type=text]:focus{border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d933;outline:none}.param-value input[type=text]::placeholder{color:var(--text-muted);font-style:italic}.dark-mode .param-value input[type=text]::placeholder{color:#888}.reset-btn{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:#4a90d9;cursor:pointer;flex-shrink:0;font-size:12px;padding:4px 10px}.reset-btn:hover{background:var(--bg-hover)}.dark-mode .reset-btn{background:var(--bg-secondary)}.parameter-item.modified{background:#4a90d91a;border-left-color:#4a90d9}.dark-mode .parameter-item.modified{background:#4a90d929}.param-value input[type=checkbox]{accent-color:#4a90d9;cursor:pointer;height:18px;width:18px}.form-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;margin-bottom:24px;padding:16px}.form-section .form-group{margin-bottom:12px}.form-section .form-group:last-child{margin-bottom:0}.form-section-header{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:14px;font-weight:600;margin-bottom:12px;padding-bottom:8px}.cl-combobox{position:relative}.cl-combobox input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;box-sizing:border-box;color:var(--text-primary);font-size:14px;padding:10px 12px;width:100%}.dark-mode .cl-combobox input{background:var(--bg-secondary);color:#e0e0e0}.cl-combobox input:focus{border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d933;outline:none}.cl-dropdown{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:0 0 4px 4px;border-top:none;box-shadow:0 4px 12px #00000026;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.dark-mode .cl-dropdown{background:var(--bg-secondary);box-shadow:0 4px 12px #0006}.cl-option{align-items:center;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;gap:12px;padding:8px 12px}.cl-option:last-child{border-bottom:none}.cl-option:hover{background:var(--bg-hover)}.cl-option.selected{background:#4a90d91a}.cl-desc{color:var(--text-primary);flex:1 1;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cl-user{color:var(--text-secondary)}.cl-number,.cl-user{flex-shrink:0;font-size:13px;white-space:nowrap}.cl-number{color:#4a90d9;font-weight:600}.cl-filecount{flex-shrink:0;min-width:52px;text-align:right;white-space:nowrap}.cl-description,.cl-filecount{color:var(--text-secondary);font-size:13px}.cl-description{background:var(--bg-hover);border-radius:4px;margin-top:8px;padding:8px 12px}.cl-description.loading{font-style:italic}.stream-filter-info{background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:12px;margin-top:8px;padding:6px 10px}.parameters-section{margin-bottom:20px}.parameters-section:last-child{margin-bottom:0}.parameters-section-header{border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:12px;font-weight:600;margin-bottom:12px;padding-bottom:6px;text-transform:uppercase}.parameter-item{align-items:flex-start;display:flex;gap:8px}.parameter-item .param-content{display:flex;flex:1 1;flex-direction:column;gap:6px}.favorite-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:22px;justify-content:center;line-height:1;opacity:0;padding:0;transition:opacity .15s,transform .2s;width:22px}.param-head:hover .favorite-btn{opacity:.7}.favorite-btn:hover{opacity:1;transform:scale(1.1)}.vm-list{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.vm-option{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:inherit;cursor:pointer;display:flex;gap:12px;padding:8px 12px;text-align:left}.vm-option:hover:not(:disabled){background:var(--bg-hover)}.vm-option.selected{background:#4a90d91f;border-color:#4a90d9}.vm-option:disabled{cursor:not-allowed;opacity:.55}.vm-option .vm-name{flex:1 1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vm-option .vm-status{color:var(--text-secondary);font-size:12px}.vm-option .vm-agent{font-size:12px;white-space:nowrap}.vm-option .vm-agent.ready{color:#2e7d32}.vm-option .vm-agent.unavailable{color:var(--text-muted)}.link-button{background:none;border:none;color:#4a90d9;cursor:pointer;font:inherit;padding:0;text-decoration:underline}.build-history{margin:0 auto;max-width:1000px;padding:20px}.build-history-header{align-items:center;display:flex;gap:20px;margin-bottom:24px}.build-history-header h2{color:var(--text-primary);margin:0}.build-history .back-button{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.build-history .back-button:hover{background:var(--bg-hover)}.build-history-error{background:#ffebee;border:1px solid #ef9a9a;border-radius:4px;color:#c62828;margin-bottom:16px;padding:12px 16px}.build-history-empty{color:var(--text-secondary);padding:48px 16px;text-align:center}.history-section{margin-bottom:28px}.history-section h3{color:var(--text-secondary);font-size:14px;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}.history-row{align-items:center;background:var(--bg-secondary);border-left:1px solid var(--border-color);border:1px solid var(--border-color);border-left-width:4px;border-radius:6px;display:flex;gap:16px;margin-bottom:8px;padding:10px 14px}.history-row.queued{border-left-color:#b08900}.history-row.running{border-left-color:#4a90d9}.history-row.success{border-left-color:#2e7d32}.history-row.failure{border-left-color:#c62828}.history-row-main{align-items:baseline;display:flex;flex:0 0 38%;gap:10px;min-width:0}.history-build-name{color:var(--text-primary);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-build-number{color:var(--text-muted);flex-shrink:0;font-size:13px}.history-status{background:var(--bg-hover);border-radius:10px;color:var(--text-secondary);flex-shrink:0;font-size:12px;padding:2px 8px}.history-status.success{color:#2e7d32}.history-status.failure{color:#c62828}.history-status.running{color:#4a90d9}.history-status.queued{color:#b08900}.history-row-meta{color:var(--text-secondary);display:flex;flex:1 1;flex-wrap:wrap;font-size:12px;gap:6px 12px;min-width:0}.history-row-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.history-row-actions .cancel-button,.history-row-actions .rerun-button{border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:13px;padding:5px 12px;transition:background-color .2s}.rerun-button{background:#4a90d9;border-color:#4a90d9;color:#fff}.rerun-button:hover{background:#3a7bc0}.cancel-button{background:var(--bg-primary);border-color:#ef9a9a;color:#c62828}.cancel-button:hover{background:#ffebee}.history-tc-link{font-size:15px;opacity:.7;text-decoration:none}.history-tc-link:hover{opacity:1}.dark-mode .build-history-error{background:#c628282e;border-color:#c6282866;color:#ef9a9a}.dark-mode .cancel-button:hover{background:#c628282e}.orka-dashboard{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0f172a;border-radius:.75rem;color:#e2e8f0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;min-height:70vh;padding:2rem}.orka-dashboard *,.orka-dashboard :after,.orka-dashboard :before{box-sizing:border-box}.orka-dashboard .header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.orka-dashboard .header h1{color:#fff;font-size:2rem;font-weight:700;margin-bottom:.5rem}.orka-dashboard .header p{color:#94a3b8;font-size:.95rem}.orka-dashboard .tabs{border-bottom:2px solid #1e293b;display:flex;gap:.5rem;margin-bottom:2rem;padding-bottom:0}.orka-dashboard .tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#94a3b8;cursor:pointer;font-size:.95rem;font-weight:500;margin-bottom:-2px;padding:.75rem 1.5rem;transition:all .2s}.orka-dashboard .tab:hover{color:#e2e8f0}.orka-dashboard .tab.active{border-bottom-color:#3b82f6;color:#3b82f6}.orka-dashboard .section{margin-bottom:2rem}.orka-dashboard .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.orka-dashboard .section-header h2{color:#fff;font-size:1.5rem;font-weight:600}.orka-dashboard .btn{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s}.orka-dashboard .btn-primary{background:#3b82f6;color:#fff}.orka-dashboard .btn-primary:hover{background:#2563eb}.orka-dashboard .btn-danger{background:#ef4444;color:#fff}.orka-dashboard .btn-danger:hover{background:#dc2626}.orka-dashboard .btn-secondary{background:#475569;color:#fff}.orka-dashboard .btn-secondary:hover{background:#334155}.orka-dashboard .card{background:#1e293b;border:1px solid #334155;border-radius:.75rem;margin-bottom:1rem;padding:1.5rem}.orka-dashboard .card-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.orka-dashboard .card-title{align-items:center;color:#fff;display:flex;font-size:1.125rem;font-weight:600;gap:.5rem;margin-bottom:1rem}.orka-dashboard .card-content{display:flex;flex-direction:column;gap:.75rem}.orka-dashboard .info-row{align-items:center;border-bottom:1px solid #334155;display:flex;justify-content:space-between;padding:.5rem 0}.orka-dashboard .info-row:last-child{border-bottom:none}.orka-dashboard .info-label{color:#94a3b8;font-size:.875rem;font-weight:500}.orka-dashboard .info-value{color:#e2e8f0;font-size:.875rem;font-weight:500;text-align:right}.orka-dashboard .badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.orka-dashboard .badge-success{background:#10b98133;color:#34d399}.orka-dashboard .badge-warning{background:#f59e0b33;color:#fbbf24}.orka-dashboard .badge-danger{background:#ef444433;color:#f87171}.orka-dashboard .badge-info{background:#3b82f633;color:#60a5fa}.orka-dashboard .modal-overlay{align-items:center;background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.orka-dashboard .modal{background:#1e293b;border:1px solid #334155;border-radius:.75rem;max-height:90vh;max-width:500px;overflow-y:auto;padding:2rem;width:100%}.orka-dashboard .modal-header{margin-bottom:1.5rem}.orka-dashboard .modal-header h3{color:#fff;font-size:1.5rem;font-weight:600}.orka-dashboard .modal-body{margin-bottom:1.5rem}.orka-dashboard .modal-footer{display:flex;gap:.75rem;justify-content:flex-end}.orka-dashboard .form-group{margin-bottom:1.25rem}.orka-dashboard .form-group label{color:#94a3b8;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.orka-dashboard .form-group input,.orka-dashboard .form-group select{background:#0f172a;border:1px solid #334155;border-radius:.5rem;color:#e2e8f0;font-size:.875rem;padding:.625rem .875rem;transition:border-color .2s;width:100%}.orka-dashboard .form-group input:focus,.orka-dashboard .form-group select:focus{border-color:#3b82f6;outline:none}.orka-dashboard .form-group input::placeholder{color:#475569}.orka-dashboard .orka-desc-input{background:#0f172a;border:1px solid #334155;border-radius:.4rem;color:#e2e8f0;flex:1 1;font-size:.8rem;margin-left:1rem;padding:.35rem .6rem}.orka-dashboard .orka-desc-input:focus{border-color:#3b82f6;outline:none}.orka-dashboard .checkbox-group{align-items:center;display:flex;gap:.5rem}.orka-dashboard .checkbox-group input[type=checkbox]{cursor:pointer;width:auto}.orka-dashboard .checkbox-group label{cursor:pointer;margin:0}.orka-dashboard .error{background:#7f1d1d;border:1px solid #991b1b;border-radius:.5rem;color:#fecaca;margin-bottom:1rem;padding:1rem}.orka-dashboard .loading{color:#94a3b8;padding:2rem;text-align:center}.orka-dashboard .empty-state{color:#94a3b8;padding:3rem 1rem;text-align:center}.orka-dashboard .empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.orka-dashboard .card-actions{border-top:1px solid #334155;display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem}.orka-dashboard .btn-small{font-size:.8rem;padding:.375rem .75rem}.orka-dashboard .vm-count{color:#3b82f6;font-weight:600}.orka-dashboard .port-info{display:flex;flex-wrap:wrap;gap:1rem}.orka-dashboard .port-item{display:flex;flex-direction:column;gap:.25rem}.orka-dashboard .port-item-label{color:#64748b;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.orka-dashboard .port-item-value{color:#e2e8f0;font-family:Courier New,monospace;font-weight:600}.orka-dashboard code{background:#0f172a;border-radius:.25rem;color:#94a3b8;font-family:Courier New,monospace;font-size:.85em;padding:.125rem .375rem}@keyframes orka-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.tf-dashboard{background:#0f172a;border-radius:.75rem;color:#e2e8f0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif;line-height:1.6;min-height:70vh;padding:2rem}.tf-dashboard *,.tf-dashboard :after,.tf-dashboard :before{box-sizing:border-box}.tf-header{margin-bottom:2rem}.tf-header h1{color:#f8fafc;font-size:1.875rem;font-weight:700;margin:0 0 .25rem}.tf-header p{color:#94a3b8;margin:0}.tf-error{background:#450a0a;border:1px solid #ef4444;border-radius:.5rem;color:#fca5a5;font-size:.875rem;margin-bottom:1rem;padding:.75rem 1rem}.tf-selectors{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem}.tf-field{display:flex;flex-direction:column;gap:.375rem;min-width:240px}.tf-field label{color:#94a3b8;font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.tf-field select{background:#1e293b;border:1px solid #334155;border-radius:.5rem;color:#e2e8f0;cursor:pointer;font-size:.9rem;outline:none;padding:.5rem .75rem}.tf-field select:focus{border-color:#3b82f6}.tf-field select:disabled{cursor:not-allowed;opacity:.5}.tf-builds{background:#1e293b;border-radius:.75rem;margin-bottom:1.5rem;padding:1.5rem}.tf-section-title{color:#f1f5f9;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.tf-build-num{color:#94a3b8;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8rem}.tf-status-badge{border-radius:9999px;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.04em;padding:.15rem .55rem;white-space:nowrap}.tf-status-ready{background:#14532d;color:#4ade80}.tf-status-processing{background:#1c1c3a;color:#818cf8}.tf-status-in-review{background:#1e3a5f;color:#93c5fd}.tf-status-waiting{background:#3b2900;color:#fbbf24}.tf-status-approved{background:#14532d;color:#4ade80}.tf-status-rejected{background:#450a0a;color:#f87171}.tf-testers{background:#1e293b;border-radius:.75rem;padding:1.5rem}.tf-testers-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.tf-testers-title{color:#f1f5f9;font-size:1.125rem;font-weight:600;margin:0}.tf-btn-add{background:#2563eb;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.4rem .9rem;transition:background .15s}.tf-btn-add:hover{background:#1d4ed8}.tf-add-form{background:#0f172a;margin-bottom:1.25rem;padding:1rem}.tf-add-form,.tf-user-search{border:1px solid #334155;border-radius:.5rem}.tf-user-search{background:#1e293b;box-sizing:border-box;color:#e2e8f0;font-size:.875rem;margin-bottom:.75rem;outline:none;padding:.5rem .75rem;width:100%}.tf-user-search:focus{border-color:#3b82f6}.tf-user-search::placeholder{color:#475569}.tf-user-list{border:1px solid #1e293b;border-radius:.375rem;margin-bottom:.75rem;max-height:280px;overflow-y:auto}.tf-user-item{align-items:center;border-bottom:1px solid #1e293b;cursor:pointer;display:flex;gap:.75rem;padding:.625rem .75rem;transition:background .1s}.tf-user-item:last-child{border-bottom:none}.tf-user-item:hover{background:#1e293b}.tf-user-item.selected{background:#172554}.tf-user-item input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;flex-shrink:0;height:1rem;width:1rem}.tf-user-info{display:flex;flex-direction:column;min-width:0}.tf-user-name{color:#e2e8f0;font-size:.875rem}.tf-user-email,.tf-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-user-email{color:#64748b;font-size:.75rem}.tf-form-actions{align-items:center;display:flex;gap:.75rem;margin-top:.25rem}.tf-muted-pad{margin:0;padding:.75rem}.tf-muted,.tf-muted-inline{color:#64748b;font-style:italic}.tf-muted{margin:0}.tf-table{border-collapse:collapse;font-size:.875rem;width:100%}.tf-table th{border-bottom:1px solid #334155;color:#94a3b8;font-size:.7rem;font-weight:500;letter-spacing:.06em;padding:.5rem .75rem;text-align:left;text-transform:uppercase}.tf-table td{border-bottom:1px solid #0f172a;color:#cbd5e1;padding:.625rem .75rem}.tf-table tr:last-child td{border-bottom:none}.tf-table tr:hover td{background:#162032}.tf-badge{border-radius:9999px;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.04em;padding:.125rem .5rem;text-transform:uppercase}.tf-badge.internal{background:#1e3a5f;color:#60a5fa}.tf-badge.external{background:#14532d;color:#4ade80}.tf-btn-remove{background:#0000;border:1px solid #ef4444;border-radius:.375rem;color:#ef4444;cursor:pointer;font-size:.75rem;padding:.25rem .625rem;transition:background .15s,color .15s}.tf-btn-remove:hover{background:#ef4444;color:#fff}.tf-form-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.tf-form-row input{background:#0f172a;border:1px solid #334155;border-radius:.5rem;color:#e2e8f0;font-size:.875rem;min-width:180px;outline:none;padding:.5rem .75rem}.tf-form-row input:focus{border-color:#3b82f6}.tf-form-row input::placeholder{color:#475569}.tf-form-row button{background:#2563eb;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1.25rem;transition:background .15s;white-space:nowrap}.tf-form-row button:hover:not(:disabled){background:#1d4ed8}.tf-form-row button:disabled{cursor:not-allowed;opacity:.5}
/*# sourceMappingURL=main.35f11123.css.map*/