/* ═══════════════════════════════════════════════════
   Promo Tracker — Timeline Styles
   ═══════════════════════════════════════════════════ */

.timeline-wrapper {
    background: var(--bg-card);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    border: 1px solid var(--border-light);
    overflow: hidden;
    margin-bottom: 1.5rem;
}

.timeline-toolbar {
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid var(--border-light);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.timeline-toolbar h3 {
    font-size: 0.95rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.timeline-controls {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

#timeline-container {
    height: 350px;
    min-height: 250px;
}

/* vis-timeline overrides */
.vis-timeline {
    border: none !important;
    font-family: 'Inter', sans-serif !important;
}

.vis-panel.vis-left .vis-content {
    font-size: 0.78rem !important;
    font-weight: 600 !important;
}

.vis-item {
    border-radius: 6px !important;
    border-width: 0 !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    padding: 3px 8px !important;
    color: #fff !important;
}

.vis-item.vis-selected {
    box-shadow: 0 0 0 2px rgba(0,0,0,0.3) !important;
}

/* Campaign items */
.vis-item.timeline-campaign { background: var(--primary) !important; }
.vis-item.status-draft      { background: #9ca3af !important; }
.vis-item.status-active     { background: #059669 !important; }
.vis-item.status-paused     { background: #d97706 !important; }
.vis-item.status-completed  { background: #2563eb !important; }
.vis-item.status-archived   { background: #6b7280 !important; }

/* Channel items */
.vis-item.timeline-channel  { opacity: 0.85; }
.vis-item.channel-gads       { background: var(--color-gads) !important; }
.vis-item.channel-meta_fb    { background: var(--color-meta-fb) !important; }
.vis-item.channel-meta_insta { background: var(--color-meta-insta) !important; }
.vis-item.channel-meta_both  { background: var(--color-meta-both) !important; }
.vis-item.channel-custom     { background: var(--color-custom) !important; }

/* Group labels */
.vis-label {
    padding: 4px 10px !important;
    display: flex !important;
    align-items: center !important;
}

.vis-label .group-campaign {
    font-weight: 700 !important;
    font-size: 0.8rem;
}

/* Time axis */
.vis-time-axis .vis-text {
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    color: var(--text-secondary) !important;
}

.vis-time-axis .vis-grid.vis-minor {
    border-color: var(--border-light) !important;
}

.vis-time-axis .vis-grid.vis-major {
    border-color: var(--border) !important;
}

/* Current time marker */
.vis-current-time {
    background: var(--danger) !important;
    width: 2px !important;
}

/* Tooltip */
.vis-tooltip {
    padding: 0.6rem 0.8rem !important;
    background: #1a1a2e !important;
    color: #fff !important;
    border-radius: var(--radius-sm) !important;
    font-size: 0.78rem !important;
    line-height: 1.5 !important;
    box-shadow: var(--shadow-md) !important;
    border: none !important;
    white-space: pre-line !important;
    max-width: 300px;
}
