/* Gantt Timeline for Batch Scheduling */
.gantt-container {
  position: relative;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 32px 12px 12px;
  overflow-x: auto;
  min-height: 80px;
}
.gantt-time-axis {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 28px;
  border-bottom: 1px solid var(--border);
  font-size: 10px;
  color: var(--text-muted);
}
.gantt-time-axis span {
  position: absolute;
  top: 6px;
  transform: translateX(-50%);
  white-space: nowrap;
}
.gantt-now-marker {
  position: absolute;
  top: 28px; bottom: 0;
  width: 2px;
  background: var(--state-stopped);
  opacity: 0.7;
  z-index: 2;
}
.gantt-row {
  display: flex;
  align-items: center;
  min-height: 32px;
  border-bottom: 1px solid var(--border);
}
.gantt-row:last-child { border-bottom: none; }
.gantt-row-label {
  width: 120px;
  min-width: 120px;
  font-size: 11px;
  color: var(--text-muted);
  padding: 0 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gantt-row-bars {
  flex: 1;
  position: relative;
  height: 24px;
}
.gantt-bar {
  position: absolute;
  top: 2px;
  height: 20px;
  border-radius: 3px;
  opacity: 0.85;
  display: flex;
  align-items: center;
  overflow: hidden;
  cursor: default;
  min-width: 2px;
}
.gantt-bar span {
  font-size: 10px;
  color: var(--text-on-accent);
  padding: 0 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.gantt-bar:hover {
  opacity: 1;
  box-shadow: 0 0 4px var(--active-bg);
}
