body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa}.sidebar{min-height:100vh;background-color:#212529}.sidebar .nav-link{color:#fffc;padding:.75rem 1rem;border-radius:.25rem;margin:.25rem 0}.sidebar .nav-link:hover{color:#fff;background-color:#ffffff1a}.sidebar .nav-link.active{color:#fff;background-color:#0d6efd}.sidebar .nav-link i{margin-right:.5rem}.stat-card{transition:transform .2s}.stat-card:hover{transform:translateY(-2px)}.status-badge{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.5rem}.status-badge.running{background-color:#198754;animation:pulse 2s infinite}.status-badge.idle{background-color:#6c757d}.status-badge.error{background-color:#dc3545}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.severity-critical{color:#dc3545}.severity-major{color:#fd7e14}.severity-minor{color:#0dcaf0}.severity-info{color:#6c757d}.comment-card{border-left:4px solid #6c757d;margin-bottom:1rem}.comment-card.critical{border-left-color:#dc3545}.comment-card.major{border-left-color:#fd7e14}.comment-card.minor{border-left-color:#0dcaf0}.comment-card.info{border-left-color:#6c757d}.review-status{display:inline-flex;align-items:center}.review-status-icon{margin-right:.25rem}.table-hover tbody tr{cursor:pointer}.job-card{border-radius:.5rem}.job-card .card-header{border-radius:.5rem .5rem 0 0}.loading-spinner{display:flex;justify-content:center;align-items:center;min-height:200px}.empty-state{text-align:center;padding:3rem;color:#6c757d}.empty-state i{font-size:3rem;margin-bottom:1rem}
