:root {
  /* Base Colors */
  --dark-bg: #1a1a1a;
  --dark-surface: #2a2a2a;
  --dark-border: #404040;
  --dark-text: #e1e1e1;
  --dark-muted: #888;
  
  /* Accent Colors */
  --primary: #0d6efd;
  --success: #198754;
  --warning: #ffc107;
  --danger: #dc3545;
}

body {
  background-color: var(--dark-bg);
  color: var(--dark-text);
}

/* Components */
.card, .modal-content {
  background-color: var(--dark-surface);
  border-color: var(--dark-border);
}

.table-dark {
  background-color: var(--dark-surface);
}

.table-dark thead th {
  background-color: var(--dark-bg);
}

.form-control, .form-select {
  background-color: var(--dark-surface);
  border-color: var(--dark-border);
  color: var(--dark-text);
}

.form-control:focus {
  background-color: var(--dark-surface);
  border-color: var(--primary);
  color: var(--dark-text);
}

/* Status Colors */
.bg-active { background-color: var(--success) !important; }
.bg-suspended { background-color: var(--warning) !important; }
.bg-terminated { background-color: var(--danger) !important; }

.border-active { border-color: var(--success) !important; }
.border-suspended { border-color: var(--warning) !important; }
.border-terminated { border-color: var(--danger) !important; }

/* DataTables Dark */
.dataTables_wrapper {
  color: var(--dark-text);
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate {
  color: var(--dark-text) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
  color: var(--dark-text) !important;
  background-color: var(--dark-surface);
  border-color: var(--dark-border);
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background-color: var(--primary);
  border-color: var(--primary);
}