.timeline {
        position: relative;
        padding-left: 2rem;
    }

    .timeline::before {
        content: '';
        position: absolute;
        left: 0.5rem;
        top: 0;
        bottom: 0;
        width: 2px;
        background: #e9ecef;
    }

    .timeline-item {
        position: relative;
        margin-bottom: 1.5rem;
    }

    .timeline-marker {
        position: absolute;
        left: -1.75rem;
        top: 0.25rem;
        width: 0.75rem;
        height: 0.75rem;
        border-radius: 50%;
        border: 2px solid #fff;
        box-shadow: 0 0 0 2px #e9ecef;
    }

    .timeline-content {
        padding-left: 0.5rem;
    }

    .avatar {
        width: 3rem;
        height: 3rem;
        border-radius: 0.5rem;
        background-size: cover;
        background-position: center;
    }

    .avatar-lg {
        width: 4rem;
        height: 4rem;
    }

    .avatar-sm {
        width: 2rem;
        height: 2rem;
    }

    @media (max-width: 768px) {
        .timeline {
            padding-left: 1.5rem;
        }

        .timeline-marker {
            left: -1.25rem;
            width: 0.5rem;
            height: 0.5rem;
        }

        .avatar-lg {
            width: 3rem;
            height: 3rem;
        }
    }