.progress-step {
    position: relative;
    padding: 1rem;
    border-left: 2px solid #dee2e6;
    margin-bottom: 0.5rem;
}

.progress-step.completed {
    border-left-color: #198754;
    background-color: #f8fff9;
}

.progress-step.active {
    border-left-color: #0d6efd;
    background-color: #f0f8ff;
}

.progress-step.failed {
    border-left-color: #dc3545;
    background-color: #fff5f5;
}

.progress-step::before {
    content: '';
    position: absolute;
    left: -6px;
    top: 1.5rem;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #dee2e6;
}

.progress-step.completed::before {
    background-color: #198754;
}

.progress-step.active::before {
    background-color: #0d6efd;
}

.progress-step.failed::before {
    background-color: #dc3545;
}

/* Inline styles converted to CSS classes */
.progress-fit-score {
    width: 80px;
    height: 8px;
}

.progress-fit-score .progress-bar {
    width: var(--fit-score, 0%);
}

.icon-large {
    font-size: 3rem;
}