.lew-timeline { position: relative; margin: var(--lew-space-8) 0; padding-left: var(--lew-space-8); border-left: 3px solid var(--lew-color-border); }
.lew-timeline-item { position: relative; padding-bottom: var(--lew-space-8); }
.lew-timeline-item:last-child { padding-bottom: 0; }
.lew-timeline-marker { position: absolute; left: calc(-1 * var(--lew-space-8) - 9px); top: 4px; width: 18px; height: 18px; border-radius: 50%; background: var(--lew-color-border); border: 3px solid var(--lew-color-bg); box-shadow: 0 0 0 3px var(--lew-color-border); }
.lew-timeline-item.lew-status-completed .lew-timeline-marker { background: var(--lew-color-success); box-shadow: 0 0 0 3px var(--lew-color-success); }
.lew-timeline-item.lew-status-in-progress .lew-timeline-marker { background: var(--lew-color-warning); box-shadow: 0 0 0 3px var(--lew-color-warning); }
.lew-timeline-item.lew-status-upcoming .lew-timeline-marker { background: var(--lew-color-bg); }
.lew-timeline-date { font-size: 0.82rem; font-weight: 700; color: var(--lew-color-primary); text-transform: uppercase; letter-spacing: .04em; margin-bottom: 4px; }
.lew-timeline-title { margin-bottom: var(--lew-space-2); }
.lew-timeline-desc { color: var(--lew-color-text-muted); }
