.job-table-container {
  overflow-x: auto;
  background-color: var(--color-bg-secondary);
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
}

.job-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-family);
}

.job-table th,
.job-table td {
  padding: 0.75rem;
  text-align: left;
  border-bottom: 1px solid var(--color-bg-tertiary);
}

.job-table th {
  background-color: var(--color-bg-tertiary);
  color: var(--color-text-secondary);
  font-size: 0.85rem;
  cursor: pointer;
  user-select: none;
}

.job-table th:hover {
  background-color: #3a3a3c;
}

.sort-icon {
  margin-left: 0.5rem;
  font-size: 0.7rem;
}

.job-table tbody tr {
  transition: var(--transition);
}

.job-table tbody tr:hover {
  background-color: #2a2d2e;
}

.job-table tbody tr.selected {
  background-color: #3a3a3c;
}

.job-state-PD { color: var(--color-text-warning); }
.job-state-R { color: var(--color-accent-green); }
.job-state-CG { color: var(--color-accent-cyan); }
.job-state-NF { color: var(--color-text-error); }
.job-state-CD { color: var(--color-text-success); }

.progress-bar-container {
  width: 100%;
  background-color: var(--color-bg-tertiary);
  border-radius: var(--border-radius);
  overflow: hidden;
}

.progress-bar {
  height: 20px;
  border-radius: var(--border-radius);
  transition: width 0.5s ease;
}

.progress-bar-PD { background-color: var(--color-text-warning); width: 0%; }
.progress-bar-R { background-color: var(--color-accent-green); }
.progress-bar-CG { background-color: var(--color-accent-cyan); }
.progress-bar-NF { background-color: var(--color-text-error); }
.progress-bar-CD { background-color: var(--color-text-success); width: 100% !important; }

.cluster-status.OPERATIONAL .status-indicator { background-color: var(--color-text-success); }
.cluster-status.OPERATIONAL .status-text { color: var(--color-text-success); }

.cluster-status.FATAL_EXCEPTION .status-indicator { background-color: var(--color-text-error); animation: blink 1s infinite; }
.cluster-status.FATAL_EXCEPTION .status-text { color: var(--color-text-error); }

.cluster-status.DEGRADED .status-indicator { background-color: var(--color-text-warning); animation: blink 1s infinite; }
.cluster-status.DEGRADED .status-text { color: var(--color-text-warning); }

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}
