.timeline-gantt {
  --timeline-grid: color-mix(in srgb, var(--border) 72%, transparent);
  --timeline-panel: var(--card);
  --timeline-panel-raised: color-mix(in srgb, var(--card) 86%, var(--foreground) 4%);
  --timeline-text: var(--foreground);
  --timeline-muted: var(--muted-foreground);
  --timeline-primary: var(--primary);
  --timeline-success: var(--success);
  --timeline-warning: var(--warning);
  --timeline-info: var(--color-sky-signal);
  min-height: 640px;
}

.timeline-gantt .gantt_container,
.timeline-gantt .gantt_layout_cell,
.timeline-gantt .gantt_grid,
.timeline-gantt .gantt_task {
  background: var(--timeline-panel);
  color: var(--timeline-text);
  font-family: var(--font-inter);
}

.timeline-gantt .gantt_grid_scale,
.timeline-gantt .gantt_task_scale,
.timeline-gantt .gantt_scale_cell,
.timeline-gantt .gantt_grid_head_cell {
  background: var(--timeline-panel-raised);
  border-color: var(--timeline-grid);
  color: var(--timeline-muted);
  font-size: 12px;
  font-weight: 600;
}

.timeline-gantt .gantt_row,
.timeline-gantt .gantt_task_row,
.timeline-gantt .gantt_cell {
  background: var(--timeline-panel);
  border-color: var(--timeline-grid);
  color: var(--timeline-text);
}

.timeline-gantt .gantt_row.odd,
.timeline-gantt .gantt_task_row.odd {
  background: color-mix(in srgb, var(--timeline-panel) 92%, var(--foreground) 3%);
}

.timeline-gantt .gantt_tree_content,
.timeline-gantt .gantt_cell {
  font-size: 13px;
}

.timeline-gantt .gantt_tree_icon {
  align-items: center;
  display: inline-flex;
  justify-content: center;
}

.timeline-gantt .gantt_tree_icon.gantt_open::before,
.timeline-gantt .gantt_tree_icon.gantt_close::before {
  border-color: var(--timeline-muted);
  border-style: solid;
  border-width: 0 1.5px 1.5px 0;
  content: "";
  display: block;
  height: 7px;
  width: 7px;
}

.timeline-gantt .gantt_tree_icon.gantt_close::before {
  transform: rotate(-45deg);
}

.timeline-gantt .gantt_tree_icon.gantt_open::before {
  transform: rotate(45deg) translate(-1px, -1px);
}

.timeline-gantt .gantt_task_line {
  background: var(--timeline-info);
  border-color: color-mix(in srgb, var(--timeline-info) 80%, black);
  border-radius: 6px;
}

.timeline-gantt .gantt_task_progress {
  background: color-mix(in srgb, var(--timeline-success) 55%, transparent);
}

.timeline-gantt .timeline-task-done {
  background: var(--timeline-success);
  border-color: color-mix(in srgb, var(--timeline-success) 72%, black);
}

.timeline-gantt .timeline-task-in_review {
  background: var(--timeline-primary);
  border-color: color-mix(in srgb, var(--timeline-primary) 72%, black);
}

.timeline-gantt .timeline-task-on_hold,
.timeline-gantt .timeline-task-backlog {
  background: var(--timeline-warning);
  border-color: color-mix(in srgb, var(--timeline-warning) 72%, black);
}

.timeline-gantt .gantt_project {
  background: color-mix(in srgb, var(--timeline-primary) 85%, var(--timeline-success) 15%);
  border-color: var(--timeline-primary);
}

.timeline-gantt .gantt_task_content {
  color: var(--primary-foreground);
  font-size: 12px;
  font-weight: 600;
}

.timeline-gantt .gantt_link_control,
.timeline-gantt .gantt_task_drag {
  display: none;
}

.timeline-gantt .gantt_tooltip {
  background: var(--popover);
  border: 1px solid var(--border);
  border-radius: var(--radius-cards);
  color: var(--popover-foreground);
  font-family: var(--font-inter);
  padding: 10px 12px;
}
