.status-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.status-badge.success{background-color:#3fb95026;color:var(--color-success)}.status-badge.failure{background-color:#f8514926;color:var(--color-error)}.status-badge.in-progress{background-color:#d2992226;color:var(--color-warning);animation:pulse 2s ease-in-out infinite}.status-badge.queued{background-color:#8b949e26;color:var(--color-queued)}.status-badge.cancelled,.status-badge.skipped,.status-badge.neutral{background-color:#8b949e26;color:var(--color-text-secondary)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.workflow-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.workflow-card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);cursor:pointer;transition:border-color .2s,transform .2s}.workflow-card:hover{border-color:var(--color-primary);transform:translateY(-2px)}.workflow-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.workflow-card h3{font-size:1.1rem;font-weight:600;margin:0;flex:1}.workflow-path{color:var(--color-text-secondary);font-size:.85rem;margin:var(--spacing-sm) 0;font-family:Courier New,monospace}.workflow-badge{margin-top:var(--spacing-md);height:20px}.repo-input{display:flex;align-items:center;gap:var(--spacing-sm);background-color:var(--color-bg-secondary);padding:var(--spacing-sm);border-radius:var(--radius-md);border:1px solid var(--color-border)}.repo-input .input{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text);font-size:.9rem;outline:none;transition:border-color .2s}.repo-input .input:focus{border-color:var(--color-primary)}.repo-input .input::placeholder{color:var(--color-text-secondary)}.repo-input .separator{color:var(--color-text-secondary);font-weight:600}.button-primary{background-color:var(--color-primary);color:var(--color-bg);border:none;border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:.9rem;font-weight:500;cursor:pointer;transition:opacity .2s}.button-primary:hover{opacity:.9}.button-primary:active{opacity:.8}.dashboard{display:flex;flex-direction:column;gap:var(--spacing-xl)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-lg)}.dashboard-header h2{font-size:1.5rem;font-weight:600}.dashboard-content{min-height:400px}.empty-state{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--color-text-secondary);font-size:1.1rem}.loading{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--color-text-secondary)}.error{padding:var(--spacing-lg);background-color:#f851491a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error)}.error small{display:block;margin-top:var(--spacing-sm);opacity:.8}.log-viewer{margin-top:var(--spacing-lg);border-top:1px solid var(--color-border);padding-top:var(--spacing-md)}.log-toggle{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text);cursor:pointer;font-size:.9rem;transition:border-color .2s}.log-toggle:hover{border-color:var(--color-primary)}.log-content{margin-top:var(--spacing-md)}.log-loading,.log-error,.log-empty{padding:var(--spacing-lg);text-align:center;color:var(--color-text-secondary)}.log-controls{margin-bottom:var(--spacing-md)}.log-search{width:100%;max-width:400px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text);font-size:.9rem;outline:none}.log-search:focus{border-color:var(--color-primary)}.log-file{margin-bottom:var(--spacing-lg)}.log-file-name{background-color:var(--color-bg-secondary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm) var(--radius-sm) 0 0;font-family:Courier New,monospace;font-size:.85rem;color:var(--color-text-secondary);border:1px solid var(--color-border);border-bottom:none}.log-text{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:0 0 var(--radius-sm) var(--radius-sm);padding:var(--spacing-md);overflow-x:auto;font-family:Courier New,monospace;font-size:.8rem;line-height:1.4;color:var(--color-text);margin:0;max-height:500px;overflow-y:auto}.log-text::-webkit-scrollbar{width:8px;height:8px}.log-text::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.log-text::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.log-text::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.run-details{padding:var(--spacing-lg);border-top:1px solid var(--color-border);background-color:var(--color-bg)}.run-details h4{margin:0 0 var(--spacing-md) 0;font-size:1rem;font-weight:600}.run-details-loading,.run-details-error{padding:var(--spacing-lg);text-align:center;color:var(--color-text-secondary)}.jobs-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.job-item{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.job-summary{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background-color:var(--color-bg-secondary);cursor:pointer;transition:background-color .2s}.job-summary:hover{background-color:#58a6ff0d}.job-info{display:flex;align-items:center;gap:var(--spacing-md)}.job-name{font-weight:500}.job-meta{display:flex;align-items:center;gap:var(--spacing-md);color:var(--color-text-secondary);font-size:.85rem}.job-steps{padding:var(--spacing-md);background-color:var(--color-bg)}.step-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;font-size:.9rem}.step-name{flex:1}.step-duration{color:var(--color-text-secondary);font-size:.8rem}.run-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.run-item{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.run-summary{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);cursor:pointer;transition:background-color .2s}.run-summary:hover{background-color:#58a6ff0d}.run-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm)}.run-title{display:flex;align-items:center;gap:var(--spacing-md)}.run-name{font-weight:600;font-size:1rem}.run-meta{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);font-size:.85rem}.run-trigger{display:flex;align-items:center;gap:var(--spacing-md)}.trigger-event{padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-bg);border-radius:var(--radius-sm);font-size:.8rem;color:var(--color-text-secondary)}.expand-icon{color:var(--color-text-secondary);font-size:.8rem}.run-actions{display:flex;gap:var(--spacing-sm);margin-right:var(--spacing-md)}.rerun-button{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);color:var(--color-text);font-size:.8rem;cursor:pointer;transition:all .2s;white-space:nowrap}.rerun-button:hover:not(:disabled){border-color:var(--color-primary);background-color:#58a6ff1a}.rerun-button:disabled{opacity:.5;cursor:not-allowed}.rerun-button.rerun-failed{border-color:var(--color-warning)}.rerun-button.rerun-failed:hover:not(:disabled){border-color:var(--color-warning);background-color:#d299221a}.workflow-details{display:flex;flex-direction:column;gap:var(--spacing-xl)}.workflow-header{display:flex;align-items:center;gap:var(--spacing-lg)}.back-button,.refresh-button{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text);cursor:pointer;transition:all .2s;font-size:.9rem;white-space:nowrap}.back-button:hover,.refresh-button:hover:not(:disabled){border-color:var(--color-primary);background-color:#58a6ff1a}.refresh-button{margin-left:auto}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.workflow-info{flex:1}.workflow-info h2{font-size:1.5rem;font-weight:600;margin:0}.repo-path{color:var(--color-text-secondary);font-size:.9rem;margin-top:var(--spacing-xs)}.workflow-content{min-height:400px}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);padding:var(--spacing-lg) var(--spacing-xl)}.app-header h1{font-size:1.5rem;font-weight:600;color:var(--color-text)}.app-main{flex:1;padding:var(--spacing-xl);max-width:1400px;width:100%;margin:0 auto}*{margin:0;padding:0;box-sizing:border-box}:root{--color-bg: #0d1117;--color-bg-secondary: #161b22;--color-border: #30363d;--color-text: #c9d1d9;--color-text-secondary: #8b949e;--color-primary: #58a6ff;--color-success: #3fb950;--color-warning: #d29922;--color-error: #f85149;--color-queued: #8b949e;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;background-color:var(--color-bg);color:var(--color-text);line-height:1.5}#root{min-height:100vh}
