    #pm-timeline-modal .modal-dialog {
        max-width: 520px;
        width: 100%;
        margin: 1.75rem auto;
    }

    /* Timeline Progress Bar Styles */
    .pm-timeline-progressbar {
        position: absolute;
        left: 20px;
        top: 0;
        bottom: 0;
        width: 6px;
        background: #e5e7eb;
        border-radius: 3px;
        z-index: 1;
        height: 100%;
    }

    .pm-timeline-progress {
        position: absolute;
        left: 20px;
        width: 6px;
        background: var(--primary);
        border-radius: 3px;
        z-index: 2;
        transition: height 0.3s;
    }

    .pm-timeline-steps {
        list-style: none;
        margin: 0 0 0 60px;
        padding: 0;
        position: relative;
    }

    .pm-timeline-step {
        position: relative;
        margin-bottom: 36px;
        padding-left: 0;
        min-height: 48px;
    }

    .pm-timeline-step:last-child {
        margin-bottom: 0;
    }

    .pm-timeline-phase {
        font-weight: 600;
        font-size: 1.1em;
        margin-bottom: 2px;
    }

    .pm-timeline-meta {
        font-size: 0.95em;
        color: #555;
        margin-bottom: 2px;
    }

    .pm-timeline-comment {
        font-size: 0.95em;
        color: #b23c3c;
        background: #fff3f3;
        border-left: 3px solid #b23c3c;
        padding: 4px 10px;
        margin-top: 2px;
        border-radius: 3px;
    }

    .pm-timeline-step::before {
        content: '';
        position: absolute;
        left: -38px;
        top: 6px;
        width: 18px;
        height: 18px;
        border-radius: 50%;
        background: #e5e7eb;
        border: 2px solid #e5e7eb;
        z-index: 3;
        transition: background 0.3s, border 0.3s;
    }

    .pm-timeline-step.completed::before {
        background: var(--primary);
        border-color: var(--primary);
    }

    .pm-timeline-step.current::before {
        background: #fff;
        border-color: var(--primary);
        box-shadow: 0 0 0 3px #cce0ff;
    }

    .pm-timeline-step.upcoming::before {
        background: #e5e7eb;
        border-color: #e5e7eb;
    }

    .pm-timeline-step.rejected::before {
        background: #fff0f0;
        border-color: #b23c3c;
    }

    .pm-timeline-step.completed .pm-timeline-phase,
    .pm-timeline-step.completed .pm-timeline-meta {
        color: var(--primary);
    }

    .pm-timeline-step.current .pm-timeline-phase {
        color: var(--primary);
    }

    .pm-timeline-step.rejected .pm-timeline-phase,
    .pm-timeline-step.rejected .pm-timeline-meta {
        color: #b23c3c;
    }

    .pm-timeline-percent {
        margin: 18px 0 0 60px;
        font-weight: 500;
        color: var(--primary);
    }

    /* Responsive adjustments for timeline */
    @media (max-width: 600px) {
        .pm-timeline-steps {
            margin-left: 18px;
        }

        .pm-timeline-percent {
            margin-left: 18px;
        }

        .pm-timeline-progressbar,
        .pm-timeline-progress {
            left: 2px;
        }

        .pm-timeline-step {
            min-height: 24px;
            margin-bottom: 10px;
        }
    }
