/* Custom scrollbar */
.custom-scrollbar::-webkit-scrollbar { width: 6px; }
.custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #2e3148; border-radius: 3px; }
.custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #3e4168; }

/* Pipeline SVG styles */
.pipeline-svg .stage-box {
    fill: #1e2030;
    stroke: #2e3148;
    stroke-width: 1.5;
}
.pipeline-svg .stage-box.current {
    fill: #312e81;
    stroke: #6366f1;
    stroke-width: 2;
}
.pipeline-svg .stage-name {
    fill: #9ca3af;
    font-size: 11px;
    font-family: system-ui, -apple-system, sans-serif;
    font-weight: 500;
}
.pipeline-svg .stage-name.current {
    fill: #e0e7ff;
    font-weight: 600;
}
.pipeline-svg .node-dot {
    fill: #2e3148;
    stroke: #4f46e5;
    stroke-width: 2;
}
.pipeline-svg .node-dot.current {
    fill: #6366f1;
    stroke: #818cf8;
    stroke-width: 2;
}
.pipeline-svg .duration-label {
    fill: #6b7280;
    font-size: 10px;
    font-family: system-ui, -apple-system, sans-serif;
}
.pipeline-svg .duration-label.backward {
    fill: #d97706;
}
.pipeline-svg .date-label {
    fill: #9ca3af;
    font-size: 10px;
    font-family: system-ui, -apple-system, sans-serif;
    text-anchor: middle;
}

/* Pipeline container */
.pipeline-container {
    overflow-x: auto;
    overflow-y: auto;
    max-height: 80vh;
}

/* Smooth transitions */
tr { transition: background-color 0.15s ease; }
