/* Shared timeline styling (vehicle-schedules + dashboard) */

[data-theme] .schedule-timeline {
    padding: 0.5rem 0;
}

/* Base timeline bar */

[data-theme] .timeline-bar,
[data-theme] .timeline-lane {
    position: relative;
    height: 24px;
    background: var(--timeline-bar-bg-color, var(--surface-alt));
    border: 1px solid var(--timeline-bar-border, var(--border));
    border-radius: var(--radius-lg);
    overflow: hidden;
}

/* Timeline segments */

[data-theme] .timeline-block,
[data-theme] .segment {
    position: absolute;
    top: 0;
    height: 100%;
}

[data-theme] .timeline-block-past {
    background: var(--timeline-past-color, var(--text-secondary));
    opacity: 0.78;
}

[data-theme] .timeline-block-ongoing {
    background: var(--timeline-ongoing-color, var(--success));
}

[data-theme] .timeline-block-future {
    background: var(--timeline-future-color, var(--info));
}

[data-theme] .timeline-block-previous-day {
    background: var(--timeline-past-color, var(--text-secondary));
    opacity: 0.68;
}

/* Dashboard segments reuse same theme tokens */

[data-theme] .schedule-segment {
    background: var(--info);
}

[data-theme] .heating-segment {
    background: var(--success);
}

/* Current time indicator */

[data-theme] .timeline-now {
    position: absolute;
    top: -1px;
    bottom: -1px;
    width: 2px;
    background: var(--danger);
    box-shadow: 0 0 8px color-mix(in srgb, var(--danger) 70%, transparent);
    z-index: 10;
}

/* Empty timeline */

[data-theme] .timeline-empty {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: var(--timeline-empty-color, var(--text-secondary));
    font-size: var(--text-xs);
    font-style: italic;
    white-space: nowrap;
}

/* Time labels */

[data-theme] .timeline-labels {
    display: flex;
    justify-content: space-between;
    padding: 0 2px;
    font-size: var(--text-2xs);
    color: var(--timeline-labels-color, var(--text-secondary));
}
